E2E encrypted chat (X3DH + Double Ratchet, Signal Protocol). Server: asyncio TCP + TLS, MySQL. Clients: PyQt6 GUI + CLI. Secrets (.env, TLS keys, Cloudflare token), runtime data and mobile clients (separate repos) are gitignored. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
29 lines
955 B
Bash
Executable File
29 lines
955 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Deploy hook — spustí se automaticky po úspěšném renew certifikátu
|
|
# Certbot volá tento skript s RENEWED_LINEAGE a RENEWED_DOMAINS env vars
|
|
#
|
|
# Restartuje chat server aby načetl nový certifikát.
|
|
# Přizpůsob podle toho jak server spouštíš (systemd / screen / přímý proces).
|
|
|
|
set -euo pipefail
|
|
|
|
echo "Certifikát obnoven pro: ${RENEWED_DOMAINS:-unknown}"
|
|
|
|
# Varianta 1: Systemd service
|
|
if systemctl is-active --quiet encrypted-chat 2>/dev/null; then
|
|
systemctl restart encrypted-chat
|
|
echo "Server restartován (systemd)."
|
|
exit 0
|
|
fi
|
|
|
|
# Varianta 2: Poslat SIGINT procesu (graceful shutdown + ruční restart)
|
|
PID=$(pgrep -f "python.*server.py" || true)
|
|
if [ -n "$PID" ]; then
|
|
echo "Posílám SIGINT procesu $PID (server.py)"
|
|
kill -INT "$PID"
|
|
echo "Server zastaven. Spusť ho znovu ručně nebo přes systemd."
|
|
exit 0
|
|
fi
|
|
|
|
echo "VAROVÁNÍ: Server proces nenalezen. Restartuj server ručně."
|