Chitchatter, un cliente de comunicación para crear chats P2P

chitchatter, una herramienta de comunicación p2p

Chitchatter diseña entorno a no tener un operador de servicio central y nunca almacenar datos de comunicación.

Hace poco se dio a conocer el nacimiento de un nuevo proyecto que está desarrollando una aplicación para crear chats P2P descentralizados, cuyos participantes interactúan directamente entre sí sin acceder a servidores centralizados.

El nombre de este proyecto es Chitchatter y el programa está diseñado como una aplicación web que se ejecuta en un navegador, el código está escrito en TypeScript y se distribuye bajo la licencia GPLv2.

Sobre Chitchatter

Chitchatter es una herramienta de comunicación open source, que está diseñada pensando en la seguridad y la privacidad.

Se requieren algunos servicios para establecer una conexión entre pares, pero la aplicación se basa en la comunicación directa entre pares tanto como sea posible. Los servicios que utiliza la aplicación no están asociados con el proyecto Chitchatter y están disponibles públicamente para que todos los usen.

La aplicación permite generar una identificación de chat única que se puede compartir con otros participantes para comenzar a chatear. Se puede utilizar cualquier servidor público que admita el protocolo WebTorrent para negociar una conexión de chat.

Una vez que se negocia la conexión, se crean canales de comunicación cifrados directos que unen a los usuarios mediante la tecnología WebRTC, que proporciona medios listos para acceder a los nodos que operan detrás de traductores de direcciones (NAT) y eluden los cortafuegos corporativos mediante los protocolos STUN y TURN.

Chitchatter es una aplicación de comunicación completamente del lado del cliente. Utiliza servidores WebTorrent y STUN/TURN externos de propósito general para la comunicación necesaria, pero no hay un servidor API de Chitchatter.

Dentro de las características que se destacan en el repositorio del proyecto, se mencionan las siguientes:

  • Código completamente abierto (licencia bajo GPL v2)
  • P2p
  • Siempre que sea posible, de lo contrario, se utiliza Open Relay para garantizar una conexión confiable entre pares
  • Cifrado (a través de WebRTC)
  • No requiere de un servidor
  • Los servidores públicos de WebTorrent solo se utilizan para el protocolo de enlace entre pares inicial
  • Efímero
  • El contenido del mensaje nunca se conserva en el disco
    descentralizado
  • No hay servidor API. Todo lo que se requiere para que Chitchatter funcione es la disponibilidad de GitHub para activos estáticos y servidores de retransmisión públicos WebTorrent y STUN/TURN para establecer comunicación entre pares.
  • autohospedable
  • Sin análisis, seguimiento o telemetría.
  • Chitchatter se inició con la aplicación Create React. La magia de las redes seguras no sería posible sin Trystero.

Cabe mencionar que el contenido de la conversación no se guarda en el disco y se pierde después de cerrar la aplicación. Al chatear, se puede usar el marcado Markdown e incrustar archivos multimedia.

Por la parte de los planes futuros incluyen chats protegidos con contraseña, llamadas de voz y video, intercambio de archivos, indicación de escritura y la capacidad de ver los mensajes publicados antes de que un nuevo miembro se uniera al chat.

En cuanto a los que estén interesados en poder probar o conocer este proyecto, pueden probar el demo ofrecido en el siguiente enlace.

Alojar tu propio chat de Chitchatter

Para los que estén interesados en poder autohospedar el proyecto deben seguir las instrucciones que se comparten a continuación. Lo primero es obtener el código fuente, el cual puedes hacer desde el siguiente enlace.

Suponiendo que tienen la intención de alojar Chitchatter en las páginas de GitHub deben de cambiar el archivo property in package.json a cualquier URL desde la que se aloje la instancia de Chitchatter. Esto será algo como https://github_user_or_org_name.github.io/chitchatter/.

Posterior a ello, se debe definir un secret key de acción de GitHub (en https://github.com/github_user_or_org_name/chitchatter/settings/secrets/actions).

Y ya con esto, cuando se aloja en páginas de GitHub y se ha realizado la configuración anterior, el entorno de producción se actualiza.

En cuanto a la configuración del runtime, esto lo pueden hacer en los archivos de configuración que están en /src/config y aquí podrán modificar el emparejamiento y la configuración del servidor de retransmisión.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.