
Danes se je pojavil decentralizirane komunikacijske platforme Jami, ki se distribuira pod kodnim imenom Together. Pred tem se je projekt razvijal pod drugim imenom — Ring, prej pa — SFLPhone. Leta 2018 so decentraliziranega messengerja preimenovali, da bi se izognili morebitnim konfliktom s blagovnimi znamkami.
Koda messengerja se distribuira pod licenco GPLv3. Jami je izdan za GNU/Linux, Windows, MacOS, iOS, Android in Android TV. Po želji lahko izberete enega od vmesnikov na osnovi Qt, GTK in Electron. Vendar pa je najpomembneje, da Jami izmenjavo sporočil brez potrebe po pristojnih zunanjih strežnikih.
Namesto tega se med uporabniki vzpostavi neposredna povezava z uporabo končnega šifriranja. Ključev pri tem ni, razen na strani odjemalca. Postopek avtorizacije temelji na certifikatih X.509. Poleg sporočil platforma omogoča tudi avdio in video klice, organizacijo telekonferenc, izmenjavo datotek ter omogoča skupno rabo datotek in vsebine zaslona.
Sprva je bil ta projekt pozicioniran in razvit kot programski SIP-telefon. A nato so se razvijalci odločili razširiti funkcionalnosti projekta, obdržali pa so združljivost s SIP in možnost klicanja preko tega protokola. Program podpira različne kodeke, vključno z G711u, G711a, GSM, Speex, Opus, G.722, plus protokole ICE, SIP, TLS.
Med komunikacijskimi funkcijami so preklic preusmerjanja, zadrževanje klicev, snemanje klicev, zgodovina klicev s iskanjem, samodejna kontrola glasnosti, integracija s adresarji GNOME in KDE.
Zgornje možnost ni nasploh govorila o zanesljivem sistemu avtentikacije uporabnikov. Mehanizem temelji na blockchainu — naslovnik deluje na osnovi Ethereuma. Pri tem se lahko povežete z več napravami hkrati in se povežete z uporabnikom ne glede na to, katera od naprav je aktivna. Naslovnik, ki odgovarja za predvajanje imen v RingID, je implementiran s pomočjo vozlišč, ki jih podpirajo različni udeleženci. S pomočjo teh lahko zaženete svojo vozlišče za vzdrževanje lokalne kopije globalnega naslovnika.
Kar zadeva naslov uporabnikov, so razvijalci uporabili protokol OpenDHT, ki ne zahteva uporabe centraliziranih registrov z informacijami o uporabnikih. Osnova Jami je jami-daemon, ki je odgovoren za obdelavo povezav, organizacijo komunikacije ter delo z videom in zvokom.
Interakcija z jami-daemon je izvedena na podlagi knjižnice LibRingClient. Ta je ključna za razvoj odjemalske programske opreme in zagotavlja potrebno funkcionalnost, ki ni vezana na uporabniški vmesnik in platforme. Na vrhu LibRingClient so razvite odjemalske aplikacije.
Pri predelavi P2P sporočilnika v telekomunikacijsko platformo so razvijalci nove in posodobili obstoječe funkcije. Te so:
- Izboljšano delovanje v omrežjih z nizko propustnostjo.
- Zmanjšano število uporabljenih virov pri delovanju pod Androidom in iOS.
- Klient za Windows je bil ponovno napisan. Zdaj lahko deluje tudi v tabelarnem načinu.
- Pojavili so se orodja za izvedbo telekonferenc z več udeleženci.
- Dodana je možnost spreminjanja načina prenosa v konferenci.
- Aplikacijo je mogoče enostavno pretvoriti v strežnik z enim klikom (to bi se lahko izkazalo za koristno, na primer, za izvajanje konferenc).
- Izveden je strežnik za upravljanje računov JAMS.
- Obstaja možnost povezovanja vtičnikov, ki razširijo zmožnosti osnovnega sporočilnika.
Izvor: habr.com
