unMessage is a peer-to-peer instant messaging application designed to enhance privacy and anonymity.
unMessage is alpha software. While every effort has been made to make sure unMessage operates in a secure and bug-free fashion, the code has not been audited. Please do not use unMessage for any activity that your life depends upon.
- Transport makes use of Twisted, Tor Onion Services and txtorcon
- Encryption is performed using the Double Ratchet Algorithm implemented in pyaxo (using PyNaCl)
- Authentication makes use of the Socialist Millionaire Protocol implemented in Cryptully
- Transport metadata is minimized by Tor and application metadata by the unMessage protocol
- User interfaces are created with Tkinter (graphical) and curses (command-line)
Install the following requirements via package manager:
$ # If using Debian/Ubuntu $ sudo apt-get install build-essential gcc libffi-dev libopus0 \ libsodium-dev libssl-dev portaudio19-dev python-dev python-tk $ # If using Fedora $ sudo dnf install gcc libffi-devel libsodium-devel \ openssl-devel opus portaudio-devel python-devel \ redhat-rpm-config tkinter
If you have tor installed, make sure its version is at least
0.2.7.1
:
$ tor --version
If you must update it or do not have it installed, check the version provided by the package manager:
$ # If using Debian/Ubuntu $ apt-cache show tor $ # If using Fedora $ dnf info tor
If the version to be provided is not at least 0.2.7.1
, you will
have to set up Tor's package repository. Once you have a repository
which can provide an updated tor, install it:
$ # If using Debian/Ubuntu $ sudo apt-get install tor $ # If using Fedora $ sudo dnf install tor
Finally, using virtualenv, pip and setuptools (the latter probably installed automatically with pip), you can easily install unMessage with:
$ virtualenv ~/unmessage-env $ . ~/unmessage-env/bin/activate (unmessage-env)$ pip install unmessage
Launch unMessage with any of the commands:
(unmessage-env)$ unmessage-gui # graphical user interface (GUI) (unmessage-env)$ unmessage-cli # command-line interface (CLI) (unmessage-env)$ unmessage # last interface used
If you installed unMessage with pip, you can also use it for updates:
(unmessage-env)$ pip install --upgrade unmessage
You can find installation and usage instructions (for the GUI and the CLI) on the documentation.
Please join us on #unMessage:anemone.me or #anemone:anemone.me with Matrix, #anemone at OFTC, or use the GitHub issue tracker to leave suggestions, bug reports, complaints or anything you feel will contribute to this application.