Gli sviluppatori del framework GNUnet, progettato per costruire reti P2P decentralizzate sicure senza un punto unico di guasto e in grado di garantire la privacy degli utenti, hanno presentato la prima versione della libreria libgnunetchat 0.1.0. Questa libreria semplifica l'uso delle tecnologie GNUnet e del servizio GNUnet Messenger per creare applicazioni di chat sicure.
Libgnunetchat fornisce un livello di astrazione separato sopra GNUnet Messenger, includendo funzionalità di base comunemente utilizzate nei messenger. Gli sviluppatori possono concentrarsi sulla creazione dell'interfaccia grafica utilizzando il toolkit GUI di propria scelta senza preoccuparsi dei componenti legati all'organizzazione della chat e all'interazione tra gli utenti. Le implementazioni dei client basate su libgnunetchat rimangono compatibili tra loro e possono interagire.
Per garantire la riservatezza e proteggere dai sequestri dei messaggi, si applica il protocollo CADET (Confidential Ad-hoc Decentralized End-to-End Transport), che consente di organizzare interazioni completamente decentralizzate tra un gruppo di utenti utilizzando la crittografia end-to-end dei dati trasmessi. Gli utenti possono inviare messaggi e file. L'accesso ai messaggi nei file è riservato solo ai membri del gruppo. Per coordinare l'interazione tra i partecipanti della rete decentralizzata, possono essere utilizzate tabelle hash distribuite (DHT) o punti d'ingresso speciali.
Oltre a Messenger, in libgnunetchat vengono utilizzati anche i seguenti servizi GNUnet:
- GNS (GNU Name System, una sostituzione completamente decentralizzata e non censurabile del DNS) per definire le registrazioni pubblicate nelle pagine chat (lobbie), aprire chat e scambiare credenziali.
- ARM (Automatic Restart Manager) per automatizzare l'avvio di tutti i servizi GNUnet necessari al funzionamento.
- FS (File Sharing) per il caricamento sicuro, l'invio e l'organizzazione dell'accesso condiviso ai file (tutte le informazioni vengono trasmesse solo in forma crittografata e l'uso del protocollo GAP impedisce di tracciare chi ha caricato e scaricato un file).
- IDENTITY per la creazione, cancellazione e gestione degli account, nonché per la verifica delle informazioni di un altro utente.
- NAMESTORE per la memorizzazione locale della rubrica e delle informazioni delle chat e per la pubblicazione di post sulle pagine delle chat, disponibili tramite GNS.
- REGEX per la pubblicazione delle informazioni sui partecipanti, che consente di formare rapidamente una chat di gruppo pubblica su un determinato argomento.
Principali caratteristiche della prima versione di libgnunetchat:
- Gestione degli account (creazione, visualizzazione, eliminazione) e possibilità di passare tra diversi account durante l'uso.
- Possibilità di rinominare l'account e aggiornare la chiave.
- Scambio di contatti tramite pagine chat pubbliche (lobbie). Le informazioni dell'utente possono essere ottenute sia in formato di collegamento testuale che sotto forma di codice QR.
- Contatti e gruppi possono essere gestiti separatamente, con la possibilità di associare diversi soprannomi a diversi gruppi.
- Possibilità di richiedere e aprire una chat diretta con qualsiasi partecipante della rubrica.
- Astrazione delle rappresentazioni utente e chat per semplificare l'incapsulamento nell'interfaccia desiderata.
- Supporto per l'invio di messaggi di testo, file e organizzazione della condivisione dei file.
- Supporto per l'invio di conferma di lettura dei messaggi e possibilità di controllare lo stato di ricezione del messaggio.
- Possibilità di eliminare automaticamente il messaggio dopo un certo periodo di tempo.
- Opzioni flessibili per la gestione dei file nella chat, ad esempio, è possibile organizzare la visualizzazione di una miniatura del contenuto mantenendo il contenuto stesso in forma crittografata.
- Possibilità di connettere gestori per monitorare tutte le operazioni (caricamento, invio, eliminazione dagli indici).
- Supporto per la ricezione di inviti a collegarsi a nuove chat.
In aggiunta, si segnala il rilascio del messenger GNUnet Messenger 0.7, che offre un'interfaccia basata su GTK3. GNUnet Messenger continua lo sviluppo del client grafico cadet-gtk, migrato alla libreria libgnunetchat (la funzionalità di cadet-gtk è divisa tra una libreria universale e un'estensione con interfaccia GTK). Il programma supporta la creazione di chat e gruppi di chat, la gestione della rubrica, l'invio di inviti a unirsi a gruppi, l'invio di messaggi di testo e registrazioni vocali, l'organizzazione della condivisione dei file, e il passaggio tra più account. Per gli amanti della riga di comando si sviluppa separatamente un messenger console basato su libgnunetchat, che si trova ancora nelle fasi iniziali di sviluppo.


Fonte: opennet.ru
