KORDAR
написатьwrite

001LIVE 02.2026

Ghost Chat

Zero-trace P2P мессенджер с зашифрованными звонками

Zero-trace P2P messenger with encrypted voice calls

Сообщения живут только в оперативной памяти. Сервер нужен ровно на одно рукопожатие — дальше его можно выключить, и переписка не заметит.

Messages live in RAM and nowhere else. The server is needed for exactly one handshake — shut it down after that and the conversation does not notice.

ghostchat.one

задачаproblem

WhatsApp, Telegram, Signal шифруют содержимое и хранят всё остальное: кто, кому, когда, как часто, с какого адреса. Метаданных достаточно, чтобы восстановить картину без единого прочитанного сообщения.

WhatsApp, Telegram and Signal encrypt the contents and keep everything else: who, to whom, when, how often, from which address. Metadata alone rebuilds the picture without a single message being read.

решениеapproach

Мессенджер без базы данных, без логов и без номера телефона. Прямое P2P-соединение через WebRTC, ключи меняются по ECDH прямо в браузере, сигнальный сервер видит только зашифрованный обмен рукопожатия и ничего не запоминает.

A messenger with no database, no logs and no phone number. A direct WebRTC peer connection, keys agreed over ECDH in the browser itself, and a signalling server that sees only the handshake and remembers none of it.

стекstack

  • Node.js
  • WebRTC
  • AES-256-GCM
  • ECDH P-256
  • Docker
  • Nginx
  • coturn

что умеетwhat it does

  • E2E-шифрование: ECDH P-256 → HKDF → AES-256-GCMEnd-to-end encryption: ECDH P-256 → HKDF → AES-256-GCM
  • Зашифрованные голосовые звонки поверх DTLS-SRTPEncrypted voice calls over DTLS-SRTP
  • Perfect Forward Secrecy — ротация ключей каждые 50 сообщенийPerfect forward secrecy — key rotation every 50 messages
  • Одноразовые инвайт-ссылкиOne-time invite links
  • Privacy Mode — весь трафик через TURN, IP не виден собеседникуPrivacy mode — all traffic through TURN, the peer never sees your IP
  • Монитор безопасности: смена вкладки, захват экрана, новое аудиоустройствоSecurity monitor: tab switches, screen capture, new audio devices
  • Автоудаление сообщений через 5 минутMessages auto-delete after 5 minutes

архитектураarchitecture

Server (Node.js + ws)   →  WebSocket signalling only
Client                  →  ECDH key exchange → AES-256-GCM
WebRTC DataChannel      →  P2P encrypted messaging
WebRTC Audio            →  DTLS-SRTP encrypted voice
coturn                  →  TURN/STUN relay for NAT traversal