Definition from xmpp.org:
Extensible Messaging and Presence Protocol (XMPP) is an open XML technology for real-time communication, which powers a wide range of applications including instant messaging, presence and collaboration.
Two servers are available, Prosody and Ejabberd.
Full list of clients can be found https://xmpp.org/software/clients/
Client | Platform | Omemo | OTR | OpenPGP |
---|---|---|---|---|
Profanity | Linux, FreeBSD, OpenBSD, OSX, Windows and Android (Termux) | yes | yes | yes |
Gajim | Linux / Windows | yes | no | yes |
Dino IM | Linux | yes | no | |
Psi+ | Linux / macOS / Other / Windows | yes | yes | yes |
Pidgin | Linux / macOS / Other / Windows | no | yes | |
Adium | macOS | no | yes | no |
Conversations | Android | yes | no |
Profanity is a terminal client, for advanced users.
Install profanity:
sudo apt install -y profanity
Torsocksify profanity:
torsocks profanity
To connect to an onion server with authentication required and the certificated is self signed, need to default to trust the certificate:
/connect [email protected] tls trust
Generate OMEMO crytographic materials for current account
/omemo gen
Start an OMEMO session with contact, or current recipient if omitted:
/omemo start [<contact>]
The same commands are valid for /otr
and /pgp
.
The best client on this projects point of view. Compatible with various operating systems, when the encryption plugins are installed, they are enabled by default
Install psi-plus and plugins to have encryption methods available (OMEMO, OpenPGP, OTR):
sudo apt install -y psi-plus psi-plus-plugins
Fixed accepting self-signed certificated on versions 0.2.1+.
Install dino-im:
sudo apt install -y dino-im
To configure the client, toggle Advanced settings during login and select Tor proxy.
Problems:
- modules compatibility with other clients, such as conversations.
- privacy settings are opt-out, not opt-in, and per account, this might leak your operating system, local time, away since what time
Install gajim:
sudo apt install -y gajim gajim-omemo
One of the oldest clients, written in C. Many exploits. Only present for compability with Tails before they migrate to a better client.
Install pidgin and its OTR plugin:
sudo apt install -y pidgin pidgin-otr
Read this guide from The Intercepet on how to configure your XMPP client.
Read Off-the-Record Messaging Protocol version 3 by cypherpunks.ca to understand OTR encryption.
- OTR does not work with MUC (Multi-user chat) but is the most widely used.
- OMEMO is compatible with Conversations, Pidgin, Dino IM, Gajim and can be used MUC.
OTR is being deprecated on newer clients and they are preferring OMEMO, because it works on offline messages and group chats.