Opublikowano zdecentralizowanego klienta komunikacyjnego Jami „Taranis”.

Została wydana nowa wersja zdecentralizowanej platformy komunikacyjnej Jami, dystrybuowanej pod nazwą kodową „Taranis”. Projekt ma na celu stworzenie systemu komunikacyjnego, który działa w trybie P2P i umożliwia zarówno komunikację dużych grup, jak i indywidualne połączenia z wysokim poziomem prywatności i bezpieczeństwa. Jami, wcześniej znany jako Ring i SFLphone, jest projektem GNU i jest dystrybuowany na licencji GPLv3. Wersje binarne są dostępne dla systemów GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL itp.), Windows, macOS, iOS, Android i Android TV.

W przeciwieństwie do tradycyjnych klientów komunikacyjnych, Jami może przesyłać wiadomości bez dostępu do serwerów zewnętrznych, nawiązując bezpośrednie połączenie między użytkownikami za pomocą szyfrowania typu end-to-end (klucze są dostępne tylko po stronie klienta) i uwierzytelniania opartego na certyfikatach X.509. Oprócz bezpiecznego przesyłania wiadomości, program umożliwia prowadzenie rozmów głosowych i wideo, telekonferencje, udostępnianie plików oraz udostępnianie plików i ekranu. W przypadku wideokonferencji, serwer Dzięki procesorowi Intel Core i7-7700K 4.20 GHz, 32 GB pamięci RAM i połączeniu sieciowemu 100 Mb/s, najwyższą jakość można osiągnąć nawet przy 25 uczestnikach wideokonferencji. Każdy uczestnik potrzebuje około 2 Mb/s przepustowości.

Początkowo projekt rozwijany był jako telefon programowy bazujący na protokole SIP, ale już dawno wyszedł poza te ramy na rzecz modelu P2P, zachowując jednocześnie kompatybilność z SIP i możliwość wykonywania połączeń przy użyciu tego protokołu. Program obsługuje wiele kodeków (G711u, G711a, GSM, Speex, Opus, G.722) i protokołów (ICE, SIP, TLS), zapewniając niezawodne szyfrowanie obrazu, głosu i wiadomości. Funkcje serwisowe obejmują przekierowywanie i wstrzymywanie połączeń, nagrywanie rozmów, historię połączeń z funkcją wyszukiwania, automatyczną regulację głośności oraz integrację z książkami adresowymi GNOME i KDE.

Aby zidentyfikować użytkownika, Jami wykorzystuje zdecentralizowany, globalny mechanizm uwierzytelniania kont oparty na implementacji książki adresowej w formie łańcucha bloków (wykorzystuje rozwiązania z projektu Ethereum). Jednego identyfikatora użytkownika (RingID) można używać jednocześnie na wielu urządzeniach, co pozwala na kontakt z użytkownikiem niezależnie od tego, które urządzenie jest aktywne, bez konieczności używania różnych identyfikatorów na smartfonie i komputerze. Książka adresowa odpowiedzialna za tłumaczenie nazw na identyfikatory RingID jest przechowywana w grupie węzłów obsługiwanych przez różnych uczestników, co umożliwia uruchomienie własnego węzła w celu obsługi lokalnej kopii globalnej książki adresowej (Jami implementuje również oddzielną wewnętrzną książkę adresową obsługiwaną przez klienta).

Jami wykorzystuje protokół OpenDHT (rozproszonej tablicy skrótów) do adresowania użytkowników, co nie wymaga stosowania scentralizowanych rejestrów z informacjami o użytkownikach. Sercem Jami jest proces działający w tle jami-daemon, który odpowiada za obsługę połączeń, organizowanie komunikacji oraz pracę z obrazem i dźwiękiem. Interakcja z jami-daemon odbywa się za pomocą biblioteki LibRingClient, która stanowi podstawę do tworzenia oprogramowania klienckiego i udostępnia wszystkie standardowe funkcje, które nie są powiązane z interfejsem użytkownika ani platformami. Aplikacje klienckie są tworzone bezpośrednio w LibRingClient, co znacznie ułatwia tworzenie i obsługę różnych interfejsów.

Główne innowacje:

  • Proponowana jest początkowa implementacja nowego systemu komunikacji grupowej o nazwie „Swarms”. System umożliwia tworzenie w pełni rozproszonych czatów P2P, których historia komunikacji jest wspólnie przechowywana na wszystkich urządzeniach użytkowników w zsynchronizowanej formie. Pierwsza implementacja ogranicza się do komunikacji między dwoma uczestnikami z możliwością połączenia użytkownika z różnych urządzeń powiązanych z jednym kontem (historia czatu jest synchronizowana na wszystkich urządzeniach). Kolejna wersja doda obsługę czatów grupowych w trybie swarm.
     Zdecentralizowany klient komunikacyjny Jami „Taranis” wydany
  • Ulepszona obsługa konferencji. Dodano tryb „miejsca spotkania”, który umożliwia łączenie wszystkich połączeń przychodzących w konferencję (możesz zezwolić na łączenie się tylko użytkownikom obecnym w książce adresowej), dzięki czemu nie musisz ręcznie dodawać każdego uczestnika. Dodano ustawienia definiowania domyślnego moderatora. Moderatorzy konferencji mają możliwość wyciszania i włączania wyciszenia uczestników, a także wyrzucania uczestników.
     Zdecentralizowany klient komunikacyjny Jami „Taranis” wydany

    Dodano funkcję „podnieś rękę”, która pozwala uczestnikowi wyrazić chęć zabrania głosu.

     Zdecentralizowany klient komunikacyjny Jami „Taranis” wydany

    Rozszerzono możliwość transmitowania zawartości ekranu, co teraz umożliwia pokazywanie innym uczestnikom zawartości pojedynczych okien, a nie całego ekranu lub wybranego obszaru.

     Zdecentralizowany klient komunikacyjny Jami „Taranis” wydany
  • Aplikacja na Androida ma nowy interfejs połączeń, natomiast wersja na iOS charakteryzuje się ulepszoną łącznością, gdy urządzenie znajduje się w trybie uśpienia lub oszczędzania energii.
     Zdecentralizowany klient komunikacyjny Jami „Taranis” wydany
  • Dodano obsługę platformy Windows 11.

Źródło: opennet.ru