Vývojáři rámce GNUnet, určeného k zakládání zabezpečených decentralizovaných P2P sítí, které nemají jediný bod selhání a jsou schopny garantovat zachování soukromí uživatelů, představili první verzi knihovny libgnunetchat 0.1.0. Knihovna usnadňuje využívání technologií GNUnet a služby GNUnet Messenger pro vytváření zabezpečených aplikací pro chat.
Libgnunetchat poskytuje samostatnou úroveň abstrakce nad GNUnet Messenger, zahrnující typickou funkčnost používanou v messenger aplikacích. Vývojář se může soustředit na vytváření grafického rozhraní pomocí GUI toolkit dle svého výběru a nemusí se starat o komponenty spojené s organizací chatu a interakcí mezi uživateli. Klienti realizovaní na základě libgnunetchat zůstávají mezi sebou kompatibilní a mohou spolu vzájemně komunikovat.
Pro zajištění důvěrnosti a ochrany před odposloucháváním zpráv se používá protokol CADET (Confidential Ad-hoc Decentralized End-to-End Transport), který umožňuje zcela decentralizovanou interakci mezi skupinou uživatelů s využitím šifrování zasílaných dat. Uživatelům je umožněno posílat zprávy a soubory. Přístup k zprávám v souborech mají pouze účastníci skupiny. Pro koordinaci interakce mezi účastníky decentralizované sítě může být použita distribuovaná hash tabulka (DHT) nebo speciální vstupní body.
Kromě Messengeru se v libgnunetchat také využívají následující služby GNUnet:
- GNS (GNU Name System, zcela decentralizovaná a cenzurou nedostupná náhrada DNS) pro určení publikovaných záznamů na veřejných stránkách chatů (lobbie), otevření chatu a výměna přihlašovacích údajů.
- ARM (Automatic Restart Manager) pro automatizaci spouštění všech služeb GNUnet nezbytných pro provoz.
- FS (File Sharing) pro bezpečné nahrávání, odesílání a organizaci sdílení souborů (veškeré informace se předávají pouze v šifrované podobě a použití protokolu GAP neumožňuje sledovat, kdo soubor umístil a stáhl).
- IDENTITA pro vytváření, odstraňování a správu účtů, stejně jako pro verifikaci parametrů jiného uživatele.
- NAMESTORE pro místní ukládání adresáře a informací o chatech a pro publikaci příspěvků na stránkách chatů dostupných přes GNS.
- REGEX pro publikaci informací o účastnících, což umožňuje rychlé vytvoření veřejného skupinového chatu na určité téma.
Hlavní funkce prvního vydání libgnunetchat:
- Správa účtů (vytváření, prohlížení, odstraňování) a možnost přepínání mezi různými účty během práce.
- Možnost přejmenování účtu a aktualizace klíče.
- Výměna kontaktů prostřednictvím veřejných stránek chatů (lobbie). Informace o uživateli lze získat jak ve formátu textového odkazu, tak ve formě QR kódu.
- Kontakty a skupiny mohou být spravovány odděleně, je možné přiřadit různé přezdívky různým skupinám.
- Možnost požádat o a otevřít přímý chat s jakýmkoli účastníkem z adresáře.
- Abstrahování pohledů uživatele a chatu pro usnadnění obalení v požadovaném rozhraní.
- Podpora odesílání textových zpráv, souborů a organizace sdílení souborů.
- Podpora odesílání potvrzení o přečtení zprávy a možnost kontrolovat stav přijetí zprávy.
- Možnost automatického odstranění zprávy po stanovené době.
- Flexibilní možnosti správy souborů v chatu, například je možné uspořádat zobrazení náhledu obsahu s ponecháním samotného obsahu zašifrovaného.
- Možnost připojení zpracovatelů pro sledování všech operací (nahrávání, odesílání, mazání z indexů).
- Podpora přijímání pozvánek pro připojení k novým chatům.
Navíc lze zmínit vydání hotového messengeru GNUnet Messenger 0.7, který nabízí rozhraní založené na GTK3. GNUnet Messenger pokračuje ve vývoji grafického klienta cadet-gtk, převedeného na knihovnu libgnunetchat (funkčnost cadet-gtk je rozdělena na univerzální knihovnu a nadstavbu s GTK rozhraním). Program podporuje vytváření chatů a skupinových chatů, správu adresáře, rozesílání pozvánek k připojení do skupin, odesílání textových zpráv a hlasových nahrávek, organizaci sdílení souborů a přepínání mezi několika účty. Pro příznivce řádkového rozhraní se vyvíjí samostatný konzolový messenger založený na libgnunetchat, který se zatím nachází na počátečním stupni vývoje.


Zdroj: opennet.ru
