Разработчиците на фреймворка GNUnet, който е предназначен за изграждане на сигурни децентрализирани P2P мрежи, без единична точка на отказ и способни да гарантират неприкосновеността на личната информация на потребителите, представиха първото издание на библиотеката libgnunetchat 0.1.0. Библиотеката опростява използването на технологиите 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) за определяне на публикувани записи в публични страниците на чатове (lobbie), отваряне на чат и обмен на удостоверителни данни.
- 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
