De ontwikkelaars van het GNUnet-framework, dat bedoeld is voor het opzetten van veilige gedecentraliseerde P2P-netwerken zonder een enkel foutpunt en die de privacy van gebruikers kunnen waarborgen, hebben de eerste release van de libgnunetchat-bibliotheek 0.1.0 gepresenteerd. Deze bibliotheek maakt het eenvoudiger om GNUnet-technologieën en de GNUnet Messenger-service te gebruiken voor het maken van beveiligde chat-applicaties.
Libgnunetchat biedt een aparte abstractielaag bovenop GNUnet Messenger, inclusief standaardfunctionaliteit die van toepassing is in messengers. De ontwikkelaar hoeft zich alleen te concentreren op het creëren van de grafische interface met behulp van een GUI-toolkit naar keuze, zonder zich zorgen te maken over de componenten die verband houden met de organisatie van de chat en de interactie tussen gebruikers. Clients die zijn gebouwd met libgnunetchat blijven onderling compatibel en kunnen met elkaar communiceren.
Om de privacy te waarborgen en bescherming tegen onderschepping van berichten te bieden, wordt het CADET-protocol (Confidential Ad-hoc Decentralized End-to-End Transport) gebruikt, waarmee een volledig gedecentraliseerde interactie tussen een groep gebruikers kan worden georganiseerd met behulp van end-to-end encryptie van de verzonden gegevens. Gebruikers kunnen berichten en bestanden verzenden. Toegang tot berichten in bestanden is alleen voor groepsleden beschikbaar. Voor coördinatie van interacties tussen deelnemers aan het gedecentraliseerde netwerk kan een gedistribueerde hash-tabel (DHT) of speciale toegangspunten worden gebruikt.
Naast Messenger worden in libgnunetchat ook de volgende GNUnet-diensten gebruikt:
- GNS (GNU Name System, een volledig gedecentraliseerd en censuurtolerant alternatief voor DNS) voor het bepalen van gepubliceerde records op publieke chatpagina's (lobby’s), het openen van chats en het delen van inloggegevens.
- ARM (Automatic Restart Manager) voor het automatiseren van de opstart van alle diensten die GNUnet nodig heeft om te functioneren.
- FS (File Sharing) voor veilige uploads, verzending en organisatie van gedeelde toegang tot bestanden (alle informatie wordt alleen in versleutelde vorm verstuurd, en het gebruik van het GAP-protocol maakt het onmogelijk om te traceren wie een bestand heeft geplaatst of gedownload).
- IDENTITY voor het aanmaken, verwijderen en beheren van accounts, evenals voor de verificatie van de parameters van een andere gebruiker.
- NAMESTORE voor lokale opslag van het adressenboek en informatie over chats, en voor het publiceren van berichten op chatpagina's die toegankelijk zijn via GNS.
- REGEX voor het publiceren van informatie over deelnemers, waardoor snel een openbare groepschat over een bepaald onderwerp kan worden gevormd.
Belangrijkste functies van de eerste versie van libgnunetchat:
- Beheer van accounts (aanmaken, bekijken, verwijderen) en de mogelijkheid om tijdens het werk te schakelen tussen verschillende accounts.
- Mogelijkheid om een account te hernoemen en de sleutel bij te werken.
- Contacten delen via openbare chatpagina's (lobbie). Gebruikersinformatie kan zowel in de vorm van een tekstlink als in de vorm van een QR-code worden verkregen.
- Contacten en groepen kunnen apart worden beheerd, het is mogelijk om verschillende bijnamen aan verschillende groepen te koppelen.
- Mogelijkheid om een directe chat met een deelnemer uit het adresboek aan te vragen en te openen.
- Abstractie van gebruikers- en chatweergaven om de wrapping in de gewenste interface te vereenvoudigen.
- Ondersteuning voor het verzenden van tekstberichten, bestanden en het organiseren van gezamenlijke toegang tot bestanden.
- Ondersteuning voor het verzenden van leesbevestigingen van berichten en de mogelijkheid om de ontvangststatus van een bericht te controleren.
- Mogelijkheid om een bericht automatisch te laten verwijderen na een bepaalde tijd.
- Flexibele mogelijkheden voor bestandbeheer in de chat, bijvoorbeeld het organiseren van een voorvertoning van inhoud terwijl de inhoud zelf versleuteld blijft.
- Mogelijkheid om handlers te koppelen om alle operaties (uploaden, verzenden, verwijderen uit indexen) te volgen.
- Ondersteuning voor het ontvangen van uitnodigingen voor aansluiting bij nieuwe chats.
Daarnaast kan worden opgemerkt dat de release van de voltooide messenger GNUnet Messenger 0.7, met een interface op basis van GTK3, is uitgebracht. GNUnet Messenger zet de ontwikkeling voort van de grafische client cadet-gtk, die is omgezet naar de bibliotheek libgnunetchat (de functionaliteit van cadet-gtk is verdeeld in een universele bibliotheek en een laag met GTK-interface). Het programma ondersteunt het aanmaken van chats en groepschats, het beheren van een adresboek, het verzenden van uitnodigingen om lid te worden van groepen, het verzenden van tekstberichten en spraakopnamen, het organiseren van gedeeld bestandsbeheer en het schakelen tussen meerdere accounts. Voor liefhebbers van de adresbalk wordt er ook een console-messenger op basis van libgnunetchat apart ontwikkeld, die zich momenteel nog in een vroeg stadium van ontwikkeling bevindt.


Bron: opennet.ru
