OMEMO plugin for Poezio
Project description
poezio-omemo - OMEMO plugin for Poezio
This is a Poezio plugin providing OMEMO support. It's distributed separately for licensing reasons.
This plugin is very much alpha. It handles encryption and decryption of OMEMO messages, but doesn't display the encryption state of messages, and neither does it have a way to do manual trust management.
OMEMO Protocol Version Support
Currently supports OMEMO in the eu.siacs.conversations.axolotl namespace.
Support for OMEMO in the omemo:2 namespace will be added as soon as Slixmpp gains support for XEP-0420: Stanza Content Encryption.
Trust
Internally supports both Blind Trust Before Verification and manual trust management, however the UI does not currently offer a way to manage trust manually. This means that for now, all devices are always trusted blindly.
Installation
Arch Linux (AUR)
Packages for Arch Linux are available on AUR:
Debian
A Request for packaging has been posted, but so far, Debian has not packaged poezio-omemo yet..
Everything else (pip/uv)
For all other cases, the plugin can be installed and made available to Poezio by adding one of the following at the end of Poezio's update.sh script:
For the latest release:
uv pip install poezio-omemo
For the latest commit on the main branch:
uv pip install git+https://codeberg.org/poezio/poezio-omemo
For your local clone of this repository:
uv pip install /path/to/your/clone
After adding that line, you might have to create a local commit in your clone of Poezio using:
git add update.sh && git commit -m "Install poezio-omemo in update.sh"
You should now be able to use ./update.sh and ./launch.sh as usual.
Common Issues
This plugin is NOT to be placed in the Poezio plugin folder, doing so may shadow the OMEMO library and render it inaccessible from Poezio.
This module declares itself via pkg_resources under the poezio_plugins group.
Other possible issues when loading the plugin may be that the OMEMO library is incorrectly setup.
In a Python interpreter:
>>> # Is the backend OMEMO library is reachable? (success: no error, no output)
>>> import omemo
>>> # Is poezio-omemo reachable? (success: no error, no output)
>>> import poezio_omemo
>>> # Is the module probably declared in plugin entries? (success: true)
>>> import pkg_resources
>>> "omemo" in map(lambda e: e.name, pkg_resources.iter_entry_points("poezio_plugins"))
If this doesn't yield any error and Poezio still can't load the plugin, try starting it with a debug file (-d poezio.log) and join our channel.
Use in Poezio
Once installed (see the Installation section), you can add omemo in the plugin_autoload configuration.
See the Poezio documentation for more information about autoloading plugins.
To load it manually in Poezio, type /load omemo.
Type Checks and Linting
poezio-omemo uses mypy for static type checks and both pylint and Flake8 for linting. All checks can be run locally with the following commands:
$ pip install --upgrade .[lint]
$ mypy poezio_omemo/
$ pylint poezio_omemo/
$ flake8 poezio_omemo/
Note on the Underlying OMEMO Library
The underlying library python-omemo has not undergone any security audits. If you have the knowledge, any help is welcome.
Please take this into consideration when using this library.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file poezio_omemo-0.9.1.tar.gz.
File metadata
- Download URL: poezio_omemo-0.9.1.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c5183410f99decf3b26482d177cc9ba89c1b129454145f0e05cb486787942b5
|
|
| MD5 |
6c723f0eb9dcc43050ffc94eac286581
|
|
| BLAKE2b-256 |
d788c7b0d97dce31b282bea3dbb83e09d96cff9b55d24878df3ad0801a3e2701
|
File details
Details for the file poezio_omemo-0.9.1-py3-none-any.whl.
File metadata
- Download URL: poezio_omemo-0.9.1-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
516a1cb6031d296816683de74df235e52e3e8b13b1141933c0a80cdd9a7d9267
|
|
| MD5 |
9d2fffbe82708f061b5eb84f2d8a361b
|
|
| BLAKE2b-256 |
977757fdeea889f3488c3c7b7048a60dd41a8ae482bde8760f3299191a3d819d
|