/angelos

Angelos is a safe messaging system.

Primary LanguageCythonMIT LicenseMIT

Angelos / Logo

This project serves as a PoC, the sharp code is written in Kotlin/Multiplatform, see: github.com/angelos-project

Ἄγγελος is a safe messenger system. Angelos means "Carrier of a divine message."
Λόγῳ is a safe messenger client. Logo means "Word with an intent."

Codacy Badge Build Status Codacy Badge

Online presence

Visit us at angelos-project.com.
Talk to us on our discord server.

Technology

Mainly compiled Python for safety reasons. All information is encrypted on harddrive as well on the network using libsodium (NaCl). Python 3.7 is the preferred version. User interface follows Material Design.

Development

Download source tree from Github.

On macOS make sure to run "Install Certificates.command" once in order for download to work.

Create virtualenv

> pip list --outdated --format=freeze | grep -v '^-e' | cut -d = -f 1 | xargs -n1 pip install -U

> git clone git://github.com/kristoffer-paulsson/angelos.git

> cd angelos

> virtualenv -p /usr/bin/python3.7 venv

> source venv/bin/activate

Setup in environment

> pip install -r requirements.txt

> python setup.py develop

Generate coverage

> coverage run --branch -m unittest angelos-*/test/test_*

> coverage report

> coverage xml

Generate documentation

> python tools/documenter.py

> python setup.py build_sphinx

The html is found in build/sphinx/html

Run in virtualenv

Start server inside a virtual environment.

angelos-server/bin/angelos -l=localhost -p=1024 --root-dir=./dev_env/ --run-dir=./dev_env/ --state-dir=./dev_env/ --logs-dir=./dev_env/ --conf-dir=./dev_env/ &

Start the control admin client.

angelos-ctl/bin/angelosctl 127.0.0.1 -p=1024 -s=a0d4968e2efb058b6f0091a4d5b21672c921e2aacfd6a3a1395deaa9a42c8418