Po ponad roku prac rozwojowych opublikowano wydanie komunikacyjnego klienta Dino 0.3, które wspiera udział w czatach i wymianę wiadomości za pomocą protokołu Jabber/XMPP. Program jest zgodny z różnymi klientami i serwerami XMPP, koncentruje się na zapewnieniu prywatności rozmów i wspiera szyfrowanie end-to-end za pomocą rozszerzenia OMEMO opartego na protokole Signal lub szyfrowanie z wykorzystaniem OpenPGP. Kod projektu został napisany w języku Vala z użyciem zestawu GTK i jest udostępniany na licencji GPLv3+.
W nowej wersji, oprócz wiadomości tekstowych, wdrożono wsparcie dla połączeń wideo i wideokonferencji, które umożliwiają prowadzenie połączeń wideo z udziałem dwóch lub więcej uczestników. Strumienie wideo są szyfrowane z zastosowaniem szyfrowania end-to-end, a ruch kierowany jest bezpośrednio między użytkownikami w trybie P2P, jednak jako opcja zapasowa dostępna jest również możliwość pracy przez pośredni serwer.

Rozszerzono środki do grupowych połączeń — użytkownik może zainicjować połączenie w zamkniętej grupie lub zaprosić dodatkowych uczestników do już nawiązanego połączenia. Grupy połączeń mogą być organizowane w trybie P2P bez dodatkowych serwerów, z wyjątkiem serwera XMPP, który koordynuje podłączenie do konferencji. W przypadku konferencji z dużą liczbą uczestników, aby zmniejszyć wymagania dotyczące przepustowości, może zostać zorganizowana praca przez centralny serwer. Wymiana kluczy do szyfrowania ruchu uczestników, które są generowane po stronie klienta, odbywa się za pomocą DTLS, a następnie dane są przesyłane przez szyfrowany kanał SRTP. Pewność kluczy jest uwierzytelniana za pomocą rozszerzenia XMPP OMEMO.
Do organizacji połączenia wykorzystuje się protokół XMPP oraz typowe rozszerzenia XMPP (XEP-0353, XEP-0167), co umożliwia wykonywanie połączeń między Dino a dowolnymi innymi klientami XMPP, które wspierają odpowiednie specyfikacje, na przykład, możliwe jest nawiązanie szyfrowanych połączeń wideo z aplikacjami Conversations i Movim, a także nieszyfrowanych połączeń z aplikacją Gajim. W przypadku braku wsparcia dla wideo może zostać ustanowione połączenie audio.
Podstawowe możliwości Dino oraz wspierane rozszerzenia XEP:
- Czaty wieloosobowe z obsługą prywatnych grup i publicznych kanałów (w grupach można rozmawiać tylko z osobami w grupie na dowolne tematy, a na kanałach wszyscy użytkownicy mogą rozmawiać tylko na określony temat);
- Wykorzystanie awatarów;
- Zarządzanie archiwum wiadomości;
- Oznaczanie ostatnich otrzymanych i przeczytanych wiadomości w czatach;
- Załączanie plików i obrazów do wiadomości. Pliki mogą być przesyłane zarówno bezpośrednio z klienta do klienta, jak i z ich przesłaniem na serwer oraz udostępnieniem linku, z którego inny użytkownik może pobrać ten plik;
- Wsparcie dla bezpośredniego przesyłania multimediów (dźwięk, wideo, pliki) między klientami za pomocą protokołu Jingle;
- Wsparcie dla rekordów SRV do nawiązywania bezpośredniego szyfrowanego połączenia za pomocą TLS, oprócz wysyłania przez serwer XMPP;
- Szyfrowanie za pomocą OMEMO i OpenPGP;
- Rozsyłanie wiadomości na zasadzie subskrypcji (Publish-Subscribe);
- Powiadomienie o stanie pisania wiadomości przez innego użytkownika (można wyłączyć wysyłanie powiadomień o pisaniu w kontekście czatów lub pojedynczych użytkowników);
- Opóźniona dostawa wiadomości;
- Zarządzanie zakładkami do czatów i stron internetowych;
- Powiadomienie o pomyślnym dostarczeniu wiadomości;
- Rozszerzone narzędzia do wyszukiwania wiadomości i filtrowania wyników w historii rozmów;
- Wsparcie pracy w jednym interfejsie z wieloma kontami, na przykład do rozdzielania rozmów służbowych i osobistych;
- Praca w trybie offline z rzeczywistym wysyłaniem napisanych wiadomości oraz odbieraniem zgromadzonych na serwerze wiadomości po nawiązaniu połączenia sieciowego;
- Wsparcie SOCKS5 do przekierowywania bezpośrednich połączeń P2P;
- Wsparcie formatu XML vCard.

Źródło: opennet.ru
