Release of GNUnet Messenger 0.7 and libgnunetchat 0.1 to create decentralized chats

The developers of the GNUnet framework, designed to build secure decentralized P2P networks that do not have a single point of failure and are able to guarantee the inviolability of users' private information, introduced the first release of the libgnunetchat 0.1.0 library. The library makes it easy to use GNUnet technologies and the GNUnet Messenger service to create secure chat applications.

Libgnunetchat provides a separate layer of abstraction over GNUnet Messenger that includes generic functionality used in messengers. The developer is left to focus on creating a graphical interface using the GUI toolkit of his choice, and not worry about the components related to the organization of the chat and interaction between users. Client implementations based on libgnunetchat remain compatible with each other and can interact with each other.

To ensure confidentiality and protection against interception of messages, the CADET (Confidential Ad-hoc Decentralized End-to-End Transport) protocol is used, which allows organizing completely decentralized interaction between a group of users using end-to-end encryption of transmitted data. Users are given the opportunity to send messages and files. Access to messages in files is limited to members of the group. A distributed hash table (DHT) or special entry points can be used to coordinate interaction between participants in a decentralized network.

In addition to Messenger, libgnunetchat also uses the following GNUnet services:

  • GNS (GNU Name System, a fully decentralized and uncensorable DNS replacement) to determine published records in public chat pages (lobbies), open a chat, and exchange credentials.
  • ARM (Automatic Restart Manager) to automate the launch of all GNUnet services needed to run.
  • FS (File Sharing) for secure downloading, sending and organizing file sharing (all information is transmitted only in encrypted form, and the use of the GAP protocol does not allow tracking who posted and downloaded the file).
  • IDENTITY to create, delete and manage accounts, as well as to verify the settings of another user.
  • NAMESTORE for storing address book and chat information locally and for posting entries to chat pages accessible via GNS.
  • REGEX for publishing information about participants, allowing you to quickly form a public group chat on a specific topic.

Key features of the first release of libgnunetchat:

  • Account management (create, view, delete) and the ability to switch between different accounts while working.
  • Ability to rename the account and update the key.
  • Exchange of contacts through public chat pages (lobbies). Information about the user can be obtained both in the format of a text link and in the form of a QR code.
  • Contacts and groups can be managed separately, it is possible to bind different nicknames to different groups.
  • Possibility to request and open a direct chat with any participant from the address book.
  • Abstraction of user and chat views to simplify wrapping into the desired interface.
  • Support for sending text messages, files and file sharing.
  • Support for sending an acknowledgment that a message has been read and the ability to check the status of receiving a message.
  • Ability to automatically delete messages after a specified time.
  • Flexible options for managing files in a chat, for example, you can organize the display of a thumbnail of the content while leaving the content itself in encrypted form.
  • Ability to connect handlers to track all operations (download, upload, deletion from indexes).
  • Support for accepting invitations to connect to new chats.

Additionally, we can note the release of the finished messenger GNUnet Messenger 0.7, which offers an interface based on GTK3. GNUnet Messenger continues the development of the cadet-gtk graphical client, translated to the libgnunetchat library (the functionality of cadet-gtk is divided into a universal library and an add-on with a GTK interface). The program supports the creation of chats and chat groups, managing the address book, sending invitations to join groups, sending text messages and voice recordings, organizing file sharing, switching between multiple accounts. For lovers of the address bar, a console messenger based on libgnunetchat is being developed separately, which is still at an early stage of development.

Release of GNUnet Messenger 0.7 and libgnunetchat 0.1 to create decentralized chats
Release of GNUnet Messenger 0.7 and libgnunetchat 0.1 to create decentralized chats


Source: opennet.ru

Add a comment