A Python plugin to use (axolotl / Signal Protocol) encryption for the profanity XMPP messenger
Clone or download

README.md

Project Status

profanity-omemo-plugin OMEMO Logo

A Python plugin to use (axolotl / Signal Protocol) encryption for the Profanity XMPP messenger

Requirements

This Plugin requires the ProfanityIM Messenger to be compiled with Python [2.7, 3.5, 3.6] Plugin Support. Please make sure to match the Plugin-Host requirements from the table below.

Plugin Profanity
master master
v0.1.1 >= v0.5.0
v0.1.0 >= v0.5.0

Prerequisites

Linux

Some Linux distributions require to install some header packages before installing the PyPI cryptography package. Please find more details at cryptography.io.

Android (Termux)

  • Run apt install git clang libffi-dev openssl-dev
  • Run export CONFIG_SHELL="$PREFIX/bin/sh"

**You will also need `setuptools` (e.g. through `pip install setuptools`).**

Installation

  • Clone this Repository
  • Run ./install.sh
  • Open profanity
  • Load plugin with /plugins load prof_omemo_plugin.py

Usage

/omemo (on|off)
Turns on/off the usage of the plugin while it may be still loaded in profanity. (Default=ON)

/omemo status
Displays the current status in profanity's console window

/omemo start [contact jid]
Starts a new conversation with the given contact, if not given, the one in the current chat

/omemo end [contact jid]
Ends the conversation with the given contact jid or, if not given, the one in the current chat

Contributing

If you want to contribute to this project, please check out CONTRIBUTING.md first.

TODO

  • Documentation
  • Handle messages from own devices
  • Trust Management
  • Write more tests