Die neue Version der dezentralen Kommunikationsplattform Jami trägt den Codenamen „Világfa“. Das Projekt zielt darauf ab, ein P2P-Kommunikationssystem zu schaffen, das sowohl die Kommunikation in großen Gruppen als auch individuelle Anrufe mit einem hohen Maß an Privatsphäre und Sicherheit ermöglicht. Jami, früher bekannt als Ring und SFLphone, gehört zu den GNU-Projekten und wird unter der GPLv3-Lizenz verbreitet. Binärpakete sind für GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL usw.), Windows, macOS, iOS, Android und Android TV verfügbar.
Im Gegensatz zu traditionellen Kommunikationsclients kann Jami Nachrichten senden, ohne auf externe Server zuzugreifen, indem er eine direkte Verbindung zwischen den Benutzern unter Verwendung von End-to-End-Verschlüsselung (die Schlüssel sind nur auf der Client-Seite vorhanden) und X.509-Zertifikat-Authentifizierung herstellt. Neben dem geschützten Austausch von Nachrichten ermöglicht die Software Sprach- und Videoanrufe, das Erstellen von Telefonkonferenzen, das Teilen von Dateien sowie den gemeinsamen Zugriff auf Dateien und Bildschirminhalte. Server mit einem Intel Core i7-7700K 4,20 GHz CPU, 32 GB RAM und einer Netzwerkverbindung von 100 Mbit/s erreicht die beste Qualität bei maximal 25 Teilnehmern. Jeder Teilnehmer benötigt eine Bandbreite von etwa 2 Mbit/s für die Videoanrufe.
Ursprünglich wurde das Projekt als Software-Telefon auf Basis des SIP-Protokolls entwickelt, hat jedoch längst die Grenzen dieser Ausgangsform verlassen und setzt nun auf ein P2P-Modell, wobei die Kompatibilität mit SIP sowie die Möglichkeit, Anrufe über dieses Protokoll zu tätigen, erhalten geblieben sind. Die Anwendung unterstützt verschiedene Codecs (G711u, G711a, GSM, Speex, Opus, G.722) und Protokolle (ICE, SIP, TLS) und bietet eine zuverlässige Verschlüsselung von Video, Sprache und Nachrichten. Zu den Dienstleistungsfunktionen gehören Anrufweiterleitung und -haltung, die Aufzeichnung von Anrufen, eine Anrufhistorie mit Suchfunktion, eine automatische Lautstärkeregelung sowie die Integration mit den Adressbüchern von GNOME und KDE.
Zur Identifizierung der Nutzer in Jami wird ein dezentralisiertes, globales Authentifizierungssystem für Konten verwendet, das auf einer Implementierung des Adressbuchs in Form einer Blockchain basiert (unter Verwendung von Beiträgen des Ethereum-Projekts). Eine Benutzeridentifikation (RingID) kann gleichzeitig auf mehreren Geräten genutzt werden und ermöglicht die Kontaktaufnahme mit dem Nutzer, unabhängig davon, welches Gerät aktiv ist, ohne die Notwendigkeit, verschiedene Identifikatoren auf Smartphone und PC zu verwalten. Das Adressbuch, das für die Zuordnung der Namen zu RingID verantwortlich ist, wird in einer Gruppe von Knoten gespeichert, die von unterschiedlichen Teilnehmern unterstützt werden. Dabei ist es möglich, einen eigenen Knoten zu betreiben, um eine lokale Kopie des globalen Adressbuchs zu pflegen (Jami bietet auch ein separates internes Adressbuch, das vom Client unterstützt wird).
Für die Adressierung der Benutzer in Jami wird das OpenDHT-Protokoll (Distributed Hash Table) verwendet, das keine zentralen Registrierungen mit Benutzerinformationen erfordert. Jami basiert auf dem Hintergrundprozess jami-daemon, der für die Verarbeitung von Verbindungen, die Organisation der Kommunikation sowie die Verarbeitung von Video und Ton verantwortlich ist. Die Interaktion mit dem jami-daemon erfolgt über die Bibliothek LibRingClient, die die Grundlage für die Entwicklung der Client-Software bildet und alle typischen Funktionen bereitstellt, die nicht an die Benutzeroberfläche oder Plattformen gebunden sind. Auf LibRingClient basieren die eigentlichen Client-Anwendungen, was die Erstellung und Wartung verschiedener Benutzeroberflächen recht einfach macht. Der Hauptclient für PCs wurde unter Verwendung der Qt-Bibliothek geschrieben, zusätzlich werden Clients auf Basis von GTK und Electron weiterentwickelt.
Hauptneuheiten:
- Die Entwicklung des Gruppennachrichtensystems «рой» (Swarms) wurde fortgesetzt, das es ermöglicht, vollständig verteilte P2P-Chats zu erstellen, deren Kommunikationsverlauf synchron auf allen Geräten des Nutzers gespeichert wird. Während früher nur eine Kommunikation zwischen zwei Teilnehmern im Roj erlaubt war, können jetzt in der neuen Version kleine Gruppenchats mit bis zu 8 Personen erstellt werden (künftige Versionen planen, die Teilnehmerzahl zu erhöhen und Unterstützung für öffentliche Chats hinzuzufügen).

Für die Erstellung von Gruppenchats wurde eine neue Schaltfläche hinzugefügt, und es können jetzt Chat-Einstellungen konfiguriert werden.

Nach der Erstellung eines Gruppen-Chats können neue Teilnehmer hinzugefügt und bestehende entfernt werden. Es gibt drei Kategorien von Teilnehmern: eingeladen (hinzugefügt zur Gruppe, aber noch nicht zum Chat verbunden), verbunden und Administrator. Jeder Teilnehmer kann anderen Personen Einladungen senden, aber nur der Administrator kann Mitglieder aus der Gruppe entfernen (aktuell kann es nur einen Administrator geben, aber in zukünftigen Versionen wird es ein flexibles Berechtigungssystem und die Möglichkeit zur Ernennung mehrerer Administratoren geben).

- Ein neues Panel mit Informationen zum Chat wurde hinzugefügt, wie z.B. die Teilnehmerliste, die Liste der gesendeten Dokumente und die Einstellungen.

- Es wurden mehrere Arten von Indikatoren für das Lesen von Nachrichten und das Tippen hinzugefügt.

- Die Möglichkeit, Dateien in den Chat zu senden, wurde bereitgestellt. Die Chat-Teilnehmer können die Datei auch erhalten, wenn der Absender nicht online ist.
- Eine Benutzeroberfläche zur Suche von Nachrichten in den Chats wurde hinzugefügt.
- Unterstützung zur Verwendung von Emoji-Reaktionen wurde hinzugefügt.
- Eine Option zum Anzeigen von Informationen über den aktuellen Standort wurde hinzugefügt.
- Im Desktop-Client wurde experimentelle Unterstützung für Gruppenchats hinzugefügt, die während einer Videokonferenz stattfinden.
Quelle: opennet.ru





