Releases: LessUp/webrtc
Releases · LessUp/webrtc
v1.0.0 - Production Release
🎉 First Stable Release
Production-ready WebRTC learning platform with comprehensive documentation and bilingual support.
✨ Major Features
Real-time Communication
- WebSocket Signaling — Robust signaling hub with room management
- 1-on-1 Calls — Direct peer-to-peer video/audio calls
- Multi-party Mesh — Support for up to 50 concurrent participants per room
- DataChannel Chat — Peer-to-peer text messaging without server relay
Media Controls
- Mute/Unmute — Real-time audio toggle
- Camera On/Off — Video stream control
- Screen Sharing — Display media capture and streaming
- Local Recording — Browser-side MediaRecorder with WebM export
Security & Stability
- Origin Validation — Configurable WebSocket origin whitelist
- Identity Binding — Server-verified client identities
- Resource Limits — Protection against DoS (max 1000 rooms, 50 clients/room)
- Goroutine Safety — Race-condition-free connection lifecycle
Deployment
- Docker Support — Multi-stage builds for minimal image size
- HTTPS/TURN Ready — Docker Compose with Caddy and coturn
- GitHub Pages — Documentation hosting with Jekyll
- CI/CD — GitHub Actions for testing and deployment
📦 Dependencies
| Package | Version | Purpose |
|---|---|---|
| Go | 1.22+ | Runtime |
| Gorilla WebSocket | v1.5.3 | WebSocket implementation |
| Caddy | 2.x | HTTPS reverse proxy |
| coturn | latest | TURN/STUN server |
🚀 Quick Start
# Clone the repository
git clone https://github.com/LessUp/webrtc.git
cd webrtc
# Run locally
go run ./cmd/server
# Or with Docker
docker compose up -dVisit http://localhost:8080 and join a room to start calling!
📝 Documentation
- README — Project overview
- Online Docs — Complete documentation
- Deployment Guide — Production deployment
- API Reference — Configuration options
🙏 Acknowledgments
This release consolidates work from multiple development phases:
- v0.1.0 — Project initialization
- v0.8.0 — DataChannel & Mesh architecture
- v0.9.0 — Major refactoring and modularization
Full Changelog: https://github.com/LessUp/webrtc/blob/main/changelog/1.0.0.md
🎉 首个稳定版本
生产级 WebRTC 学习平台,包含完整文档和双语支持。
✨ 主要功能
实时通信
- WebSocket 信令 — 稳健的信令中心,支持房间管理
- 一对一通话 — 直接的点对点视频/音频通话
- 多人 Mesh — 单房间最多支持 50 个并发参与者
- DataChannel 聊天 — 点对点文本消息,无需服务器中转
媒体控制
- 静音/取消静音 — 实时音频切换
- 摄像头开关 — 视频流控制
- 屏幕共享 — 显示媒体捕获和流传输
- 本地录制 — 浏览器端 MediaRecorder,支持 WebM 导出
安全与稳定性
- 来源验证 — 可配置的 WebSocket 来源白名单
- 身份绑定 — 服务器验证的客户端身份
- 资源限制 — DoS 防护(最多 1000 房间,50 客户端/房间)
- Goroutine 安全 — 无竞态条件的连接生命周期
部署
- Docker 支持 — 多阶段构建,最小化镜像体积
- HTTPS/TURN 就绪 — Docker Compose 配置 Caddy 和 coturn
- GitHub Pages — Jekyll 文档托管
- CI/CD — GitHub Actions 测试和部署
📦 依赖
| 包 | 版本 | 用途 |
|---|---|---|
| Go | 1.22+ | 运行时 |
| Gorilla WebSocket | v1.5.3 | WebSocket 实现 |
| Caddy | 2.x | HTTPS 反向代理 |
| coturn | latest | TURN/STUN 服务器 |
🚀 快速开始
# 克隆仓库
git clone https://github.com/LessUp/webrtc.git
cd webrtc
# 本地运行
go run ./cmd/server
# 或使用 Docker
docker compose up -d访问 http://localhost:8080,加入房间开始通话!
📝 文档
🙏 致谢
本版本整合了多个开发阶段的工作:
- v0.1.0 — 项目初始化
- v0.8.0 — DataChannel & Mesh 架构
- v0.9.0 — 重大重构和模块化
完整变更日志: https://github.com/LessUp/webrtc/blob/main/changelog/1.0.0.md