Даступная дэцэнтралізаваная камунікацыйная платформа Jami "Vilagfa"

Прадстаўлены новы выпуск дэцэнтралізаванай камунікацыйнай платформы Jami, які распаўсюджваецца пад кодавым імем "Világfa". Праект накіраваны на стварэнне сістэмы камунікацый, якая працуе ў рэжыме P2P і дазваляе арганізаваць як зносіны вялікіх груп, так і выкананне індывідуальных выклікаў з прадастаўленнем высокага ўзроўню канфідэнцыйнасці і бяспекі. Jami, у мінулым вядомы як Ring і SFLphone, уваходзіць у лік праектаў GNU і распаўсюджваецца пад ліцэнзіяй GPLv3. Бінарныя зборкі падрыхтаваны для GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL і да т.п.), Windows, macOS, iOS, Android і Android TV.

У адрозненне ад традыцыйных камунікацыйных кліентаў Jami здольны перадаваць паведамленні без звароту да вонкавых сервераў праз арганізацыю прамога злучэння паміж карыстачамі з ужываннем скразнога шыфравання (End-to-end, ключы прысутнічаюць толькі на боку кліента) і аўтэнтыфікацыі на аснове сертыфікатаў X.509. Акрамя абароненага абмену паведамленнямі, праграма дазваляе здзяйсняць галасавыя і відэа-званкі, ствараць тэлеканферэнцыі, абменьвацца файламі, арганізоўваць сумесны доступ да файлаў і змесціва экрана. Для відэаканферэнцый на серверы з CPU Intel Core i7-7700K 4.20 GHz, 32 GB АЗП і сеткавым падлучэннем 100 Mbit/s найлепшая якасць дасягаецца пры падлучэнні не больш за 25 удзельнікаў. На кожнага ўдзельніка відэаканферэнцыі патрабуецца прапускная здольнасць прыкладна ў 2 Mbit/s.

Першапачаткова праект развіваўся як праграмны тэлефон на базе пратакола SIP, але ўжо даўно выйшаў за гэтыя рамкі на карысць мадэлі P2P, захаваўшы пры гэтым сумяшчальнасць з SIP і магчымасць здзяйснення званкоў пры дапамозе дадзенага пратакола. Праграма падтрымлівае розныя кодэкі (G711u, G711a, GSM, Speex, Opus, G.722) і пратаколы (ICE, SIP, TLS), забяспечвае надзейнае шыфраванне відэа, галасы і паведамленняў. З сэрвісных функцый можна адзначыць пераадрасаванне і ўтрыманне выклікаў, запіс званкоў, гісторыя выклікаў з пошукам, аўтаматычны кантроль гучнасці, інтэграцыя з адраснымі кнігамі GNOME і KDE.

Для ідэнтыфікацыі карыстальніка ў Jami прымяняецца дэцэнтралізаваны глабальны механізм аўтэнтыфікацыі ўліковых запісаў, заснаваны на рэалізацыі адраснай кнігі ў форме блокчейна (ужываюцца напрацоўкі праекта Ethereum). Адзін ідэнтыфікатар карыстальніка (RingID) можа выкарыстоўвацца адначасова на некалькіх прыладах і дазваляе звязвацца з карыстачом незалежна ад таго, якое з прылад актыўна, без неабходнасці падтрымання розных ідэнтыфікатараў на смартфоне і ПК. Адрасная кніга, якая адказвае за трансляцыю імёнаў у RingID, захоўваецца на групе вузлоў, якія падтрымліваюцца рознымі ўдзельнікамі, у тым ліку можна запусціць свой вузел для падтрымання лакальнай копіі глабальнай адраснай кнігі (Jami таксама рэалізуе асобную ўнутраную адрасную кнігу, якая падтрымліваецца кліентам).

Для адрасавання карыстальнікаў у Jami выкарыстоўваецца пратакол OpenDHT (размеркаваная хэш табліца), які не патрабуе прымянення цэнтралізаваных рэестраў з інфармацыяй аб карыстальніках. Аснову Jami складае фонавы працэс jami-daemon, які адказвае за апрацоўку злучэнняў, арганізацыю сувязі, працу з відэа і гукам. Узаемадзеянне з jami-daemon арганізавана пры дапамозе бібліятэкі LibRingClient, якая служыць асновай для пабудовы кліенцкага ПЗ і дае ўсю тыпавую функцыянальнасць, не прывязаную да інтэрфейсу карыстальніка і платформам. Па-над LibRingClient ствараюцца непасрэдна кліенцкія прыкладанні, што дазваляе досыць проста ствараць і падтрымліваць розныя інтэрфейсы. Асноўны кліент для ПК напісаны з выкарыстаннем бібліятэкі Qt, дадаткова развіваюцца кліенты на базе GTK і Electron.

Асноўныя навіны:

  • Прадоўжана развіццё сістэмы групавых камунікацый "рой" (Swarms), якія дазваляюць ствараць цалкам размеркаваныя P2P-чаты, гісторыя зносін у якіх сумесна захоўваецца на ўсіх прыладах карыстальніка ў сінхранізаваным выглядзе. Калі раней у роі дапускаліся зносіны толькі двух удзельнікаў, у новым выпуску ў рэжыме роя зараз можна ствараць невялікія групавыя чаты, якія налічваюць да 8 чалавек (у будучых выпусках плануюць павялічыць дапушчальную колькасць удзельнікаў, а таксама дадаць падтрымку публічных чатаў).
    Даступная дэцэнтралізаваная камунікацыйная платформа Jami "Vilagfa"

    Для стварэння групавых чатаў дададзена новая кнопка і дадзена магчымасць налады параметраў чата.

    Даступная дэцэнтралізаваная камунікацыйная платформа Jami "Vilagfa"

    Пасля стварэння групавога чата ў яго можна дадаваць новых удзельнікаў і выдаляць наяўных. Ёсць тры катэгорыі ўдзельнікаў: запрошаны (дададзены ў групу, але пакуль не падключыўся да чата), які падключыўся і адміністратар. Кожны ўдзельнік можа дасылаць запрашэнні іншым людзям, але выдаляць з групы мае магчымасць толькі адміністратар (пакуль можа быць толькі адзін адміністратар, але ў будучых выпусках з'явіцца гнуткая сістэма правоў доступу і магчымасць прызначэння некалькіх адміністратараў).

    Даступная дэцэнтралізаваная камунікацыйная платформа Jami "Vilagfa"

  • Дададзена новая панэль з інфармацыяй аб чаце, такі як спіс удзельнікаў, спіс адпраўленых дакументаў і наладкі.
    Даступная дэцэнтралізаваная камунікацыйная платформа Jami "Vilagfa"
  • Дададзена некалькі відаў індыкатараў аб чытанні паведамлення і наборы тэксту.
    Даступная дэцэнтралізаваная камунікацыйная платформа Jami "Vilagfa"
  • Дадзеная магчымасць адпраўкі файлаў у чат, пры гэтым удзельнікі чата могуць атрымаць файл нават калі адпраўнік не знаходзіцца ў сетцы.
  • Дададзены інтэрфейс для пошуку паведамленняў у чатах.
  • Дададзена падтрымка выстаўлення рэакцый з выкарыстаннем сімвалаў emoji.
  • Дададзена опцыя для адлюстравання інфармацыі аб бягучым месцазнаходжанні.
  • У Desktop-кліент дададзена эксперыментальная падтрымка групавога чата, які суправаджае правядзенне відэаканферэнцыі.

Крыніца: opennet.ru

Дадаць каментар