Bate-papo baseado em salas com recursos completos para dezenas de milhares de usuários. Cliente mais Servidor. Construído com Oat++ Web Framework.
WebSocket
TLS
Single-Node
In-Memory
.
docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it lganzzzo/ canchat
Toda a comunicação acontece em salas de chat.
Cada sala possui um URL exclusivo.
Qualquer pessoa que tenha o URL da sala pode entrar na sala. A geração de URL de sala aleatório e longo o suficiente dá privacidade aos participantes. Certifique-se de compartilhar o URL da sala apenas com os participantes desejados.
As salas são criadas automaticamente quando o primeiro participante entra na sala e são automaticamente excluídas quando o último participante sai da sala.
O histórico de bate-papo está disponível para participantes recém-ingressados. O histórico é arredondado quando o número de mensagens na sala excede o parâmetro de configuração maxRoomHistoryMessages
. O histórico é excluído e não fica mais disponível quando a sala é excluída.
Os usuários podem compartilhar vários arquivos de uma vez.
Os arquivos são transmitidos diretamente da máquina peer-host. Nada é carregado no servidor nem armazenado em nenhum local de terceiros.
Depois que o host-peer cancela o compartilhamento de arquivos, os arquivos não ficam mais disponíveis.
Se o host-peer sair da sala, todo o compartilhamento de arquivos será cancelado.
LibreSSL
versão 3.0.0
ou posterior. Para instalar módulos oatpp você pode usar o script utility/install-oatpp-modules.sh
$ cd < this-repo > /server/
$ mkdir build/ && cd build/
$ cmake ..
$ make
Agora execute o 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
Então vá para https://localhost:8443/ no navegador. (aceitar certificado autoassinado)
Parâmetros de imagem:
-e EXTERNAL_ADDRESS
– Endereço ao qual o cliente deve se conectar.-e EXTERNAL_PORT
- Porta em EXTERNAL_ADDRESS
à qual o cliente deve se conectar. O servidor de chat também estará rodando nesta porta .-e TLS_FILE_PRIVATE_KEY
– Caminho para o arquivo de chave privada TLS.-e TLS_FILE_CERT_CHAIN
– Caminho para o arquivo da cadeia 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 projeto foi lançado sob Apache License 2.0
.
Aproveitar!