😈 An end-to-end encrypted chat system based on the OTR protocol
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea First commit Mar 23, 2018
client Initial commit Mar 23, 2018
core Initial commit Mar 23, 2018
img
server
Makefile
README-CN.md First commit Mar 23, 2018
README.md

README.md

OTR-CHAT

An end-to-end encrypted chat system based on the OTR protocol.

简体中文

Language

  • Golang golang

Features

  • UDP protocol
  • Communication with Json format between C & S
  • Local configuration with Json format
  • end-to-end encryption based on OTR protocol

OTR protocol

Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bits group size, and the SHA-1 hash function. In addition to authentication and encryption, OTR provides forward secrecy and malleable encryption.

For more information, please visit my blog

Snapshots

Client

The client configuration file located at ~\chat-config.json.

Sample

{
	"listen": ":52915",
	"remote": "127.0.0.1",
}

The user should set his ID and nickname when running the client.

./client

Server

The client configuration file located at~\chat-config.json.

Sample

{
	"listen": ":52915",
	"remote": "", //can be empty
}

./server