Raumbasierter Chat mit umfassendem Funktionsumfang für Zehntausende Benutzer. Client plus Server. Gebaut mit Oat++ Web Framework.
Single-Node
In-Memory
WebSocket
TLS
.
docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it lganzzzo/ canchat
Die gesamte Kommunikation findet in Chatrooms statt.
Jeder Raum hat eine eindeutige URL.
Jeder, der eine Raum-URL hat, kann dem Raum beitreten. Durch die Generierung einer zufälligen, ausreichend langen Raum-URL wird den Teilnehmern Privatsphäre geboten. Stellen Sie sicher, dass Sie die Raum-URL nur mit den gewünschten Teilnehmern teilen.
Räume werden automatisch erstellt, wenn der erste Teilnehmer dem Raum beitritt, und automatisch gelöscht, wenn der letzte Teilnehmer den Raum verlässt.
Der Chat-Verlauf ist für neu beigetretene Teilnehmer verfügbar. Der Verlauf wird gerundet, wenn die Anzahl der Nachrichten im Raum den Konfigurationsparameter maxRoomHistoryMessages
überschreitet. Der Verlauf wird gelöscht und ist nicht mehr verfügbar, sobald der Raum gelöscht wird.
Benutzer können mehrere Dateien gleichzeitig teilen.
Dateien werden direkt vom Host-Peer-Computer gestreamt. Es wird nichts auf den Server hochgeladen oder an einem Ort Dritter gespeichert.
Sobald der Host-Peer die Dateifreigabe abbricht, sind die Dateien nicht mehr verfügbar.
Wenn der Host-Peer den Raum verlässt, wird seine gesamte Dateifreigabe abgebrochen.
LibreSSL
Version 3.0.0
oder höher. Um oatpp-Module zu installieren, können Sie das Skript utility/install-oatpp-modules.sh
verwenden
$ cd < this-repo > /server/
$ mkdir build/ && cd build/
$ cmake ..
$ make
Führen Sie nun den Chat-Server aus
$ 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
Gehen Sie dann im Browser zu https://localhost:8443/. (selbstsigniertes Zertifikat akzeptieren)
Bildparameter:
-e EXTERNAL_ADDRESS
– Adresse, zu der sich der Client verbinden soll.-e EXTERNAL_PORT
– Port an EXTERNAL_ADDRESS
, zu dem sich der Client verbinden soll. Auf diesem Port wird auch der Chat-Server laufen .-e TLS_FILE_PRIVATE_KEY
– Pfad zur TLS-Privatschlüsseldatei.-e TLS_FILE_CERT_CHAIN
– Pfad zur TLS-Zertifikatskettendatei. - 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
Dieses Projekt wird unter Apache License 2.0
veröffentlicht.
Genießen!