Twórcy frameworka GNUnet, przeznaczonego do budowy bezpiecznych zdecentralizowanych sieci P2P, które nie mają ani jednego punktu awarii i mogą zagwarantować prywatność prywatnych informacji użytkowników, zaprezentowali pierwsze wydanie biblioteki libgnunetchat 0.1.0. Biblioteka ułatwia korzystanie z technologii GNUnet i usługi GNUnet Messenger do tworzenia bezpiecznych aplikacji do czatowania.
Libgnunetchat zapewnia oddzielną warstwę abstrakcji w programie GNUnet Messenger, która zawiera typową funkcjonalność używaną w komunikatorach. Programista może skupić się jedynie na stworzeniu interfejsu graficznego przy użyciu wybranego przez siebie zestawu narzędzi GUI, a nie martwić się o komponenty związane z organizacją czatu i interakcją między użytkownikami. Implementacje klientów zbudowane na bazie libgnunetchat pozostają kompatybilne i mogą ze sobą współdziałać.
Aby zapewnić poufność i ochronę przed przechwyceniem wiadomości, wykorzystywany jest protokół CADET (Confidential Ad-hoc Decentralized End-to-End Transport), który umożliwia organizację całkowicie zdecentralizowanej interakcji pomiędzy grupą użytkowników przy wykorzystaniu szyfrowania end-to-end przesyłanych danych . Użytkownicy mają możliwość wysyłania wiadomości i plików. Dostęp do wiadomości w plikach mają tylko członkowie grupy. Aby koordynować interakcje między uczestnikami zdecentralizowanej sieci, można zastosować rozproszoną tablicę mieszającą (DHT) lub specjalne punkty wejścia.
Oprócz Messengera libgnunetchat korzysta również z następujących usług GNUnet:
- GNS (system nazw GNU, w pełni zdecentralizowany i nieocenzurowany zamiennik DNS) w celu identyfikacji opublikowanych wpisów na publicznych stronach czatów (lobby), otwierania czatu i wymiany danych uwierzytelniających.
- ARM (Automatic Restart Manager) do automatyzacji uruchamiania wszystkich usług GNUnet wymaganych do działania.
- FS (File Sharing) do bezpiecznego przesyłania, wysyłania i organizowania udostępniania plików (wszystkie informacje przesyłane są wyłącznie w formie zaszyfrowanej, a zastosowanie protokołu GAP nie pozwala na śledzenie, kto opublikował i pobrał plik).
- TOŻSAMOŚĆ do tworzenia, usuwania i zarządzania kontami, a także do weryfikacji parametrów innego użytkownika.
- NAMESTORE do lokalnego przechowywania książki adresowej i informacji o czacie oraz publikowania wpisów na stronach czatów dostępnych za pośrednictwem GNS.
- REGEX do publikowania informacji o uczestnikach, pozwalający na szybkie utworzenie publicznego czatu grupowego na konkretny temat.
Kluczowe cechy pierwszego wydania libgnunetchat:
- Zarządzaj kontami (twórz, przeglądaj, usuwaj) i możliwością przełączania się między różnymi kontami podczas pracy.
- Możliwość zmiany nazwy konta i aktualizacji klucza.
- Wymieniaj kontakty za pośrednictwem publicznych stron czatu (lobby). Informacje o użytkowniku można uzyskać zarówno w formie łącza tekstowego, jak i w formie kodu QR.
- Kontaktami i grupami można zarządzać oddzielnie, możliwe jest także łączenie różnych pseudonimów z różnymi grupami.
- Możliwość zażądania i otwarcia bezpośredniego czatu z dowolnym uczestnikiem z książki adresowej.
- Abstrakcja widoków użytkowników i czatów w celu uproszczenia pakowania w pożądany interfejs.
- Obsługuje wysyłanie wiadomości tekstowych, plików i udostępnianie plików.
- Obsługa wysyłania potwierdzenia przeczytania wiadomości oraz możliwość sprawdzenia statusu otrzymania wiadomości.
- Możliwość automatycznego usunięcia wiadomości po określonym czasie.
- Elastyczne opcje zarządzania plikami na czacie, możesz na przykład zorganizować wyświetlanie miniatury treści, pozostawiając samą treść zaszyfrowaną.
- Możliwość podłączenia handlerów w celu śledzenia wszystkich operacji (pobieranie, wysyłanie, usuwanie z indeksów).
- Wsparcie dla akceptowania zaproszeń do dołączenia do nowych czatów.
Dodatkowo możemy odnotować wydanie gotowego komunikatora GNUnet Messenger 0.7, oferującego interfejs oparty na GTK3. GNUnet Messenger kontynuuje rozwój klienta graficznego cadet-gtk, przetłumaczonego na bibliotekę libgnunetchat (funkcjonalność cadet-gtk jest podzielona na bibliotekę uniwersalną i dodatek z interfejsem GTK). Program umożliwia tworzenie czatów i grup czatów, zarządzanie książką adresową, wysyłanie zaproszeń do dołączenia do grup, wysyłanie wiadomości tekstowych i nagrań głosowych, organizowanie udostępniania plików oraz przełączanie między wieloma kontami. Dla fanów paska adresu osobno tworzony jest komunikator konsolowy oparty na libgnunetchat, który jest jeszcze w początkowej fazie rozwoju.
Źródło: opennet.ru