Need help with deadchat?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

206 Stars 19 Forks BSD 3-Clause "New" or "Revised" License 43 Commits 0 Opened issues


group chat with end-to-end encryption

Services available


Need anything else?

Contributors list

# 398,262
42 commits



deadchat is a cryptographically secure single-room group chat server and client designed to enable a group of trusted friends to communicate with each other over an insecure channel without fear of eavesdropping.

deadchat features end-to-end encryption where messages are encrypted and decrypted at the end points such that the server and malicious machines on the network cannot eavesdrop on the conversation.

It is assumed that a member of the trusted group will operate the server.


This work represents an endeavor to implement the functionality outlined above. It is still a work in progress and is not recommended for use unless you intend to help make improvements.


Run server.go on a server and connect to it with The client supports the following commands:

/quit                   Exit program
/connect    Connect to server
/disconnect             Disconnect from server
/who                    List users in room

/createid Create identity and associated keys /idexch Exchange id keys

/genroomkey Generate a secret key for the room /reqroomkey Request the secret key from the room /sendroomkey Send secret key for the room

/msg Send private message


  • Enable validation of TLSv1 cert by client
  • User authentication
  • Disallow unicode usernames
  • Implement client in Go
  • Encrypt deadchat.cfg file


  • deadchat is meant to run in a terminal (think IRC)
  • Client to server communication is encrypted using TLSv1
  • Authenticated encryption between clients is provided by libsodium
  • Public key cryptography is used for private messaging and room secret key exchange
  • Group chat is encrypted using secret key cryptography
  • Keys are stored in deadchat.cfg

Client dependencies

Server dependencies

  • go.crypto.nacl
go get
go install
go install

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.