Сёння з'явіўся
Код месэнджэра распаўсюджваецца пад ліцэнзіяй 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.
- Ёсць магчымасць падключыць убудовы, якія пашыраюць магчымасць базавага месэнджара.
Крыніца: habr.com