|
|
# OMEMO Plugin for Gajim
|
|
|
|
|
|
## OMEMO Multi-End Message and Object Encryption
|
|
|
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.
|
|
|
|
|
|
[OMEMO](https://conversations.im/omemo/) is an XMPP Extension Protocol (XEP) for secure multi-client end-to-end encryption. It is an open standard based on Axolotl and PEP which can be freely used and implemented by anyone.
|
|
|
## Installation
|
|
|
|
|
|
The OMEMO encryption /oˈmiːmoʊ/ (OMEMO Multi-End Message and Object Encryption) gives you all the advantages you would expect from a modern-day encrpytion protocol like Future and Forward Secrecy and deniability while allowing you to keep the benefits of message synchronization and offline delivery.
|
|
|
### Windows
|
|
|
|
|
|
## Installation
|
|
|
On Windows please download the Plugin via Gajims Plugin Manager
|
|
|
|
|
|
Linux
|
|
|
### Linux
|
|
|
|
|
|
See [Linux Wiki](https://github.com/omemo/gajim-omemo/wiki/Installing-on-Linux)
|
|
|
### Via Package Manager
|
|
|
#### Arch
|
|
|
See [AUR](https://aur.archlinux.org/packages/gajim-plugin-omemo/) package
|
|
|
|
|
|
Windows
|
|
|
#### Debian
|
|
|
Packagename `gajim-omemo` available in backports and testing
|
|
|
|
|
|
See [Windows Wiki](https://github.com/omemo/gajim-omemo/wiki/Installing-on-Windows)
|
|
|
#### Gentoo
|
|
|
`layman -a flow && emerge gajim-omemo`
|
|
|
|
|
|
### Via Package Manager
|
|
|
### Via Gajim Plugin Manager
|
|
|
|
|
|
Install the current stable version via 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.
|
|
|
|
|
|
**NOTE:** You *have* to install `python-axolotl` via PackageManager or depending on your setup you might
|
|
|
want to use `pip2` as Gajim is using python2.7.
|
|
|
|
|
|
if you still have problems, we have written down the most common problems [here](https://github.com/omemo/gajim-omemo/wiki/It-doesnt-work,-what-should-i-do%3F-(Linux))
|
|
|
|
|
|
Arch:: See [Arch Wiki](https://wiki.archlinux.org/index.php/Gajim#OMEMO_Support)
|
|
|
## 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.
|
|
|
|
|
|
Gentoo:: `layman -a flow && emerge gajim-omemo`
|
|
|
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.
|
|
|
|
|
|
### Via PluginInstallerPlugin
|
|
|
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
|
|
|
|
|
|
Install the current stable version via the Gajim PluginInstallerPlugin. You need Gajim version *>=0.16.5*. If your package manager does not provide an up to date version you can install it from the official Mercurial repository.
|
|
|
## Groupchat
|
|
|
|
|
|
*NOTE:* You have to install `python-axolotl` from your package manager or via pip. Depending on your setup you might want to use `pip2` as Gajim is using python2.7.
|
|
|
Groupchat works only in rooms that are
|
|
|
- non-anonymous
|
|
|
- members-only
|
|
|
- works only with contacts that you have in your roster
|
|
|
|
|
|
## Usage
|
|
|
Enable OMEMO in the Plugin-Manager. If your contact supports OMEMO you should see a new orange fish icon in the chat window.
|
|
|
## Filetransfer
|
|
|
|
|
|
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.
|
|
|
For Filetransfer use the [HttpUploadPlugin](./HttpUploadPlugin) plugin.
|
|
|
|
|
|
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
|
|
|
For decrypting and showing pictures in chat use the [UrlImagePreviewPlugin](./UrlImagePreviewPlugin) plugin.
|
|
|
|
|
|
## Limitations
|
|
|
Currently Group Chats are not supported.
|
|
|
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
|
|
|
|
|
|
## Bugs / Feature Requests
|
|
|
## Debugging
|
|
|
To see OMEMO related debug output start Gajim with the parameter `-l
|
|
|
gajim.plugin_system.omemo=DEBUG`.
|
|
|
|
|
|
Existing bugs and feature requests are [ag GitHub](https://github.com/omemo/gajim-omemo/issues).
|
|
|
## 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.
|
|
|
|
|
|
If you have any issues, create a [new issue](https://github.com/omemo/gajim-omemo/issues). |
|
|
\ No newline at end of file |
|
|
## Contact
|
|
|
You can contact us at gajim@conference.gajim.org |