Skip to content

Latest commit

 

History

History

xmpp

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

XMPP

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.


Table of contents


Servers

Two servers are available, Prosody and Ejabberd.

Clients

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

Profanity - git

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.

Psi-plus

Psi+ - git

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

Dino-im

Dino IM - git

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.

Gajim

Gajim - git

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

Pidgin

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

Conversations

Conversations - git

Extra

Read this guide from The Intercepet on how to configure your XMPP client.

Encryption

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.