È stata rilasciata una nuova versione della piattaforma di comunicazione decentralizzata Jami, distribuita con il nome in codice «Világfa». Il progetto mira a creare un sistema di comunicazione funzionante in modalità P2P, consentendo sia comunicazioni in grandi gruppi sia chiamate individuali, garantendo un elevato livello di riservatezza e sicurezza. Jami, precedentemente conosciuto come Ring e SFLphone, fa parte dei progetti GNU ed è distribuito sotto licenza GPLv3. Le versioni binarie sono disponibili per GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL, ecc.), Windows, macOS, iOS, Android e Android TV.
A differenza dei tradizionali client di comunicazione, Jami è in grado di inviare messaggi senza fare affidamento su server esterni, grazie all'organizzazione di una connessione diretta tra gli utenti che utilizza la crittografia end-to-end (le chiavi sono presenti solo sul lato client) e l'autenticazione basata su certificati X.509. Oltre allo scambio sicuro di messaggi, il programma consente di effettuare chiamate vocali e video, creare videoconferenze, scambiare file e organizzare il controllo condiviso di file e contenuti dello schermo. Per le videoconferenze su server con CPU Intel Core i7-7700K 4.20 GHz, 32 GB di RAM e una connessione di rete di 100 Mbit/s, la migliore qualità si ottiene con un massimo di 25 partecipanti. Ogni partecipante alla videoconferenza richiede una larghezza di banda di circa 2 Mbit/s.
Inizialmente, il progetto è nato come un telefono software basato sul protocollo SIP, ma da tempo ha superato questi limiti a favore di un modello P2P, mantenendo comunque la compatibilità con SIP e la possibilità di effettuare chiamate tramite questo protocollo. Il programma supporta diversi codec (G711u, G711a, GSM, Speex, Opus, G.722) e protocolli (ICE, SIP, TLS), garantendo una crittografia sicura per video, voce e messaggi. Tra le funzionalità di servizio, troviamo la deviazione e la messa in attesa delle chiamate, la registrazione delle chiamate, la cronologia delle chiamate con ricerca, il controllo automatico del volume, e l'integrazione con le rubriche di GNOME e KDE.
Per identificare un utente in Jami viene utilizzato un meccanismo di autenticazione decentralizzato a livello globale per gli account, basato sull'implementazione di una rubrica sotto forma di blockchain (si avvalgono delle innovazioni del progetto Ethereum). Un identificatore utente (RingID) può essere utilizzato simultaneamente su più dispositivi e consente di contattare l'utente indipendentemente dal dispositivo attivo, senza la necessità di gestire identificatori diversi su smartphone e PC. La rubrica, responsabile della traduzione dei nomi in RingID, è memorizzata su un gruppo di nodi sostenuti da vari partecipanti, inclusa la possibilità di avviare il proprio nodo per mantenere una copia locale della rubrica globale (Jami implementa anche una rubrica interna separata, supportata dal cliente).
Per l'indirizzamento degli utenti in Jami viene utilizzato il protocollo OpenDHT (tabella hash distribuita), che non richiede l'uso di registri centralizzati con informazioni sugli utenti. La base di Jami è costituita da un processo in background chiamato jami-daemon, responsabile della gestione delle connessioni, dell'organizzazione della comunicazione e della gestione di video e audio. L'interazione con il jami-daemon avviene tramite la libreria LibRingClient, che funge da fondamento per lo sviluppo del software client e fornisce tutte le funzionalità standard, indipendenti dall'interfaccia utente e dalle piattaforme. Sulla libreria LibRingClient vengono sviluppate direttamente le applicazioni client, il che consente di creare e mantenere interfacce diverse in modo relativamente semplice. Il client principale per PC è scritto utilizzando la libreria Qt, mentre vengono ulteriormente sviluppati client basati su GTK ed Electron.
Novità principali:
- Continua lo sviluppo del sistema di comunicazione di gruppo "roja" (Swarms), che consente di creare chat P2P completamente distribuite, con la storia delle comunicazioni memorizzata in modo sincronizzato su tutti i dispositivi dell'utente. Se in precedenza nel roja era consentito comunicare solo tra due partecipanti, nella nuova versione ora è possibile creare piccole chat di gruppo con un massimo di 8 persone (nelle versioni future si prevede di aumentare il numero massimo di partecipanti e di aggiungere il supporto per chat pubbliche).

È stato aggiunto un nuovo pulsante per la creazione di chat di gruppo e fornita la possibilità di configurare le impostazioni della chat.

Dopo la creazione di una chat di gruppo, è possibile aggiungere nuovi partecipanti ed eliminare quelli esistenti. Ci sono tre categorie di partecipanti: invitato (aggiunto al gruppo, ma non ancora connesso alla chat), connesso e amministratore. Ogni partecipante può inviare inviti ad altre persone, ma solo l'amministratore ha la possibilità di rimuovere membri dal gruppo (al momento può esserci solo un amministratore, ma in future versioni sarà implementato un sistema flessibile di diritti di accesso e la possibilità di designare più amministratori).

- Aggiunto un nuovo pannello con informazioni sulla chat, come l'elenco dei partecipanti, l'elenco dei documenti inviati e le impostazioni.

- Aggiunti diversi tipi di indicatori per la lettura dei messaggi e la digitazione.

- È stata fornita la possibilità di inviare file in chat; i partecipanti possono ricevere il file anche se il mittente non è online.
- Aggiunta un'interfaccia per cercare messaggi nelle chat.
- Aggiunta la funzione di reazioni utilizzando simboli emoji.
- Aggiunta un'opzione per visualizzare informazioni sulla posizione attuale.
- Nel client desktop è stata aggiunta la supporto sperimentale per la chat di gruppo in concomitanza con le videoconferenze.
Fonte: opennet.ru





