Instant Messenger mit P2P-Technik für Text-, Audio- und Videochats

Aus LinuxUser 12/2021

Instant Messenger mit P2P-Technik für Text-, Audio- und Videochats

© A.G.D. Beukhof / 123RF.com

Nachrichtenschwarm

Der Instant Messenger Jami nutzt moderne P2P-Protokolle statt zentraler Server. Die aktuelle Version bringt neben Plugins die Möglichkeit mit, den Chat-Verlauf über mehrere Geräte hinweg abzugleichen.

Instant-Messaging-Dienste wie Whatsapp oder zuvor ICQ, AIM und Co. gehören neben dem WWW zu den meistgenutzten Internet-Diensten. Wie praktisch, wichtig und kritisch Instant Messenger sind, zeigte sich erst Anfang Oktober beim Komplettausfall aller Facebook-Dienste. Da viele Nutzer fast nur noch Whatsapp für ihre alltägliche Kommunikation nutzen, stand für manch einen die Welt still. Abgeschnitten von allen Kurznachrichten, suchten viele ihr Glück bei Whatsapp-Alternativen wie Signal oder Telegram, die ihrerseits durch den Ansturm neuer Nutzer an ihre Kapazitätsgrenzen gelangten.

Genau hier zeigt sich die Schwäche aller kommerziellen Instant Messenger. Egal, ob rein proprietäre Dienste wie Whatsapp oder Ansätze mit Open-Source-Anleihen wie Signal: An den Schalthebeln sitzt immer ein Unternehmen und dessen Server. Gibt es eine Störung an den zentralen Knoten, fällt der komplette Nachrichtendienst aus. Einen davon unabhängigen Weg schlagen hingegen auf Peer-to-Peer-Protokolle aufbauende Dienste wie Jami [1] ein. Sie brauchen weder einen zentralen Server noch eine zentrale Benutzerverwaltung, und es gibt auch kein Unternehmen, das im Hintergrund das Geschehen kontrolliert.

Im Schwarm

Über Jami haben wir in LinuxUser daher bereits des Öfteren berichtet [2]. Seitdem hat sich das Programm allerdings stetig weiterentwickelt und durch komplett neue Ansätze eine Reihe von Nachteilen ausgebügelt. Geht die Entwicklung in diesem Tempo weiter, steht mit Jami bald eine Whatsapp- oder Telegram-Alternative zur Verfügung, die komplett ohne zentrale Server auskommt, deren Quellcode vollständig offenliegt und die unterschiedliche Client-Programme bietet.

Doch Schritt für Schritt: Der wichtigste Entwicklungsprozess findet aktuell am Unterbau des Kommunikationsprotokolls statt. Jami hatte bislang den Nachteil, dass man zwar mehrere Clients mit einem Konto nutzen konnte, Nachrichten jedoch nicht zwischen den Rechnern abgeglichen wurden. Konkret bedeutete das, dass man beispielsweise auf einem Laptop, einem Desktop und einem Smartphone die dieselbe Jami-ID nutzen konnte, also mit den bekannten Kontakten kommunizierte, die Daten aber nicht kontinuierlich abgeglichen wurden. Auf dem Laptop geschriebene Nachrichten fehlten so auf dem Desktop oder dem Handy. Einen über alle angebundenen Clients einheitlichen Nachrichtenverlauf gab es nicht.

Mit Swarm [3] speichert Jami die Kommunikation nun aber in einem Git, das es über das P2P-Netz zwischen den Rechnern abgleicht. Nutzer sehen daher auf allen angebundenen Clients den kompletten Nachrichtenverlauf – egal, was auf welchem Client geschrieben wurde. Aktuell nutzt Jami Swarm nur für Chats von Person zu Person, später sollen auch Gruppenchats von der Technik profitieren. So wäre es dann möglich, dass alle Nutzer in einem LAN weiter kommunizieren, auch wenn der Internet-Uplink ausfällt. Sobald die Verbindung wieder steht, sehen alle Mitglieder des Chats automatisch den vollständigen Verlauf der Kommunikation, trotz des Ausfalls.

Qt statt GTK

Bislang gab es unterschiedliche Jami-Clients – nicht nur für die verschiedenen Betriebssystem, sondern auch unter Linux. Das Projekt pflegte einen Zweig für GTK-Desktops (etwa für Gnome oder XFCE) sowie eine auf Qt aufbauende Version, die sich besonders gut unter KDE Plasma integriert, sich aber auch einfacher auf Windows (und in Zukunft auf MacOS) portieren lässt. Mit der bereits im Juli veröffentlichen Version “Maloya” [4] konzentrieren sich die Entwickler nun auf die Qt-Version.

Die neueste Ausgabe besitzt jetzt eine vereinfachte Oberfläche, die zugleich aber mehr Funktionen bietet. So lassen sich die Audio- und Videogeräte während eines (Video-)Telefonats ändern, was zudem das Teilen des eigenen Bildschirminhalts erleichtert. Darüber hinaus gibt es für die Moderatoren einer Videokonferenz mehr Einflussmöglichkeiten. Sie können nun Teilnehmern exklusiv das Wort erteilen, Störer entfernen und das Layout der Konferenz ändern. Die GTK-Version wird noch eine Weile gepflegt, in Zukunft liegt der Fokus allerdings auf Qt.

Installation

Distributionen wie Arch Linux oder Manjaro führen Jami als jami-gnome und jami-qt in ihren Paketquellen. Beide Pakete lassen sich nicht parallel auf einem System installieren. Allerdings kann man ohne Probleme zwischen den beiden Varianten wechseln, da sie dieselben Konfigurationsdateien nutzen. Alle Accounts und Gesprächsverläufe bleiben beim Wechsel erhalten. Andere Distributionen wie etwa das neue Ubuntu 21.10 kennen nur jami als Paket, das lediglich die GTK-Version des Clients bereitstellt. Optional erhalten Sie Jami auf der Homepage als DEB- und RPM-Paket für unterschiedliche Distributionen. Die Entwickler stellen aber auch ein distributionsübergreifend geeignetes Snap-Paket bereit.

Serverlos

Beim ersten Start öffnet Jami einen Assistenten, über den Sie ein neues Jami-Konto anlegen, einen Gruppenchat erstellen oder einem bereits bestehenden Konto beitreten. Daneben gibt es die Möglichkeit, eine Sicherung eines Jami-Kontos wiederherzustellen. Beim Anlegen eines Kontos müssen Sie nicht zwingend einen Benutzernamen wählen, auch ein Passwort ist nicht unbedingt nötig. Mit einem Kennwort speichert Jami die Zugangsdaten jedoch verschlüsselt auf der Festplatte ab. Im letzten Schritt bietet Jami an, eine Sicherheitskopie des Kontos zu exportieren. So lässt sich der Account bei einer Neuinstallation wiederherstellen oder auf ein anderes System übertragen.

Mit der Option DIESES GERÄT MIT EINEM BESTEHENDEN KO… (an dieser Stelle müsste die deutschsprachige Übersetzung dringend gekürzt werden) koppeln Sie die aktuelle Jami-Instanz an einen bestehenden Account. Dazu müssen Sie auf einem bereits integrierten Gerät die Einstellungen öffnen und dort unter Konto ein Neues Gerät verbinden. Daraufhin öffnet sich ein Fenster mit einer achtstelligen PIN (Abbildung 1). Haben Sie den Account mit einem Passwort gesichert, müssen Sie es zuvor angeben. Den PIN-Code geben Sie dann in den entsprechenden Dialog auf dem neuen Gerät ein. Bei Bedarf lässt sich die Aktion auch nachträglich aus der Account-Auswahlbox links oben aufrufen.

Abbildung 1: Mit der PIN verbinden Sie weitere Geräte mit Ihrer Jami-ID. Der Schwarm sorgt dann für den Abgleich aller Nachrichten über das P2P-Netzwerk.

Abbildung 1: Mit der PIN verbinden Sie weitere Geräte mit Ihrer Jami-ID. Der Schwarm sorgt dann für den Abgleich aller Nachrichten über das P2P-Netzwerk.

Jami lädt nach der Verknüpfung mit dem Account neben den Kontakten automatisch alle Nachrichten aus dem verteilten Schwarm. Dazu gehören nicht nur die archivierten Textnachrichten, sondern auch die angehängten Dokumente und Bilder (Abbildung 2). Der Abgleich funktioniert auf allen Jami-Clients, die bereits das Swarm-Protokoll unterstützten [5]. Dazu zählen der Qt-basierte Client für Linux und Windows, der bislang noch gesondert entwickelte Client für MacOS sowie die Android-App (Abbildung 3).

Abbildung 2: In Zukunft konzentrieren sich die Entwickler auf die Qt-Version des Jami-Clients. Aber auch die Windows- und Mac-Clients von Jami unterstützen bereits den Schwarm.

Abbildung 2: In Zukunft konzentrieren sich die Entwickler auf die Qt-Version des Jami-Clients. Aber auch die Windows- und Mac-Clients von Jami unterstützen bereits den Schwarm.


Abbildung 3: Das mit der letzten Beta-Version eingeführte Swarm-Protokoll sorgt dafür, dass der Chat-Verlauf über alle angebundenen Jami-Clients abgeglichen wird.

Abbildung 3: Das mit der letzten Beta-Version eingeführte Swarm-Protokoll sorgt dafür, dass der Chat-Verlauf über alle angebundenen Jami-Clients abgeglichen wird.

Audio- und Videotelefonate beginnen Sie über die Schaltflächen rechts oberhalb des Chat-Verlaufs. Dateien oder Sprach- und Videonachrichten senden Sie über die Schalter links neben der Texteingabe. Gruppen-Chats gibt es bislang noch nicht, Audio- und Videokonferenzen hingegen schon. Starten Sie dazu einen Anruf mit einem Ihrer Kontakte. Anschließend laden Sie über den Schalter Teilnehmer hinzufügen weitere Kontakte in die Konferenz ein. Über die Schaltflächen in den Videostreams machen Sie bei Bedarf einzelne Teilnehmer zu Moderatoren oder überlassen ihnen die Bühne, stellen sie also groß als aktiven Sprecher dar.

Etwas verwirrend: Der unterhalb des Videobereichs ausklappbare Chat beschränkt sich auf den Initiator des Videogesprächs und einen einzelnen Teilnehmer. Andere Teilnehmer der Konferenz sehen die Nachrichten bislang noch nicht.

Erweiterbar

Noch eher experimentelle Funktionen lagert Jami in optional installierbare Plugins aus. Zu Redaktionsschluss gehörte dazu etwa ein Greenscreen-Plugin auf Basis von Tensorflow [6]. Es tauscht den Hintergrund des Videobilds gegen eine beliebige Aufnahme aus oder maskiert den Hintergrund unscharf – praktisch für Videocalls. Mit dem Wasserzeichen-Plugin überlagern Sie das Video dagegen mit teiltransparenten Bildern wie etwa einem Firmenlogo. Speziell für Musiker gibt es seit kurzer Zeit auch noch ein Audio-Plugin, das dem Ton einen Halleffekt hinzufügt.

Die Plugins erhalten Sie in der Form von JPL-Dateien auf der Homepage des Projekts [7]. Die Installation erfolgt dann über die Einstellungen von Jami. Zuerst einmal müssen Sie dazu die Nutzung von Plugins über den Schalter Einschalten im Reiter Plugin aktivieren. Anschließend spielen Sie das Plugin über den Knopf Plugin installieren ins System ein. Zu guter Letzt müssen Sie auch noch das Plugin selbst aktivieren. Das Zahnradsymbol neben dem Schieber öffnet dazu dessen Einstellungen.

Starten Sie nun ein Videotelefonat, erscheint ganz rechts unten in der Aktionsleiste unterhalb des Videobilds ein Plugin-Symbol, über das Sie die einzelnen Erweiterungen aktivieren (Abbildung 4). Im Test funktionierten prinzipiell alle aktuell verfügbaren Erweiterungen, doch häuften sich Aussetzer und spontane Abstürze. Bei einem Fehler sollten Sie also zuerst prüfen, ob er am Plugin liegt und ob eventuell dafür ein Update bereitsteht.

Abbildung 4: Erweiterungen wie hier das Greenscreen-Plugin fügen weitere Funktionen hinzu. Aktuell gibt es noch ein Wasserzeichen-Plugin und eine Hallerweiterung für Musiker.

Abbildung 4: Erweiterungen wie hier das Greenscreen-Plugin fügen weitere Funktionen hinzu. Aktuell gibt es noch ein Wasserzeichen-Plugin und eine Hallerweiterung für Musiker.

Fazit und Ausblick

Für die nächsten Versionen von Jami stehen weitere Umbauarbeiten an. Zuerst soll Swarm für Gruppenchats mit bis zu acht Kontakten umgesetzt werden. Später möchten die Entwickler die Anzahl der Nutzer im Chat ausbauen und letztendlich öffentliche Gruppen umsetzen. Das soll möglichst störungsfrei und zunächst abwärtskompatibel geschehen, um Nutzer mit älteren Clients nicht gänzlich auszuschließen. Für einen möglichst umfassenden Funktionsumfang sollten Sie allerdings darauf achten, die gerade aktuelle Jami-Version zu nutzen.

Kommerziellen Nutzern bietet Jami mit dem Jami Account Management Server JAMS [8] eine interessante Option an, die sich in die Nutzerverwaltung von Active Directory oder LDAP integriert. In unserem Praxistest schlug sich Jami sehr ordentlich. Textnachrichten fanden auch im Schwarm immer ihren Weg auf alle verbunden Rechner. Allerdings dauert der Abgleich bei gerade erst gestarteten Clients einen Moment. Anrufe funktionieren zuverlässig, lediglich die Plugins (speziell das Wasserzeichen-Plugin) sorgten auf unseren Testinstallationen für gelegentliche Abstürze. (cla)

Infos

  1. Jami: https://jami.net

  2. Jami: Christoph Langner, “Free as in Freedom”, LU 01/2020, S. 44, https://www.linux-community.de/43729

  3. “Swarm: a new generation of group conversations”: https://jami.net/first-jami-beta-with-swarm-support

  4. “Maloya, a new version of Jami”: https://jami.net/maloya-a-new-version-of-jami

  5. “First Jami beta with Swarm support”: https://jami.net/swarm-introducing-a-new-generation-of-group-conversations

  6. Tensorflow: https://www.tensorflow.org

  7. Plugins: https://jami.net/plugins

  8. Jami Account Management Server: https://jami.biz

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 12/2021 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben