Skip to content

A command-line chat with encryption implemented in Haskell.

Notifications You must be signed in to change notification settings

erokhinav/secret-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

secret-chat

A command-line p2p chat with encryption implemented in Haskell.

Before start chatting, a client firstly connects to a server, which only listens to users' connections and shows who is currently online. The chat supports group symmetric ecnryption, the key exchange algorithm is described here. Additionally, it supports saving chat info in DB for restoring messages after the client was disconnected.

Commands

1. Server

To start the server run:

cabal new-run haschat-server -- <server-port>

Example:

cabal new-run haschat-server -- 64242

2. Client

To start a client run:

cabal new-run haschat-client -- <user-name> <own-address:own-port> <server-address:server-port>

Example:

cabal new-run haschat-client -- vika 127.0.0.1:5000 127.0.0.1:64242

3. Tests

To run tests:

cabal new-run haschat-tests

About

A command-line chat with encryption implemented in Haskell.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published