Lead Image © Mipan, Fotolia.com

Lead Image © Mipan, Fotolia.com

A decentralized communication platform

Private Chat

Article from ADMIN 60/2020
With clients for all popular distributions, the decentralized messaging app Jami promises maximum anonymity for chats, voice calls, and videoconferencing.

Most messengers require central servers in the background, which means registering with your email address or phone number. This is not the case for the open source Jami. Much like BitTorrent, the Jami messenger uses a distributed hash table to set up its own network, which lets it get by without central registration [1]. You only need to register if you want a unique username that can be found with Jami's search function – but this does not require providing any personal information.

Jami is available for Linux, macOS, and Windows; smartphones with Android [2] and iOS [3]; and TVs with Android TV. The "Free as in Freedom" Jami release offers cross-platform videoconferencing (previously only available in the Linux version), audio and video messaging in the style of WhatsApp, and a dark theme. Jami also lets you share your desktop or individual windows instead of the webcam image.

Strict adherence to anonymity and the omission of a central server make Jami an exciting alternative to videoconferencing software that requires a central server potentially located somewhere that might not be secure. In terms of data protection law, the elimination of the EU-US Privacy Shield is not a problem for Jami.


The developers provide installation files and package sources for Fedora, Debian, and Ubuntu. To install Jami on Ubuntu 20.04, see Listing 1; for other distributions, you will find instructions on the Jami website [4]. Ubuntu also offers a Jami Snap package.

Listing 1

Installing on Ubuntu 20.04

$ sudo apt install gnupg dirmngr ca-certificates curl --no-install-recommends
$ curl -s https://dl.jami.net/public-key.gpg | sudo tee /usr/share/keyrings/jami-archive-keyring.gpg > /dev/null
$ sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/jami-archive-keyring.gpg] https://dl.jami.net/nightly/ubuntu_20.04/ ring main' > /etc/apt/sources.list.d/jami.list""
$ sudo apt-get update && sudo apt-get install jami

If you don't want to integrate a package source into the system, you can also pick up deb packages for Ubuntu (16.04 to 20.04), as well as Debian 9 and 10, from the project website. Arch Linux users can use the jami-gnome program directly from the distribution's repositories.

After installation, Jami can be launched by clicking on Jami in the application menu. Jami will not work without a user account; you can create one by selecting Create a Jami Account . If required, you can also restore a previously backed up account by selecting Import from archive backup (Figure 1).

Figure 1: When you launch Jami for the first time, you need to create a new Jami account, but you do not have to identify yourself to the service with an email address or a phone number.

In the following dialog, Jami prompts you to enter a profile name. You can upload a photo or take one directly with your webcam (Figure 2). A password protects the account. Whether or not you choose to Register username is up to you.

Figure 2: If you prefer, you can remain completely anonymous on Jami. The Register username option lets others find you via the search feature.

By opening a Jami account, you reserve a unique and freely selectable username that helps other Jami users find you with the program's search function. However, Jami does not store anything else in the account; the operator cannot log chats or your contact list. Communication is also encrypted end-to-end and therefore cannot be viewed by third parties.

First Contact

To contact friends or acquaintances, you need their ID or username. If your contact uses Jami on a smartphone, you can alternatively set up the connection using a QR code, which you call up by clicking the button next to the ID (or name) and then scanning the code using the Jami mobile app.

When the first message appears, you are prompted to accept the contact. From now on, the chat will appear in the sidebar. If your contact has a Jami account, you will find the chat under that username. Otherwise, Jami will show only a cryptic ID; the chat cannot be renamed as of yet.

In addition to plain text messages, Jami supports sending files and audio and video conversations with two or more participants in a resolution of up to 4K (Figure 3). In the "Free as in Freedom" version, Jami also lets you send audio and video messages, in a style similar to WhatsApp.

Figure 3: Jami supports audio and video chats, as well as videoconferences with multiple participants. The number of callers is only limited by the bandwidth of the call initiator's Internet connection.

Another new feature is support for desktop sharing. To do this, right-click on the screen. A context menu lets you choose between Share screen area or Share entire screen . On Linux, however, screen sharing only works in combination with the X server. Wayland users will first need to switch to the classic Linux desktop.

Optionally, a video file can be transferred using Share file . The More Information option provides statistics and details, such as the frame rate or the audio and video codecs used.


Jami hides all settings options behind the gear icon located next to your account name in the application's header bar. Under General , you can configure whether Jami always launches automatically at system boot time and which events it should notify you about. Media lets you define the audio and video devices, set the webcam resolution for video chats, and enable hardware acceleration.

In everyday use, the last tab, Account , turns out to be the most important. This is where you can register a Jami username, set an image for the account, and temporarily deactivate or reactivate the account. For security reasons, you will also want to export your account. A backup of this type is the only way to restore an existing account when you install a new system.

In the lower section of the dialog, Jami offers you the option to use the active account on multiple devices, such as a smartphone or a second PC. To do this, select Link another device and enter your password in the following screen. Click Export to network to initiate the connection. Jami then generates a PIN in the form of an abbreviation, such as nix66ilp . Note that you will need to complete the next step quickly, as the PIN expires after a few minutes.

Now create a new account on the second device, but select the Import from other device option. Then enter the password and previously created PIN. You will now see the previously created contacts on the second device, too, and be able to start chats. Since Jami only stores the chat history locally rather than on a central server, you can only see the conversations that took place on the individual device.

In practice, this means that you will receive messages automatically on all connected devices. However, you will only see your reply on the device on which you wrote them. Jami does not support seamless switching between two devices. Data synchronization across multiple devices would require a central storage location, which Jami deliberately avoids in favor of privacy.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>


		<div class=