Skip to content

Group chat that uses GPG to encrypt/decrypt messages

Notifications You must be signed in to change notification settings

bahackers/gpg-group-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPG group chat

GitHub version Snap CI branch Python version license

Setting up

First of all make sure that your have Python 3, pip and virtualenv installed.

Onde you have all those installed clone the project and go to the directory

$ git clone [email protected]:bahackers/gpg-group-chat.git
$ cd gpg-group-chat

After that we recommend create a virtualenv to install the app dependencies

$ virtualenv -p python3 .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt
$ python setup.py develop

Run the tests

We are using PyTest, if you follow the setting up steps run the command

$ py.test ./test

Run the app in server mode

$ gpg-group-chat --server

Run the app in client mode

$ gpg-group-chat --client

Basic usage flow

  1. Server starts with gpg-group-chat --server at 192.168.0.1
  2. The client1 starts with gpg-group-chat --client --server-ip=192.168.0.1 --public-key=public-key1
  3. The client1 connect to the server and the it stores the public key for client1
  4. The server send the current list of keys for client1 (contains public key1)
  5. The client2 starts with gpg-group-chat --client --server-ip=192.168.0.1 --public-key=public-key2
  6. The client2 connect to the server and the it stores the public key for client2
  7. The server send the current list of keys for client1 and client2 (contains public key1 and public key2)
  8. The client3 starts with gpg-group-chat --client --server-ip=192.168.0.1 --public-key=public-key3
  9. The client3 connect to the server and the it stores the public key for client3
  10. The server send the current list of keys for client1, client2 and client3 (contains public key1, public key2 and public key3)
  11. The client2 disconnects from the server
  12. the server delete the public key from client 2 from the storage
  13. The server send the current list of keys for client1 and client3 (contains public key1 and public key3) ...

Issue board

Waffle.io/bahackers/gpg-group-chat

About

Group chat that uses GPG to encrypt/decrypt messages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published