Skip to content

Peer-to-peer encrypted chat using ZRE and double ratchet.

License

Notifications You must be signed in to change notification settings

adsharma/zre_raft

Repository files navigation

ZRE Raft: Proximity Chat over LAN

image image Documentation Status

The idea is that there is no central server. Clients discover each other using ZRE - ZeroMQ Realtime Exchange Protocol.

Implementations

This software was tested with pyre, but should work with zyre as well in-theory.

Installation

alias pip=pip3
# pyre needs special install command line 
pip install https://github.com/zeromq/pyre/archive/master.zip 
# rest
pip install -r requirements.txt
python3 setup.py install --user
~/.local/bin/zre_raft -n $CHATNAME

Consensus

After the basic chat functionality is working, this could be a useful test bed to experiment with different consensus algorithms such as Raft and Paxos for configuration.

This way, bad actors can't spoof and hijack chat sessions

Features

  • Peer discovery on LAN
  • Notifications on joining/leaving
  • Basic chat
  • CLI using prompt_toolkit

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

About

Peer-to-peer encrypted chat using ZRE and double ratchet.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published