Gli sviluppatori del framework GNUnet, progettato per costruire reti P2P decentralizzate sicure che non hanno un singolo punto di errore e sono in grado di garantire l'inviolabilità delle informazioni private degli utenti, hanno introdotto la prima release della libreria libgnunetchat 0.1.0. La libreria semplifica l'utilizzo delle tecnologie GNUnet e del servizio GNUnet Messenger per creare applicazioni di chat sicure.
Libgnunetchat fornisce un livello separato di astrazione su GNUnet Messenger che include funzionalità generiche utilizzate nei messenger. Lo sviluppatore è lasciato a concentrarsi sulla creazione di un'interfaccia grafica utilizzando il toolkit GUI di sua scelta, e non preoccuparsi dei componenti relativi all'organizzazione della chat e dell'interazione tra gli utenti. Le implementazioni client basate su libgnunetchat rimangono compatibili tra loro e possono interagire tra loro.
Per garantire la riservatezza e la protezione contro l'intercettazione dei messaggi, viene utilizzato il protocollo CADET (Confidential Ad-hoc Decentralized End-to-End Transport), che consente di organizzare un'interazione completamente decentralizzata tra un gruppo di utenti utilizzando la crittografia end-to-end dei dati trasmessi . Agli utenti viene data la possibilità di inviare messaggi e file. L'accesso ai messaggi nei file è limitato ai membri del gruppo. È possibile utilizzare una tabella hash distribuita (DHT) o punti di ingresso speciali per coordinare l'interazione tra i partecipanti in una rete decentralizzata.
Oltre a Messenger, libgnunetchat utilizza anche i seguenti servizi GNUnet:
- GNS (GNU Name System, una sostituzione DNS completamente decentralizzata e non censurabile) per determinare i record pubblicati nelle pagine di chat pubbliche (lobby), aprire una chat e scambiare credenziali.
- ARM (Automatic Restart Manager) per automatizzare l'avvio di tutti i servizi GNUnet necessari per l'esecuzione.
- FS (File Sharing) per il download sicuro, l'invio e l'organizzazione della condivisione dei file (tutte le informazioni vengono trasmesse solo in forma crittografata e l'uso del protocollo GAP non consente di tracciare chi ha pubblicato e scaricato il file).
- IDENTITY per creare, eliminare e gestire account, nonché per verificare le impostazioni di un altro utente.
- NAMESTORE per l'archiviazione locale delle informazioni sulla rubrica e sulla chat e per la pubblicazione di voci nelle pagine di chat accessibili tramite GNS.
- REGEX per la pubblicazione di informazioni sui partecipanti, che consente di formare rapidamente una chat di gruppo pubblica su un argomento specifico.
Caratteristiche principali della prima versione di libgnunetchat:
- Gestione dell'account (creazione, visualizzazione, eliminazione) e possibilità di passare da un account all'altro durante il lavoro.
- Possibilità di rinominare l'account e aggiornare la chiave.
- Scambio di contatti attraverso pagine di chat pubbliche (lobby). Le informazioni sull'utente possono essere ottenute sia sotto forma di collegamento testuale sia sotto forma di codice QR.
- Contatti e gruppi possono essere gestiti separatamente, è possibile associare diversi nickname a diversi gruppi.
- Possibilità di richiedere e aprire una chat diretta con qualsiasi partecipante dalla rubrica.
- Astrazione delle visualizzazioni utente e chat per semplificare il wrapping nell'interfaccia desiderata.
- Supporto per l'invio di messaggi di testo, file e condivisione di file.
- Supporto per l'invio di una conferma che un messaggio è stato letto e la possibilità di controllare lo stato di ricezione di un messaggio.
- Possibilità di eliminare automaticamente i messaggi dopo un tempo specificato.
- Opzioni flessibili per la gestione dei file in una chat, ad esempio, puoi organizzare la visualizzazione di una miniatura del contenuto lasciando il contenuto stesso in forma crittografata.
- Possibilità di collegare i gestori per tenere traccia di tutte le operazioni (download, upload, cancellazione dagli indici).
- Supporto per accettare inviti a connettersi a nuove chat.
Inoltre, possiamo notare il rilascio del messenger finito GNUnet Messenger 0.7, che offre un'interfaccia basata su GTK3. GNUnet Messenger continua lo sviluppo del client grafico cadet-gtk, tradotto nella libreria libgnunetchat (la funzionalità di cadet-gtk è suddivisa in una libreria universale e un add-on con un'interfaccia GTK). Il programma supporta la creazione di chat e gruppi di chat, la gestione della rubrica, l'invio di inviti a partecipare a gruppi, l'invio di messaggi di testo e registrazioni vocali, l'organizzazione della condivisione di file, il passaggio tra più account. Per gli amanti della barra degli indirizzi, viene sviluppato separatamente un messenger per console basato su libgnunetchat, che è ancora in una fase iniziale di sviluppo.
Fonte: opennet.ru