logo NodeSeekbeta

部署一个规避审查的端到端加密即时聊天网页,来畅聊!

之前的部署方法太省略了,不适合新手,现在优化一下,全程使用cf和github,无需任何服务器。
前文:https://www.nodeseek.com/post-643306-1

部署指南

方案一:零终端部署(纯浏览器操作)

完全不需要安装任何软件,不需要打开终端/命令行。只需要一个浏览器、GitHub 账户和 Cloudflare 账户(免费)。

步骤 1:Fork 仓库
  1. 打开 本项目的 GitHub 仓库
  2. 点击右上角 Fork 按钮
  3. 确认创建,你会得到自己的仓库副本
步骤 2:创建 Cloudflare TURN Key

TURN 服务让处于严格防火墙后的用户也能连接。

  1. 登录 Cloudflare Dashboard
  2. 左侧菜单:媒体RealtimeTURN 服务器
  3. 点击 Create TURN Key(创建 TURN 密钥)
  4. 记下两个值(后面要用):
    • TURN Key ID(一串字母数字,如 a1b2c3d4...
    • API Token(点击显示并复制)
步骤 3:创建 Cloudflare SFU App(可选)

SFU 让多人视频通话更高效。如果你只需要文字聊天,可以跳过此步。

  1. 还在 Realtime 页面,点击 无服务器 SFU
  2. 点击 Create Application(创建应用)
  3. 输入名称(如 chitchatter),点击创建
  4. 记下两个值
    • App ID(如 4b90c609...
    • App Secret / Token
步骤 4:配置 GitHub Secrets

这些密钥让 GitHub Actions 能够部署到你的 Cloudflare 账户。

  1. 获取 Cloudflare API Token:

    • Cloudflare Dashboard → 右上角头像 → 我的个人资料API 令牌
    • 点击 创建令牌 → 选择 编辑 Cloudflare Workers 模板 → 创建
    • 复制生成的 Token
  2. 获取 Account ID:

    • Cloudflare Dashboard 首页,右侧栏可以看到 帐户 ID
    • 复制这个 ID
  3. 在你 Fork 的 GitHub 仓库中设置:

    • 进入仓库 → SettingsSecrets and variablesActions
    • 点击 New repository secret,添加两个:
Secret 名称
CLOUDFLARE_API_TOKEN 上面获取的 API Token
CLOUDFLARE_ACCOUNT_ID 上面获取的 Account ID
步骤 5:部署 Worker(信令服务器)

Worker 是后端服务,处理信令和 API 请求。

仓库中已经包含了部署工作流文件 .github/workflows/deploy-worker.yml

  1. 在仓库页面,点击 Actions 标签
  2. 如果提示启用 Actions,点击 I understand my workflows, go ahead and enable them
  3. 左侧选择 Deploy Worker
  4. 点击 Run workflow → 选择 develop 分支 → Run workflow
  5. 等待 1-2 分钟,看到绿色 ✅ 表示部署成功
  6. 在部署日志中找到 Worker URL,格式如:
    https://chitchatter-signaling.你的子域名.workers.dev
    
    记下这个 URL,后面要用。
步骤 6:设置 Worker 密钥

把步骤 2、3 获得的密钥配置到 Worker。

  1. Cloudflare Dashboard → ComputeWorkers 和 Pages
  2. 点击你的 Worker(名称类似 chitchatter-signaling
  3. 进入 设置变量和机密
  4. 环境变量 部分,逐个添加以下变量(点击 添加,类型选 Secret 密文):
变量名 说明
TURN_KEY_ID 步骤 2 的 TURN Key ID TURN 服务认证
TURN_KEY_API_TOKEN 步骤 2 的 API Token TURN 服务认证
SFU_APP_ID 步骤 3 的 App ID SFU 服务(可选)
SFU_APP_SECRET 步骤 3 的 App Secret SFU 服务(可选)
  1. 点击 部署 (Deploy) 保存
步骤 7:部署前端到 Cloudflare Pages
  1. Cloudflare Dashboard → ComputeWorkers 和 Pages
  2. 点击 创建Pages连接到 Git
  3. 授权 GitHub,选择你 Fork 的 chitchatter 仓库
  4. 配置构建设置:
设置项
生产分支 (Production branch) develop
构建命令 (Build command) npm run build:app
构建输出目录 (Build output directory) dist
  1. 展开 环境变量(高级),添加以下变量:
变量名 说明
NODE_VERSION 20 Node.js 版本
VITE_SIGNALING_SERVER_URL wss://chitchatter-signaling.你的子域名.workers.dev 步骤 5 得到的 URL,把 https:// 改为 wss://
VITE_RTC_CONFIG_ENDPOINT https://chitchatter-signaling.你的子域名.workers.dev/api/get-config TURN 配置接口

⚠️ 注意VITE_SIGNALING_SERVER_URL 必须用 wss:// 开头(WebSocket 协议),不是 https://

  1. 点击 保存并部署
  2. 等待 2-3 分钟构建完成
  3. 部署成功后获得 URL:https://你的项目名.pages.dev
步骤 8:配置 CORS(使用自定义域名时)

如果你只使用 .pages.dev 默认域名,跳过此步.pages.devlocalhost 自动允许。

使用自定义域名(如 chat.example.com)时:

  1. Cloudflare Dashboard → Workers 和 Pages → 选择你的 Worker
  2. 设置变量和机密
  3. 添加环境变量(类型选 明文 Text):
变量名
ALLOWED_ORIGINS https://你的自定义域名

多个域名用逗号分隔:https://chat.example.com,https://www.example.com

  1. 点击 部署 (Deploy) 保存
步骤 9:验证
  1. Worker 健康检查:浏览器打开 https://你的worker.workers.dev/health
    • 正常返回:{"status":"ok"}
  2. TURN 配置:打开 https://你的worker.workers.dev/api/get-config
    • 正常返回 JSON,包含 iceServers 数组
  3. 前端:打开你的 Pages URL
    • 应显示畅聊界面
  4. P2P 测试:打开两个浏览器标签,进入同一房间
    • 双方应能互相看到并发送消息
🎉 完成!

访问你的域名即可使用。分享房间 URL 给朋友,进入同一房间即可加密聊天。


123
  • 部署了,帮你们踩了一个坑。按照楼主教程部署完,怎么样都是一直显示服务器连接错误,一遍一遍的对教程,觉得都没错,就联系了作者,作者非常热心,马上找到问题所在。
    填变量过程中千万不要在链接后面加/,哈哈哈,避坑。
    image.png

  • BD

  • bd

  • 牛的 建好了
    个人也用anytype

  • webrtc关了是不是就不能用了

  • xhj003

  • 确实牛逼

  • 好长啊,你们试。

  • 全部部署完,但是前端界面显示连接服务器失败

  • @asdf #8 发布于2026/3/11 22:23:53,编辑于2026/3/11 22:32:13
    全部部署完,但是前端界面显示连接服务器失败

    最好带截图,说的详细一点,电脑和手机能不能互相连

  • 有时间弄一个

123

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有60110位seeker

🎉欢迎新用户🎉