Chat basé sur des salles complètes pour des dizaines de milliers d'utilisateurs. Client et serveur. Construit avec le framework Web Oat++.
WebSocket
TLS
In-Memory
Single-Node
.
docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it lganzzzo/ canchat
Toutes les communications se font dans les salons de discussion.
Chaque salle a une URL unique.
Toute personne disposant de l’URL de la salle peut rejoindre la salle. La génération aléatoire d'une URL de salle suffisamment longue assure la confidentialité des participants. Assurez-vous de partager l'URL de la salle uniquement avec les participants recherchés.
Les salles sont automatiquement créées lorsque le premier participant rejoint la salle et sont automatiquement supprimées lorsque le dernier participant quitte la salle.
L'historique des discussions est disponible pour les participants nouvellement rejoints. L'historique est arrondi lorsque le nombre de messages dans la salle dépasse le paramètre de configuration maxRoomHistoryMessages
. L'historique est supprimé et n'est plus disponible une fois la salle supprimée.
Les utilisateurs peuvent partager plusieurs fichiers à la fois.
Les fichiers sont diffusés directement depuis la machine hôte-homologue. Rien n'est téléchargé sur le serveur ni stocké dans un emplacement tiers.
Une fois que l'hôte-homologue annule le partage de fichiers, les fichiers ne sont plus disponibles.
Si l'hôte-pair quitte la salle, tous ses partages de fichiers sont annulés.
LibreSSL
version 3.0.0
ou ultérieure. Pour installer les modules oatpp, vous pouvez utiliser le script utility/install-oatpp-modules.sh
$ cd < this-repo > /server/
$ mkdir build/ && cd build/
$ cmake ..
$ make
Maintenant, lancez le serveur 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
Accédez ensuite à https://localhost:8443/ dans le navigateur. (accepter le certificat auto-signé)
Paramètres de l'image :
-e EXTERNAL_ADDRESS
- Adresse à laquelle le client est censé se connecter.-e EXTERNAL_PORT
- Port à EXTERNAL_ADDRESS
auquel le client est censé se connecter. Le serveur de discussion fonctionnera également sur ce port .-e TLS_FILE_PRIVATE_KEY
- Chemin d'accès au fichier de clé privée TLS.-e TLS_FILE_CERT_CHAIN
- Chemin d'accès au fichier de chaîne de certificats 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
Ce projet est publié sous Apache License 2.0
.
Apprécier!