Cover image of CMD Chat – Ephemeral, encrypted console chat photo
Aland Baban
Full Stack Developer
October 26, 20255 min

CMD Chat – Ephemeral, encrypted console chat

CMD Chat ist eine schlanke, sichere Konsolen-Chat-Anwendung, die Gespräche nur im Arbeitsspeicher führt und keine persistente Speicherung von Nachrichten vorsieht. Die Anwendung richtet sich an Nutzer, die kurzfristig vertraulich kommunizieren möchten — mit Token-basiertem Zugang, TLS-Unterstützung und per-Client Sitzungsverschlüsselung. Die Anwendung erzeugt pro Client ein RSA-2048 Schlüsselpaar und tauscht mittels dieses Handshakes pro Client eine symmetrische AES-GCM Sitzungsverschlüsselung aus. Nachrichten werden nur im RAM gehalten; standardmäßig erfolgt keine Protokollierung oder Persistenz.
  • Python – Server- und Client-Implementierung
  • AES-GCM / RSA-2048 – Session-Key Management und Nachrichtenschutz
  • Docker / docker-compose – Containerisierte Deployments
  • systemd – Optionale Produktions-Installation als Service
  • Mehrere Räume mit /join
  • Token-basierte Authentifizierung (env: CMDCHAT_TOKENS)
  • TLS-Unterstützung für Transportverschlüsselung (WSS/HTTPS optional)
  • File-Transfer (chunked, bis zu 10MB)
  • Verschiedene Renderer: rich, minimal, json
  • Lokales, optional verschlüsseltes History-File (client-seitig)
  • Rate Limiting, Heartbeat & Reconnect-Mechanismen
Bash
git clone https://github.com/amariwan/cmd-chat.git
cd cmd-chat
python -m venv .venv
source .venv/bin/activate
pip install -e .

# Server starten
cmdchat-server

# Client verbinden
cmdchat-client --name alice
Bash
docker build -t cmdchat .
docker run -d --name cmdchat-server -p 5050:5050 -e CMDCHAT_TOKENS="your-secret-token" cmdchat
Eine systemd-Unit ist im Repo enthalten (cmdchat-server.service) für einfache Produktionsinstallation.
  • Server kann Nachrichten im RAM lesen — nicht peer-to-peer E2EE.
  • Immer TLS in Produktion verwenden.
  • Tokens mit ausreichend starker Entropie generieren (openssl rand -hex 32).
  • Dateiübertragungen auf 10MB begrenzt.
cmd-chat/
├── cmdchat/
│   ├── server.py
│   ├── client.py
│   ├── crypto.py
│   └── protocol.py
├── Dockerfile
├── docker-compose.yml
├── SYSTEMD_INSTALL.md
└── README.md
  • Ephemere interne Kommunikation in vertrauenswürdigen Netzwerken
  • Schnelle, sichere Abstimmungen ohne Persistenz
  • Debugging und kurzfristige Dateiübertragung in kontrollierten Umgebungen
👉 Zum Repository