ZestSend 是一个开源的 WebRTC 点对点连接网页工具,可自行部署在 Cloudflare 上。
支持端对端加密的匿名实时聊天、文件互传、语音通话、视频通话、屏幕共享、同播共享、文本协作、画板等功能,支持点对点直连或 Cloudflare TURN 中转。
无任何账号 / 数据记录机制、完全匿名,两位参与者输入相同的四位房间号后即可连接。直接使用 Cloudflare 部署,即可建立点对点直连连接。配置 Cloudflare TURN 服务器后,可每月免费获得 1000GB 中转连接流量。
延续并改进了 RavelloH/TimePulse 的玻璃态设计美学。
Fork 本仓库后,在 Cloudflare Dashboard 的 Workers & Pages 中依次选择 Create application → Import a repository,选择自己的 Fork 并完成 GitHub 授权。
在部署设置中保留 Worker 名称为 zestsend(需与 wrangler.jsonc 一致),选择 main 作为生产分支,并设置:
| 配置 | 值 |
|---|---|
| Package manager | pnpm |
| Build command | 留空 |
| Deploy command | pnpm deploy |
未配置 TURN 时,应用仍会使用公共 STUN 尝试直连;如需在受限网络中使用中继,请先在 Cloudflare Dashboard 的 Realtime → TURN 创建凭证,然后在已部署 Worker 的 Settings → Variables and Secrets 中添加两个 Secret:
| 名称 | 值 |
|---|---|
TURN_ID |
TURN 凭证的 Key ID |
TURN_TOKEN |
TURN 凭证的 API Token |
后续更新时,在 GitHub 通过 Sync fork 拉取上游提交并合并到 main;Cloudflare 会自动构建并部署。
前往 https://send.ravelloh.com 查看效果。
- Cloudflare Workers、Durable Objects、Realtime TURN
- Hono、Wrangler、Cloudflare Vite Plugin
- 原生 WebRTC 的
RTCPeerConnection、RTCDataChannel、MediaStream - React、Vite、TypeScript、Tailwind CSS、TanStack Router
- Tiptap、Yjs
- Framer Motion
pnpm install
pnpm dev可选的 Cloudflare TURN 配置写入 .env:
TURN_ID=your_cloudflare_turn_key_id
TURN_TOKEN=your_cloudflare_turn_api_token未配置 TURN 时,应用仍会使用公共 STUN 尝试直连;受限网络无法穿透时则不会启用中继。
本项目采用 MIT License。