Text, in a terminal
A chat that lives where you already work. No images, no link previews, no formatting: less to leak, less to exploit.
not audited · experimental
Private messages, right in your terminal.
End-to-end encrypted, text only, no accounts. You are a key pair and a nickname you choose; the server only ever sees ciphertext.
contacts
! alice·36335
● bob2
? carol·58121
+ add≡ menu
alice·36335 ! not verified (Ctrl+F)
alice·36335 2m
did the invite work?
you now
yes, comparing safety numbers now ✓
› see you at 8
● online via Tor you^P menu ? keys ^K lock
A chat that lives where you already work. No images, no link previews, no formatting: less to leak, less to exploit.
No phone number, email or name. Your identity is a key pair made on your device, plus a nickname only your contacts see.
The relay passes along envelopes it cannot open. Seizing it gives ciphertext and public keys, nothing more.
Olm from vodozemac: an X3DH-style handshake and the Double Ratchet, the design behind Signal and Matrix.
One switch hides your IP address from the relay and your provider. No separate Tor install.
Messages wait on the relay, encrypted, for up to 14 days until your contact comes online.
From 5 minutes to a week, per chat. Or keep a chat in memory only, never on disk.
A second password that silently erases everything and shows a fresh install.
Keys leave memory after 5 idle minutes, or at once with Ctrl+K.
Compare 60 digits with a friend once and rule out anyone in the middle.
Strangers wait until you accept. Block, reject or report to the relay operator.
Click, scroll, right-click for actions. 18 colour themes, light and dark.
One small binary with SQLite. Run it on any server, with an onion address if you like.
The goal is not “impossible to break” but “breaking the server is pointless”.
Send your invite, a line starting with termchat:, by any channel. It holds only public keys.
Compare the safety number in person or by phone. Same digits: nobody is in the middle.
Messages travel encrypted through the relay, with a new key for every message.
With Homebrew
brew install prophecy1345/tap/termchatOr with one command
curl -fsSL https://raw.githubusercontent.com/prophecy1345/termchat/main/scripts/install.sh | shIn PowerShell
irm https://raw.githubusercontent.com/prophecy1345/termchat/main/scripts/install.ps1 | iexOr download the .zip, open it and double-click termchat.exe.
Download the archive for your system from the releases page, check it against SHA256SUMS and run termchat.
Then type termchat. The setup screen is already filled in with the public relay.
The relay is one binary next to termchat in every release: SQLite, rate limits, an optional onion address. Your friends use your server; nobody else needs to know.