Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Feature-complete rooms-based chat for tens of thousands users. Client plus Server. Built with Oat++ Web Framework.

License

NotificationsYou must be signed in to change notification settings

lganzzzo/canchat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Can-Chat

Feature-complete rooms-based chat for tens of thousands users. Client plus Server. Built withOat++ Web Framework.
Single-NodeIn-MemoryWebSocketTLS.

Quick Start

  • Run your own chat in Docker:
    docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it lganzzzo/canchat
  • Build from source

Chat

Rooms

All communication happens in chat-rooms.
Each room has a unique URL.
Anyone who has room-URL can join the room.Generating random long enough room-URL gives privacy to participants. Be sure to share room-URL with wanted participants only.

Rooms are automatically created when the first participant joins the room, andare automatically deleted when the last participant leaves the room.

Chat-history is available for newly joined participants.History is rounded when the number of messages in the room exceeds themaxRoomHistoryMessages config parameter.History is deleted and no-longer-available once the room is deleted.

File Sharing

Users can share multiple files at once.

Files are streamed directly from the host-peer machine.Nothing is uploaded to the server nor stored in any 3d-party place.

Once host-peer cancels file-sharing, files are no longer available.
If host-peer exits the room, all of his file-sharing is canceled.

Build And Run

Build From Source

Pre-Requirements

  • InstallLibreSSL version3.0.0 or later.
  • Installoatpp - Oat++ Web Framework (main module)
  • Installoatpp-websocket - Oat++ WebSocket extension module.
  • Installoatpp-libressl - Libressl adaptor for Oat++.

To install oatpp modules you can useutility/install-oatpp-modules.sh script

Build Chat Server

$cd<this-repo>/server/$ mkdir build/&&cd build/$ cmake ..$ make

Now run chat server

$ canchat-exe --host localhost --port 8443

Docker

$ docker build -t canchat.$ docker run -p 8443:8443 -e EXTERNAL_ADDRESS=localhost -e EXTERNAL_PORT=8443 -it canchat

Then gotohttps://localhost:8443/ in browser. (accept self-signed certificate)

Image parameters:

  • -e EXTERNAL_ADDRESS - Address to which the client is supposed to connect to.
  • -e EXTERNAL_PORT - Port atEXTERNAL_ADDRESS to which the client is supposed to connect to.Chat server will also be running on this port.
  • -e TLS_FILE_PRIVATE_KEY - Path to TLS private-key file.
  • -e TLS_FILE_CERT_CHAIN - Path to TLS certificate chain file.

Repository Content

- 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

License

This project is released underApache License 2.0.


Enjoy!

About

Feature-complete rooms-based chat for tens of thousands users. Client plus Server. Built with Oat++ Web Framework.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

    Packages

    No packages published

    [8]ページ先頭

    ©2009-2025 Movatter.jp