pojawił się dzisiaj
Kod komunikatora jest rozpowszechniany na licencji GPLv3. Jami został wydany dla systemów GNU/Linux, Windows, MacOS, iOS, Android i Android TV. Opcjonalnie możesz wybrać jedną z opcji dla interfejsów opartych o Qt, GTK i Electron. Ale najważniejsze tutaj oczywiście nie są interfejsy, ale fakt, że Jami
Zamiast tego ustanawiane jest bezpośrednie połączenie między użytkownikami przy użyciu szyfrowania typu end-to-end. Klucze są obecne tylko po stronie klienta. Procedura uwierzytelniania oparta jest o certyfikaty X.509. Oprócz wiadomości platforma umożliwia prowadzenie rozmów audio i wideo, tworzenie telekonferencji, wymianę plików, organizowanie udostępniania plików i zawartości ekranu.
Początkowo projekt ten był pozycjonowany i rozwijany jako programowy telefon SIP. Ale wtedy twórcy postanowili rozszerzyć funkcjonalność projektu, zachowując jednocześnie kompatybilność z SIP i pozostawiając możliwość wykonywania połączeń za pomocą tego protokołu. Program obsługuje różne kodeki, w tym G711u, G711a, GSM, Speex, Opus, G.722, a także protokoły ICE, SIP, TLS.
Funkcje komunikacyjne obejmują anulowanie przekazywania połączeń, zawieszanie połączeń, nagrywanie rozmów, historię połączeń z wyszukiwaniem, automatyczną regulację głośności, integrację książki adresowej GNOME i KDE.
Powyżej krótko omówiliśmy niezawodny system uwierzytelniania użytkowników. Mechanizm oparty jest o blockchain - książka adresowa oparta jest o Ethereum. Jednocześnie możesz łączyć się z kilku urządzeń jednocześnie, kontaktując się z użytkownikiem niezależnie od tego, które urządzenie jest aktywne. Książka adresowa, która jest odpowiedzialna za tłumaczenie nazw w RingID, jest implementowana przy użyciu węzłów, które są utrzymywane przez różnych członków. Można ich użyć do uruchomienia własnego węzła w celu utrzymania lokalnej kopii globalnej książki adresowej.
Jeśli chodzi o adresowanie użytkowników, programiści wykorzystali do rozwiązania tego problemu protokół OpenDHT, który nie wymaga korzystania ze scentralizowanych rejestrów z informacjami o użytkownikach. Podstawą Jami jest jami-daemon, który odpowiada za przetwarzanie połączeń, organizację komunikacji, pracę z obrazem i dźwiękiem.
Interakcja z jami-daemonem opiera się na bibliotece LibRingClient. Jest podstawą do budowy oprogramowania klienckiego i zapewnia niezbędną funkcjonalność, która nie jest powiązana z interfejsem użytkownika i platformami. A już na szczycie LibRingClient rozwijane są aplikacje klienckie.
Podczas przetwarzania komunikatora P2P na platformę telekomunikacyjną programiści
- Poprawiona wydajność w sieciach o niskiej przepustowości.
- Zmniejszono ilość zasobów zużywanych podczas pracy pod systemami Android i iOS.
- Przepisany klient dla systemu Windows. Może również działać w trybie tabletu.
- Istnieją narzędzia do telekonferencji z wieloma uczestnikami.
- Dodano możliwość zmiany trybu transmisji w konferencji.
- Aplikację jednym kliknięciem można zamienić w serwer (może to być konieczne np. w przypadku konferencji).
- Wdrożono serwer zarządzania kontami JAMS.
- Istnieje możliwość podłączenia wtyczek rozszerzających możliwości podstawowego komunikatora.
Źródło: www.habr.com