Доступна децентралізована комунікаційна платформа 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

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