This is an official implementation of Coldwire protocol in Python.
Coldwire messenger is an end-to-end encrypted, metadata-resistant, federated messenger. You can check official client here: Coldwire Messenger
This implementation is mainly used for prototyping protocol changes before being implemented in the production-ready Go implementation
Therefore, you must USE WITH CAUTION, this implementation is fine for testing and prototyping locally.
This implmentation uses Redis, install it before continuing:
sudo apt install redis-serverInstall liboqs-python:
git clone --depth=1 https://github.com/open-quantum-safe/liboqs-python
cd liboqs-python
pip install .
cdThen clone the repository:
git clone --depth 1 https://github.com/Freedom-Club-Sec/Coldwire-server.gitInstall requirements.txt:
pip install -r requirements.txtGenerate new JWT Secret:
echo -n "JWT_SECRET=" > .env && openssl rand -base64 64 | tr -d '\n' >> .env
Modify app/config.json:
nano app/config.json
Put your server's domain name (without http/s prefixes) or IP address in YOUR_DOMAIN_OR_IP
Optionally enable or disable federation support by setting federation to either true or false
Run the server:
python3 run.py --host 127.0.0.1 --port 8000 --workers 4