Разработчиците на фреймворка GNUnet, предназначен за изграждане на защитени децентрализирани P2P мрежи без единична точка на провал, която гарантира неприкосновеност на личната информация на потребителите, представиха първия 0.1.0 выпуск на библиотеката libgnunetchat. Библиотеката улеснява използването на технологиите на GNUnet и услугата GNUnet Messenger за създаване на защитени приложения за чат.
Libgnunetchat предоставя отделно ниво на абстракция над GNUnet Messenger, включващо типичната функционалност, прилагана в мессенджерите. Разработчикът може да се концентрира върху създаването на графичен интерфейс с избран GUI инструментариум, без да се тревожи за компонентите, свързани с организацията на работата на чата и взаимодействието между потребителите. Реализациите на клиенти, базирани на libgnunetchat, остават съвместими помежду си и могат да взаимодействат.
За осигуряване на конфиденциалност и защита срещу прихващане на съобщения се прилага протокол CADET (Confidential Ad-hoc Decentralized End-to-End Transport), който позволява напълно децентрализирано взаимодействие между група потребители с използване на крайно криптиране на предаваните данни. Потребителите имат възможност да изпращат съобщения и файлове. Достъпът до съобщенията в файловете е ограничен само до участниците в групата. За координиране на взаимодействието между участниците в децентрализирана мрежа може да се използва разпределена хеш таблица (DHT) или специални входни точки.
Освен Messenger, в libgnunetchat се прилагат и следните услуги на GNUnet:
- GNS (GNU Name System, напълно децентрализирана и недостъпна за цензура замяна на DNS) за определяне на публикувани записи в публичните страници на чатове (лобита), отваряне на чат и обмен на идентификационни данни.
- ARM (Automatic Restart Manager) за автоматизиране на стартирането на всички услуги на GNUnet, необходими за работа.
- FS (File Sharing) за безопасно качване, изпращане и организиране на съвместен достъп до файлове (всяка информация се предава само в криптиран вид, а използването на протокола GAP не позволява проследяване на това кой е качил и изтеглил файла).
- IDENTITY за създаване, изтриване и управление на акаунти, а също и за верификация на параметрите на друг потребител.
- NAMESTORE за локално съхранение на адресна книга и информация за чатове и за публикуване на записи на страниците на чатове, достъпни чрез GNS.
- REGEX за публикуване на информация за участниците, позволяваща бързо съставяне на публичен групов чат по определена тема.
Основни функции на първата версия на libgnunetchat:
- Управление на акаунти (създаване, преглед, изтриване) и възможност за превключване между различни акаунти по време на работа.
- Възможност за преименуване на акаунта и обновяване на ключа.
- Споделяне на контакти чрез публични страници на чатове (lobbie). Информация за потребителя може да бъде получена както в текстов формат, така и под формата на QR код.
- Контактите и групите могат да се управляват отделно, като е възможно свързване на различни никове с различни групи.
- Възможност за искане и отваряне на директен чат с всеки участник от адресната книга.
- Абстрахиране на представенията на потребителя и чата за улесняване на обвиването в желан потребителски интерфейс.
- Поддръжка на изпращане на текстови съобщения, файлове и организиране на споделен достъп до файлове.
- Поддръжка на изпращане на потвърждение за прочит на съобщението и възможност за проверка на статуса на получаването на съобщението.
- Възможност за автоматично изтриване на съобщение след зададено време.
- Гъвкави възможности за управление на файлове в чата, например, може да се организира показване на миниатюра на съдържанието, като самото съдържание остава в криптиран вид.
- Възможност за свързване на обработчици за проследяване на всички операции (качване, изпращане, изтриване от индексите).
- Поддръжка на получаване на покани за свързване към нови чатове.
Допълнително може да се отбележи пускането на готовия мессенджър GNUnet Messenger 0.7, който предлага интерфейс на базата на GTK3. GNUnet Messenger продължава развитието на графичния клиент cadet-gtk, който е прехвърлен на библиотеката libgnunetchat (функционалността на cadet-gtk е разделена на универсална библиотека и надстройка с GTK интерфейс). Програмата поддържа създаването на чатове и чат групи, управление на адресната книга, изпращане на покани за присъединяване към групи, изпращане на текстови съобщения и гласови записи, организация на съвместен достъп до файлове и превключване между няколко сметки. За любителите на адресната лента се разработва отделно конзолен мессенджър на базата на libgnunetchat, който все още е в начален етап на развитие.


Източник: opennet.ru
