PeerChat es una aplicación de chat P2P basada en terminal que utiliza libp2p y Golang. Utiliza Kademlia DHT y la red IPFS para el descubrimiento y enrutamiento de pares. La aplicación admite funciones como cifrado TLS, descubrimiento activo entre pares, multiplexación de flujo YAMUX y permite a los usuarios cambiar entre salas de chat y cambiar nombres de usuario.
Permite la comunicación entre nodos en la misma o diferentes redes, incluidos nodos privados detrás de NAT, configurando automáticamente el enrutador usando UPnP y utilizando AutoRelay (TURN) para conectarse a nodos de retransmisión.
La aplicación está escrita en Golang y utiliza libp2p y la biblioteca de interfaz de usuario del terminal tview.
Desarrollo futuro
- Soporte para transportes QUIC y WebSocket
- Migrar a búferes de protocolo en lugar de JSON para la codificación de mensajes
- Notificación de la sala de chat para cuando el usuario cambia de nombre
- Soporte para otros enrutadores PubSub (RandomSub, FloodSub y algún día EpiSub)
- Soporte para salas de chat protegidas con contraseña.
Licencia
Licencia MIT
Recursos y descarga
Etiquetas
chat mensajería mensajería terminal comunicación terminal basada en código abierto Linux Arch Linux Linux Mint Ubuntu Fedora Debian macos Windows