Тепер не заблокуєш: викладено перший випуск децентралізованої комунікаційної платформи 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

Додати коментар або відгук