Цяпер не заблакуеш: выкладзены першы выпуск дэцэнтралізаванай камунікацыйнай платформы Jami

Цяпер не заблакуеш: выкладзены першы выпуск дэцэнтралізаванай камунікацыйнай платформы Jami
Сёння з'явіўся першы выпуск дэцэнтралізаванай камунікацыйнай платформы Jami, ён распаўсюджваецца пад кодавым імем Together. Раней праект развіваўся пад іншым імем – Ring, а да гэтага – SFLPhone. У 2018 годзе дэцэнтралізаваны мэсанджар перайменавалі для таго, каб пазбегнуць магчымых канфліктаў з гандлёвымі маркамі.

Код месэнджэра распаўсюджваецца пад ліцэнзіяй GPLv3. Jami выпушчаны для GNU/Linux, Windows, MacOS, iOS, Android і Android TV. Па жаданні можна абраць адзін з варыянтаў інтэрфейсаў на базе Qt, GTK і Electron. Але галоўнае тут, вядома, не інтэрфейсы, а тое, што Jami дае магчымасць абменьвацца паведамленнямі без звароту да вылучаных вонкавых сервераў.

Замест гэтага паміж карыстальнікамі усталёўваецца прамое злучэнне з ужываннем канцавога шыфравання. Ключы пры гэтым прысутнічаюць толькі на баку кліента. Працэдура аўтэнтыфікацыі грунтуецца на аснове сертыфікатаў X.509. Акрамя паведамленняў, платформа дае магчымасць здзяйсняць аўдыё- і гутарку, ствараць тэлеканферэнцыі, абменьвацца файламі, арганізоўваць сумесны доступ да файлаў і змесціва экрана.

Першапачаткова гэты праект пазіцыянаваўся і развіваўся як праграмны SIP-тэлефон. Але затым распрацоўшчыкі вырашылі пашырыць функцыянальнасць праекта, захаваўшы сумяшчальнасць з SIP і пакінуўшы магчымасць здзяйснення званкоў пры дапамозе гэтага пратакола. Праграма падтрымлівае розныя кодэкі, у тым ліку G711u, G711a, GSM, Speex, Opus, G.722, плюс пратаколы ICE, SIP, TLS.

У лік камунікацыйных функцый уваходзіць адмена пераадрасацыі, утрыманне выклікаў, запіс званкоў, гісторыя выклікаў з пошукам, аўтаматычны кантроль гучнасці, інтэграцыя з адраснымі кнігамі GNOME і KDE.

Вышэй коратка гаварылася аб надзейнай сістэме аўтэнтыфікацыі карыстальнікаў. Механізм грунтуецца на блокчейне - адрасная кніга працуе на аснове Ethereum. Пры гэтым падлучацца можна адразу з некалькіх прылад, злучаючыся з карыстачом па-за залежнасцю ад таго, якое з прылад актыўна. Адрасная кніга, якая адказвае за трансляцыю імёнаў у RingID, рэалізавана з выкарыстаннем вузлоў, якія падтрымліваюцца рознымі ўдзельнікамі. З іх дапамогай можна запусціць уласны вузел для падтрымання лакальнай копіі глабальнай адраснай кнігі.

Што да адрасацыі карыстальнікаў, то распрацоўшчыкі выкарыстоўвалі для вырашэння гэтай задачы пратакол OpenDHT, які не патрабуе прымянення цэнтралізаваных рэестраў з інфармацыяй аб карыстальніках. Аснова Jami – jami-daemon, які адказвае за апрацоўку злучэнняў, арганізацыю сувязі, працу з відэа і гукам.

Узаемадзеянне з jami-daemon рэалізавана на аснове бібліятэкі LibRingClient. Яна з'яўляецца асноўнай для пабудовы кліенцкага ПЗ і забяспечвае неабходную функцыянальнасць, якая не прывязана да інтэрфейсу карыстальніка і платформам. А ўжо па-над LibRingClient распрацоўваюцца кліенцкія прыкладанні.

Пры перапрацоўцы P2P-месенджара ў тэлекамунікацыйную платформу распрацоўшчыкі дадалі новыя і абнавілі існуючыя функцыі. Вось яны:

  • Палепшана работа ў сетках з нізкай прапускной здольнасцю.
  • Скарочана колькасць выкарыстоўваных рэсурсаў пры працы пад Android і iOS.
  • Перапісаны кліент для Windows. Ён можа працаваць і ў планшэтным рэжыме.
  • З'явіліся прылады для правядзення тэлеканферэнцый з некалькімі ўдзельнікамі.
  • Дададзена магчымасць змены рэжыму трансляцыі ў канферэнцыі.
  • Прыкладанне можна ператварыць у сервер адным клікам ( гэта можа спатрэбіцца, напрыклад, для правядзення канферэнцый).
  • Рэалізаваны сервер кіравання уліковымі запісамі JAMS.
  • Ёсць магчымасць падключыць убудовы, якія пашыраюць магчымасць базавага месэнджара.

Цяпер не заблакуеш: выкладзены першы выпуск дэцэнтралізаванай камунікацыйнай платформы Jami

Крыніца: habr.com

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