Los desarrolladores del marco GNUnet, diseñado para construir redes P2P descentralizadas y seguras, sin un único punto de fallo y capaces de garantizar la privacidad de la información de los usuarios, han lanzado la primera versión de la biblioteca libgnunetchat 0.1.0. Esta biblioteca simplifica el uso de las tecnologías GNUnet y el servicio GNUnet Messenger para crear aplicaciones de chat seguras.
Libgnunetchat proporciona un nivel de abstracción separado sobre GNUnet Messenger, incluyendo la funcionalidad típica utilizada en los mensajeros. El desarrollador puede enfocarse en crear la interfaz gráfica utilizando el kit de herramientas GUI de su elección y no preocuparse por los componentes relacionados con la organización del chat y la interacción entre usuarios. Las implementaciones de clientes basadas en libgnunetchat son compatibles entre sí y pueden interactuar entre ellas.
Para garantizar la privacidad y proteger contra la interceptación de mensajes, se utiliza el protocolo CADET (Confidential Ad-hoc Decentralized End-to-End Transport), que permite organizar la interacción completamente descentralizada entre un grupo de usuarios utilizando cifrado de extremo a extremo de los datos transmitidos. Los usuarios pueden enviar mensajes y archivos. El acceso a los mensajes en los archivos está restringido solo a los participantes del grupo. Para coordinar la interacción entre los miembros de la red descentralizada, se puede utilizar una tabla hash distribuida (DHT) o puntos de entrada especiales.
Además de Messenger, en libgnunetchat también se utilizan los siguientes servicios de GNUnet:
- GNS (GNU Name System, una sustitución completamente descentralizada y resistente a la censura del DNS) para determinar los registros publicados en las páginas públicas de los chats (lobbie), abrir el chat y compartir credenciales.
- ARM (Automatic Restart Manager) para automatizar el inicio de todos los servicios necesarios de GNUnet.
- FS (File Sharing) para cargar, enviar y organizar el acceso compartido a archivos de forma segura (toda la información se transmite únicamente en formato cifrado, y el uso del protocolo GAP no permite rastrear quién publicó y descargó el archivo).
- IDENTITY para crear, eliminar y gestionar cuentas, así como para verificar los parámetros de otro usuario.
- NAMESTORE para el almacenamiento local de la libreta de direcciones y la información sobre chats, y para la publicación de registros en las páginas de chats, accesibles a través de GNS.
- REGEX para la publicación de información sobre los participantes, lo que permite formar rápidamente un chat grupal público sobre un tema específico.
Funciones principales de la primera versión de libgnunetchat:
- Gestión de cuentas (creación, visualización, eliminación) y la posibilidad de cambiar entre diferentes cuentas durante el uso.
- Opción para renombrar la cuenta y actualizar la clave.
- Intercambio de contactos a través de las páginas públicas de los chats (lobbie). La información del usuario puede obtenerse tanto en formato de enlace de texto como en forma de código QR.
- Los contactos y grupos pueden gestionarse por separado, y es posible vincular diferentes apodos a diferentes grupos.
- Opción de solicitar y abrir un chat directo con cualquier participante de la libreta de direcciones.
- Abstracción de las views de usuario y chat para simplificar la integración en la interfaz deseada.
- Soporte para el envío de mensajes de texto, archivos y la organización de acceso compartido a archivos.
- Soporte para enviar confirmaciones de lectura de mensajes y la posibilidad de verificar el estado de recepción del mensaje.
- Opción para eliminar automáticamente un mensaje después de un tiempo determinado.
- Opciones flexibles para gestionar archivos en el chat, por ejemplo, se puede organizar la visualización de una miniatura del contenido dejando el contenido mismo encriptado.
- Opción de conectar manejadores para rastrear todas las operaciones (carga, envío, eliminación de índices).
- Soporte para recibir invitaciones para unirse a nuevos chats.
Además, se puede destacar el lanzamiento del mensajero GNUnet Messenger 0.7, que ofrece una interfaz basada en GTK3. GNUnet Messenger continúa el desarrollo del cliente gráfico cadet-gtk, que ha sido trasladado a la biblioteca libgnunetchat (la funcionalidad de cadet-gtk se ha dividido en una biblioteca universal y una capa con interfaz GTK). El programa admite la creación de chats y grupos de chats, la gestión de la libreta de direcciones, el envío de invitaciones para unirse a grupos, el envío de mensajes de texto y grabaciones de voz, la organización de acceso compartido a archivos, y el cambio entre varias cuentas. Para los amantes de la línea de comandos, se está desarrollando por separado un mensajero de consola basado en libgnunetchat, que aún se encuentra en una etapa inicial de desarrollo.


Fuente: opennet.ru
