Os desenvolvedores do framework GNUnet, destinado à construção de redes P2P descentralizadas e seguras, sem ponto único de falha e capazes de garantir a privacidade dos usuários, apresentaram a primeira versão da biblioteca libgnunetchat 0.1.0. A biblioteca simplifica o uso das tecnologias GNUnet e do serviço GNUnet Messenger para criar aplicativos de chat seguros.
A libgnunetchat fornece um nível de abstração separado sobre o GNUnet Messenger, incluindo funcionalidades típicas usadas em mensageiros. O desenvolvedor pode se concentrar na criação da interface gráfica usando o toolkit GUI de sua escolha, sem se preocupar com os componentes relacionados à organização do chat e interação entre usuários. As implementações de clientes baseadas na libgnunetchat permanecem compatíveis entre si e podem interagir umas com as outras.
Para garantir a confidencialidade e proteção contra interceptação de mensagens, é utilizado o protocolo CADET (Confidential Ad-hoc Decentralized End-to-End Transport), que permite uma interação completamente descentralizada entre um grupo de usuários utilizando criptografia de ponta a ponta dos dados transmitidos. Os usuários têm a possibilidade de enviar mensagens e arquivos. O acesso a mensagens em arquivos é restrito apenas aos membros do grupo. Para coordenar a interação entre os participantes da rede descentralizada, pode-se usar uma tabela hash distribuída (DHT) ou pontos de entrada específicos.
Além do Messenger, a libgnunetchat também utiliza os seguintes serviços do GNUnet:
- GNS (GNU Name System, uma substituição totalmente descentralizada e imune à censura do DNS) para resolver registros publicados em páginas públicas de chats (lobbie), abrir chats e compartilhar credenciais.
- ARM (Automatic Restart Manager) para automatizar o lançamento de todos os serviços GNUnet necessários para operação.
- FS (File Sharing) para upload, envio e organização segura do compartilhamento de arquivos (todas as informações são transmitidas apenas de forma criptografada, e o uso do protocolo GAP impede que se rastreie quem enviou e baixou o arquivo).
- IDENTITY para criar, excluir e gerenciar contas, bem como para verificar os parâmetros de outro usuário.
- NAMESTORE para armazenamento local da lista de contatos e informações sobre chats, além de publicar registros nas páginas de chats acessíveis via GNS.
- REGEX para publicar informações sobre os participantes, permitindo rapidamente a formação de um chat em grupo público sobre um tópico específico.
Principais características do primeiro lançamento do libgnunetchat:
- Gerenciamento de contas (criação, visualização, exclusão) e a capacidade de alternar entre diferentes contas durante o uso.
- Possibilidade de renomear a conta e atualizar a chave.
- Troca de contatos através de páginas públicas de chats (lobbie). As informações do usuário podem ser obtidas em formato de link de texto ou como um QR code.
- Contatos e grupos podem ser gerenciados separadamente, permitindo vincular diferentes nicknames a diferentes grupos.
- Possibilidade de solicitar e abrir um chat direto com qualquer participante da lista de contatos.
- Abstração das apresentações do usuário e do chat para simplificar a integração no interface desejada.
- Suporte para envio de mensagens de texto, arquivos e organização de compartilhamento de arquivos.
- Suporte para enviar confirmação de leitura da mensagem e possibilidade de verificar o status de recebimento da mensagem.
- Possibilidade de exclusão automática de mensagens após um tempo definido.
- Recursos flexíveis de gerenciamento de arquivos no chat, por exemplo, é possível organizar a exibição de uma prévia do conteúdo, mantendo o conteúdo propriamente dito criptografado.
- Possibilidade de conectar manipuladores para monitorar todas as operações (upload, envio, exclusão de índices).
- Suporte para receber convites para conexão a novos chats.
Além disso, vale mencionar o lançamento do mensageiro GNUnet Messenger 0.7, que oferece uma interface baseada no GTK3. O GNUnet Messenger dá continuidade ao desenvolvimento do cliente gráfico cadet-gtk, que foi traduzido para a biblioteca libgnunetchat (a funcionalidade do cadet-gtk foi dividida entre uma biblioteca universal e um complemento com a interface GTK). O programa suporta a criação de chats e grupos de chat, gerenciamento de contatos, envio de convites para grupos, envio de mensagens de texto e gravações de voz, organização de compartilhamento de arquivos e alternância entre várias contas. Para os amantes da linha de comando, está sendo desenvolvido um mensageiro de console baseado na libgnunetchat, que ainda se encontra em estágio inicial de desenvolvimento.


Fonte: opennet.ru
