The idea is that there is no central server. Clients discover each other using ZRE - ZeroMQ Realtime Exchange Protocol.
This software was tested with pyre, but should work with zyre as well in-theory.
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
- Free software: MIT license
- Documentation: https://zre-raft.readthedocs.io.
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
- Peer discovery on LAN
- Notifications on joining/leaving
- Basic chat
- CLI using prompt_toolkit
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.