|
|
# OMEMO Plugin for Gajim
|
|
|
|
|
|
This Plugin adds support for the [OMEMO Encryption](http://conversations.im/omemo) to [Gajim](https://gajim.org/). This
|
|
|
plugin is [free software](http://www.gnu.org/philosophy/free-sw.en.html)
|
|
|
distributed under the GNU General Public License version 3 or any later version.
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
### Windows
|
|
|
|
|
|
On Windows please download the Plugin via Gajims Plugin Manager
|
|
|
|
|
|
### Linux
|
|
|
|
|
|
#### Arch
|
|
|
See [AUR](https://aur.archlinux.org/packages/gajim-plugin-omemo/) package
|
|
|
|
|
|
#### Debian
|
|
|
Packagename `gajim-omemo` available in backports and testing
|
|
|
|
|
|
#### Gentoo
|
|
|
`layman -a flow && emerge gajim-omemo`
|
|
|
|
|
|
#### Fedora
|
|
|
|
|
|
add this snippet to `/etc/yum.repos.d/ux.repo`
|
|
|
```
|
|
|
[ux]
|
|
|
name=Unixadm.org - Fedora $releasever base repository
|
|
|
baseurl=http://reposerv.unixadm.org/fedora/$releasever/$basearch/
|
|
|
enabled=1
|
|
|
includepkgs=python-axolotl python-axolotl-curve25519
|
|
|
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-UNIXADM
|
|
|
gpgcheck=1
|
|
|
```
|
|
|
(optional) fetch the gpg key and save it to /etc/pki/rpm-gpg/RPM-GPG-KEY-UNIXADM (or else, set gpgcheck to 0)
|
|
|
|
|
|
`dnf install python-axolotl`
|
|
|
|
|
|
#### Ubuntu & Distributions without a package
|
|
|
|
|
|
Install the Plugin with the Gajim PluginManager. You *need* Gajim
|
|
|
version *0.16.5* or higher. If your package manager does not provide an up to date version
|
|
|
you can visit gajim.org for further install instructions.
|
|
|
|
|
|
|
|
|
1. check if you have Gajim 0.16.5 or higher
|
|
|
2. `sudo apt-get install build-essential libssl-dev libffi-dev python-dev`
|
|
|
3. `sudo apt-get install python-cryptography`
|
|
|
4. please download and install `python-axolotl` from [here](https://launchpad.net/ubuntu/+source/python-axolotl/0.1.35-1)
|
|
|
because the dev of `python-axolotl` is absent, distributions patched `python-axolotl` themself so it works with protobuf3, after download cd into the downloaded directory and `python2 setup.py install`
|
|
|
|
|
|
or
|
|
|
|
|
|
`sudo apt-get install python-axolotl` and downgrade protobuf `sudo pip2 install protobuf==2.6.1` afterwards
|
|
|
|
|
|
6. Restart Gajim, and activate OMEMO in Gajims PluginManager
|
|
|
|
|
|
## Running
|
|
|
Enable *OMEMO Multi-End Message and Object Encryption* in the Plugin-Manager.
|
|
|
If your contact supports OMEMO you should see a new orange fish icon in the chat window.
|
|
|
|
|
|
Encryption will be enabled by default for contacts that support OMEMO.
|
|
|
If you open the chat window, the Plugin will tell you with a green status message if its *enabled* or *disabled*.
|
|
|
If you see no status message, your contact doesnt support OMEMO.
|
|
|
(**Beware**, every status message is green. A green message does not mean encryption is active. Read the message !)
|
|
|
You can also check if encryption is enabled/disabled, when you click on the OMEMO icon.
|
|
|
|
|
|
When you send your first message the Plugin will query your contacts encryption keys and you will
|
|
|
see them in a readable fingerprint format in the fingerprint window which pops up.
|
|
|
you have to trust at least **one** fingerprint to send messages.
|
|
|
you can receive messages from fingerprints where you didnt made a trust decision, but you cant
|
|
|
receive Messages from *not trusted* fingerprints
|
|
|
|
|
|
## Verification QR Codes
|
|
|
|
|
|
It is possible to show a QR Verification Code in the Plugin Config Window.
|
|
|
|
|
|
You have to install the `python-qrcode` package for it to work (Debian, Ubuntu)
|
|
|
|
|
|
If you want to use `pip2`, following packages have to be installed:
|
|
|
`qrcode`, `pillow`
|
|
|
|
|
|
## Groupchat
|
|
|
|
|
|
Groupchat works only in rooms that are
|
|
|
- non-anonymous
|
|
|
- members-only
|
|
|
- works only with contacts that you have in your roster
|
|
|
|
|
|
## Filetransfer
|
|
|
|
|
|
For Filetransfer use the [HttpUploadPlugin](./HttpUploadPlugin) plugin.
|
|
|
|
|
|
For decrypting and showing pictures in chat use the [UrlImagePreviewPlugin](./UrlImagePreviewPlugin) plugin.
|
|
|
|
|
|
If you want to use these plugins together with *OMEMO* you have to install the `python-cryptography` package
|
|
|
|
|
|
## Performance
|
|
|
If you experience lag when sending a message, install `python-cryptography`
|
|
|
If that doesnt help, you can convert your database to WAL mode with
|
|
|
```
|
|
|
sqlite3 omemo_your@jid.com.db
|
|
|
PRAGMA journal_mode=WAL
|
|
|
```
|
|
|
Warning: This mode could lead to data loss if Gajim crashes
|
|
|
|
|
|
## Debugging
|
|
|
To see OMEMO related debug output start Gajim with the parameter
|
|
|
`-l gajim.plugin_system.omemo=DEBUG`.
|
|
|
|
|
|
## I found a bug
|
|
|
Please report it to the [issue
|
|
|
tracker](https://dev.gajim.org/gajim/gajim-plugins/issues). If you are experiencing
|
|
|
misbehaviour please provide detailed steps to reproduce and debugging output.
|
|
|
Always mention the exact Gajim version.
|
|
|
|
|
|
## Contact
|
|
|
You can contact us at gajim@conference.gajim.org |