De nieuwe versie van het gedecentraliseerde communicatieplatform Jami, uitgebracht onder de codenaam 'Világfa', is gepresenteerd. Het project is gericht op het creëren van een communicatie systeem dat werkt in P2P-modus en het mogelijk maakt om zowel grote groepscommunicatie te organiseren als individuele oproepen te doen, met een hoog niveau van privacy en veiligheid. Jami, voorheen bekend als Ring en SFLphone, is een van de GNU-projecten en wordt verspreid onder de GPLv3-licentie. Binaire builds zijn voorbereid voor GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL, enz.), Windows, macOS, iOS, Android en Android TV.
In tegenstelling tot traditionele communicatieklanten kan Jami berichten versturen zonder externe servers aan te roepen door een directe verbinding tussen gebruikers tot stand te brengen met behulp van end-to-end encryptie (de sleutels zijn alleen aan de klantzijde aanwezig) en authenticatie op basis van X.509-certificaten. Naast beveiligde berichtenuitwisseling stelt het programma ook in staat om spraak- en video-oproepen te doen, teleconferenties te creëren, bestanden uit te wisselen en gezamenlijke toegang tot bestanden en scherminhoud te organiseren. Voor videoconferenties op de server met een CPU Intel Core i7-7700K 4.20 GHz, 32 GB RAM en een netwerkaansluiting van 100 Mbit/s, wordt de beste kwaliteit bereikt met maximaal 25 deelnemers. Voor elke deelnemer aan de videoconferentie is een bandbreedte van ongeveer 2 Mbit/s vereist.
Het project is oorspronkelijk ontwikkeld als een softwaretelefoon op basis van het SIP-protocol, maar is al lang geëvolueerd naar een P2P-model, terwijl het tegelijkertijd compatibiliteit met SIP behoudt en de mogelijkheid om oproepen met dit protocol te doen. Het programma ondersteunt verschillende codecs (G711u, G711a, GSM, Speex, Opus, G.722) en protocollen (ICE, SIP, TLS), en biedt betrouwbare encryptie van video, spraak en berichten. Tot de service functies behoren doorschakeling en het vasthouden van oproepen, het opnemen van gesprekken, gespreksgeschiedenis met zoekfunctie, automatische volumeregeling en integratie met de adressenboeken van GNOME en KDE.
Voor gebruikersidentificatie in Jami wordt een gedecentraliseerd globaal authenticatiemechanisme voor accounts toegepast, dat is gebaseerd op de implementatie van een adressenboek in de vorm van blockchain (gebaseerd op ideeën van het Ethereum-project). Eén gebruikers-ID (RingID) kan tegelijkertijd op meerdere apparaten worden gebruikt en stelt gebruikers in staat om met elkaar in verbinding te staan, ongeacht welk apparaat actief is, zonder dat het nodig is om verschillende ID's op de smartphone en de pc te behouden. Het adressenboek dat verantwoordelijk is voor de vertaling van namen naar RingID, wordt opgeslagen op een groep knooppunten die door verschillende deelnemers worden ondersteund, en het is ook mogelijk om een eigen knooppunt op te zetten voor het onderhouden van een lokale kopie van het globale adressenboek (Jami implementeert ook een aparte interne adressenboek die door de client wordt ondersteund).
Voor het adresseren van gebruikers in Jami wordt het OpenDHT-protocol (gedistribueerde hash-tabel) gebruikt, dat geen centrale registers voor gebruikersinformatie vereist. De basis van Jami is het achtergrondproces jami-daemon, dat verantwoordelijk is voor het verwerken van verbindingen, het organiseren van communicatie, en het werken met video en audio. De interactie met jami-daemon is georganiseerd met behulp van de LibRingClient-bibliotheek, die de basis vormt voor het ontwikkelen van de clientsoftware en alle typische functionaliteit biedt, die niet is gebonden aan gebruikersinterfaces en platforms. Bovenop LibRingClient worden de clientapplicaties zelf ontwikkeld, wat het relatief eenvoudig maakt om verschillende interfaces te creëren en te onderhouden. De belangrijkste client voor pc is geschreven met behulp van de Qt-bibliotheek, en er worden ook clients ontwikkeld op basis van GTK en Electron.
Belangrijkste vernieuwingen:
- De ontwikkeling van het groepscommunicatiesysteem 'zwarm' (Swarms) is voortgezet, dat volledig gedecentraliseerde P2P-chats mogelijk maakt, waarbij de communicatiegeschiedenis gezamenlijk op alle apparaten van de gebruiker in gesynchroniseerde vorm wordt opgeslagen. Terwijl voorheen in de zwarm alleen communicatie tussen twee deelnemers was toegestaan, kunnen nu in de nieuwe versie kleine groepschats worden gemaakt met maximaal 8 deelnemers (in toekomstige versies is het de planning om het maximaal aantal deelnemers te verhogen en ook ondersteuning voor openbare chats toe te voegen).

Er is een nieuwe knop toegevoegd voor het aanmaken van groepschats en de mogelijkheid om chatinstellingen aan te passen.

Na het aanmaken van een groepschat kunnen er nieuwe deelnemers worden toegevoegd en bestaande deelnemers worden verwijderd. Er zijn drie categorieën deelnemers: uitgenodigd (toegevoegd aan de groep, maar nog niet verbonden met de chat), verbonden en administrator. Iedere deelnemer kan uitnodigingen naar anderen versturen, maar alleen de administrator heeft de mogelijkheid om uit de groep te verwijderen (momenteel kan er slechts één administrator zijn, maar in toekomstige versies zal er een flexibeler systeem voor toegangsrechten en de mogelijkheid om meerdere administrators aan te stellen verschijnen).

- Een nieuw paneel met informatie over de chat is toegevoegd, zoals de deelnemerslijst, de lijst met verzonden documenten en instellingen.

- Er zijn verschillende soorten indicatoren toegevoegd voor het lezen van berichten en het typen van tekst.

- De mogelijkheid om bestanden in de chat te verzenden is toegevoegd, waarbij deelnemers het bestand kunnen ontvangen, zelfs als de afzender niet online is.
- Er is een interface toegevoegd voor het zoeken naar berichten in chats.
- De ondersteuning voor het geven van reacties met emoji-symbolen is toegevoegd.
- Er is een optie toegevoegd om informatie over de huidige locatie weer te geven.
- Er is experimentele ondersteuning voor groepschat aan de Desktop-client toegevoegd, ter ondersteuning van videoconferenties.
Bron: opennet.ru





