Chat basado en salas con funciones completas para decenas de miles de usuarios. Cliente más Servidor. Construido con Oat++ Web Framework.
WebSocket
TLS
In-Memory
Single-Node
.
docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it lganzzzo/ canchat
Toda la comunicación ocurre en salas de chat.
Cada habitación tiene una URL única.
Cualquiera que tenga la URL de la sala puede unirse a la sala. La generación de una URL de sala aleatoria lo suficientemente larga brinda privacidad a los participantes. Asegúrese de compartir la URL de la sala únicamente con los participantes deseados.
Las salas se crean automáticamente cuando el primer participante se une a la sala y se eliminan automáticamente cuando el último participante abandona la sala.
El historial de chat está disponible para los participantes recién unidos. El historial se redondea cuando la cantidad de mensajes en la sala excede el parámetro de configuración maxRoomHistoryMessages
. El historial se elimina y ya no está disponible una vez que se elimina la sala.
Los usuarios pueden compartir varios archivos a la vez.
Los archivos se transmiten directamente desde la máquina host-peer. Nada se carga en el servidor ni se almacena en ningún lugar de terceros.
Una vez que el host-peer cancela el intercambio de archivos, los archivos ya no estarán disponibles.
Si el host-peer sale de la sala, se cancela todo el intercambio de archivos.
LibreSSL
versión 3.0.0
o posterior. Para instalar módulos oatpp, puede utilizar el script utility/install-oatpp-modules.sh
$ cd < this-repo > /server/
$ mkdir build/ && cd build/
$ cmake ..
$ make
Ahora ejecuta el servidor de chat
$ canchat -exe --host localhost --port 8443
$ docker build -t canchat .
$ docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it canchat
Luego vaya a https://localhost:8443/ en el navegador. (aceptar certificado autofirmado)
Parámetros de imagen:
-e EXTERNAL_ADDRESS
: dirección a la que se supone que debe conectarse el cliente.-e EXTERNAL_PORT
: puerto en EXTERNAL_ADDRESS
al que se supone que debe conectarse el cliente. El servidor de chat también se ejecutará en este puerto .-e TLS_FILE_PRIVATE_KEY
: ruta al archivo de clave privada TLS.-e TLS_FILE_CERT_CHAIN
: ruta al archivo de cadena de certificados TLS. - front/ # - Front-end sources are here
- server/ # - Server sources are here
- cert/ # - test TLS certificate is here
- utility/
|
|- install-oatpp-modules.sh # - useful script to install required oatpp modules
Este proyecto se publica bajo Apache License 2.0
.
¡Disfrutar!