Une nouvelle version de la plateforme de communication décentralisée Jami, connue sous le nom de code « Világfa », a été lancée. Ce projet vise à créer un système de communication opérationnel en mode P2P, permettant à la fois la communication en grands groupes et l'exécution d'appels individuels tout en offrant un haut niveau de confidentialité et de sécurité. Jami, anciennement connu sous le nom de Ring et SFLphone, fait partie des projets GNU et est distribué sous la licence GPLv3. Des versions binaires sont disponibles pour GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL, etc.), Windows, macOS, iOS, Android et Android TV.
Contrairement aux clients de communication traditionnels, Jami est capable d'envoyer des messages sans avoir recours à des serveurs externes grâce à l'établissement d'une connexion directe entre les utilisateurs utilisant le chiffrement de bout en bout (End-to-end, les clés sont uniquement présentes du côté client) et l'authentification basée sur des certificats X.509. En plus de l'échange sécurisé de messages, le logiciel permet de passer des appels vocaux et vidéo, de créer des téléconférences, de partager des fichiers et d'organiser un accès partagé aux fichiers et au contenu de l'écran. Pour les vidéoconférences, au le serveur un CPU Intel Core i7-7700K 4,20 GHz, 32 Go de RAM et une connexion réseau de 100 Mbit/s, la meilleure qualité est atteinte avec un maximum de 25 participants. Chaque participant à la visioconférence nécessite une bande passante d'environ 2 Mbit/s.
Au départ, le projet s'est développé comme un téléphone logiciel basé sur le protocole SIP, mais il est depuis longtemps allé au-delà de ces limites en faveur d'un modèle P2P, tout en conservant la compatibilité avec SIP et la possibilité de passer des appels à l'aide de ce protocole. Le programme prend en charge divers codecs (G711u, G711a, GSM, Speex, Opus, G.722) et protocoles (ICE, SIP, TLS), garantissant un chiffrement fiable des vidéos, des voix et des messages. Parmi les fonctionnalités de service, on peut noter la redirection et la mise en attente des appels, l'enregistrement des appels, l'historique des appels avec recherche, le contrôle automatique du volume, ainsi que l'intégration avec les carnets d'adresses GNOME et KDE.
Pour identifier les utilisateurs dans Jami, un mécanisme mondial décentralisé d'authentification des comptes est utilisé, basé sur la mise en œuvre d'un carnet d'adresses sous forme de blockchain (reposant sur des travaux issus du projet Ethereum). Un identifiant utilisateur (RingID) peut être utilisé simultanément sur plusieurs appareils et permet de contacter l'utilisateur, peu importe l'appareil actif, sans avoir besoin de conserver différents identifiants sur un smartphone et un PC. Le carnet d'adresses, responsable de la diffusion des noms en RingID, est conservé sur un groupe de nœuds soutenus par divers participants, et il est également possible de lancer son propre nœud pour maintenir une copie locale du carnet d'adresses mondial (Jami implémente également un carnet d'adresses interne distinct, maintenu par le client).
Pour l'adressage des utilisateurs dans Jami, le protocole OpenDHT (table de hachage distribuée) est utilisé, éliminant le besoin de registres centralisés contenant des informations sur les utilisateurs. Jami repose sur un processus en arrière-plan, le jami-daemon, qui est responsable du traitement des connexions, de l'organisation des communications, ainsi que du fonctionnement de la vidéo et du son. L'interaction avec le jami-daemon est gérée via la bibliothèque LibRingClient, qui sert de base à la construction des logiciels clients et fournit toute la fonctionnalité standard non liée à l'interface utilisateur et aux plates-formes. Des applications client sont développées au-dessus de LibRingClient, ce qui permet de créer et de maintenir facilement différentes interfaces. Le client principal pour PC est écrit en utilisant la bibliothèque Qt, et des clients basés sur GTK et Electron sont également en cours de développement.
Les principales nouveautés :
- Le développement du système de communication de groupe « essaim » (Swarms) a été poursuivi, permettant de créer des chats P2P entièrement décentralisés, dont l'historique de communication est stocké de manière synchronisée sur tous les appareils de l'utilisateur. Alors qu'auparavant, l'essaim ne permettait la communication qu'entre deux participants, la nouvelle version permet désormais de créer de petits chats de groupe comptant jusqu'à 8 personnes (les futures versions prévoient d'augmenter le nombre maximum de participants et d'ajouter la prise en charge des chats publics).

Pour créer des groupes de discussion, un nouveau bouton a été ajouté et des options de configuration des paramètres de chat ont été fournies.

Après la création d'un groupe de discussion, il est possible d'ajouter de nouveaux participants et de supprimer ceux qui sont déjà présents. Il existe trois catégories de participants : invité (ajouté au groupe mais pas encore connecté au chat), connecté et administrateur. Chaque participant peut envoyer des invitations à d'autres personnes, mais seul l'administrateur a la possibilité de les supprimer du groupe (il ne peut y avoir qu'un seul administrateur pour l'instant, mais les futures versions proposeront un système de droits d'accès flexible et la possibilité de nommer plusieurs administrateurs).

- Une nouvelle barre d'informations sur le chat a été ajoutée, incluant la liste des participants, la liste des documents envoyés et les paramètres.

- Plusieurs types d'indicateurs de lecture de message et de saisie ont été ajoutés.

- Il est désormais possible d'envoyer des fichiers dans le chat, les participants pouvant recevoir le fichier même si l'expéditeur n'est pas en ligne.
- Une interface pour rechercher des messages dans les chats a été ajoutée.
- La prise en charge de l'utilisation d'emoji pour réagir a été ajoutée.
- Une option pour afficher des informations sur la localisation actuelle a été ajoutée.
- Le client Desktop a reçu un support expérimental pour les chats de groupe accompagnant des vidéoconférences.
Source : opennet.ru





