// the find
tl-open-source/tl-rtc-file
WebRTC P2P online web media streaming tool (for files, video, screen, live streaming, text) with management and statistical monitoring capabilities.
A self-hosted WebRTC signaling server plus Vue 3 frontend for P2P file transfer, video calls, screen sharing, and group chat — all through the browser. It started as a graduation project and has grown into a fairly complete real-time communication toolkit. The target audience is developers who want to run their own AirDrop-like thing without depending on a cloud service.
The chunked file transfer implementation handles large files correctly — splitting before sending and reassembling on the receiver side, which is the part most DIY WebRTC projects get wrong. Docker Compose setup is genuinely straightforward, including coturn config with both fixed and time-limited TURN credentials covered. The feature surface is wider than most comparable repos: file transfer, video, screen share, live stream, whiteboard, and group chat all in one deployable unit. Deployment scripts for Ubuntu 16/18/20 and Windows show someone actually ran this on real servers.
Last pushed July 2024 and the architecture is showing its age — the server side is plain Express/Socket.IO with no TypeScript, raw SQL in the DAO layer, and no real auth beyond room passwords. The SSL certificates in `svr/conf/keys/` and `client/packages/rtc-web/src/keys/` are committed to the repo, which means every deployment ships the same self-signed cert unless you replace them. The OSS integrations (Alibaba, Tencent, Qiniu) listed as supported in the README are either stub files or incomplete — only Seafile appears wired up. No tests anywhere in the repo, so any refactor or Node version bump is a leap of faith.