Skip to content

Releases: LessUp/webrtc

v1.0.0 - Production Release

21 Apr 18:58

Choose a tag to compare

🎉 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 -d

Visit http://localhost:8080 and join a room to start calling!


📝 Documentation


🙏 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