零成本且无需服务器利用cloudflare搭建端到端加密聊天系统——NodeCrypt

技术教程 · 12 天前

介绍

NodeCrypt 是一个真正的端到端加密聊天系统,实现完全的零知识架构。整个系统设计确保服务器、网络中间人、甚至系统管理员都无法获取任何明文消息内容。所有加密和解密操作都在客户端本地进行,服务器仅作为加密数据的盲中继。

项目github地址

https://github.com/shuaiplus/NodeCrypt

Demo

不想自己搭建的也可以用搭建好的Demo,同样端到端加密:https://nodecrypt.busy0769.workers.dev

前提准备

  1. cloudflare账号
  2. 域名,并使用cloudflare做DNS解析(可选)

操作步骤

一、Fork NodeCrypt 项目

  1. 访问 NodeCrypt 仓库:https://github.com/shuaiplus/NodeCrypt
  2. 点击右上角的 Fork 按钮(需要登录 GitHub 账户)。
  3. 在弹出的界面中,选择您的个人账户作为 Fork 目标,点击 Create fork。
  4. Fork 完成后,您的 GitHub 账户下会出现一个新仓库,例如 https://github.com/您的用户名/NodeCrypt。

1.png

2.png

二、配置 Cloudflare Workers 账户

  1. 登录 Cloudflare 账户(https://dash.cloudflare.com/login)。如果没有账户,注册一个(免费计划即可)。
  2. 进入 Compute(Workers)→ Workers & Pages 仪表板(左侧菜单)。
  3. 确保您有 Workers 免费计划(支持每月 100,000 次请求,足够测试使用)。

3.png

三、从 GitHub 导入到 Cloudflare Workers

  1. 在 Cloudflare 仪表板的 Workers & Pages 中,在“Workers”标签页下,点击“Import a repository”的“Get started”按钮。

4.png

  1. 选择 Connect to Git(或类似选项,界面可能随 Cloudflare 更新变化)。
  2. 点击 Connect GitHub,授权 Cloudflare 访问您的 GitHub 账户。如果提示,选择 Install &
    Authorize,并允许访问您的 Fork 仓库(您的用户名/NodeCrypt)
  3. 选择 Fork 的仓库(例如 您的用户名/NodeCrypt)。

5.png

  1. 配置项目
    Project name:输入一个名称(如 nodecrypt)。
    Branch:选择 main(默认分支)。
    Build settings:

    Build command:npm run build(如 README 所述)。
    Root directory:保持默认(通常为 /)。
    Environment variables(可选):NodeCrypt 默认无需额外变量,但若有自定义需求(如端口),可在此添加。
  2. 点击 Create and Deploy。

6.png

  1. Cloudflare 将克隆您的 Fork 仓库,运行 npm run build,并部署到 Workers。

8.png

四、验证自动同步 Workflow

确保主仓库更新会自动同步到您的 Fork,并触发 Cloudflare 重新部署。

  1. 检查 Fork 仓库中的 .github/workflows 目录(https://github.com/您的用户名/NodeCrypt/tree/main/.github/workflows)。NodeCrypt 内置了一个同步 Workflow(如 sync.yml),用于自动拉取主仓库(shuaiplus/NodeCrypt)的更新。

9.png

  1. 验证 Workflow 是否启用:
    2.1 进入您的 Fork 仓库,点击 Actions 标签。
    2.2 确认 Workflow(如 Sync with upstream)存在且状态为绿色(运行正常)。
    2.3 如果 Actions 未启用,点击 Enable workflow。
    2.4 重新回到cloudflare的workers下,重新部署下即可。
    2.5 NodeCrypt 的 Workflow 确保主仓库更新(如修复漏洞或新功能)自动同步到您的 Fork,Cloudflare 自动重新部署。

10.png
11.png
12.png

五、绑定域名

  1. 回到cloudflare的workers下,点击部署好的项目;
  2. 点击 Settings
  3. 在Domains & Routes 下点击“+Add”
  4. 点击 Custom domain ,输入自己想要绑定的域名地址即可(需先将域名的DNS设置为cloudflare)

13.png
14.png

使用

  1. 访问绑定的域名或cloudflare默认的域名;
  2. 输入用户名和节点名称;
  3. 进入聊天室后,点击右上角的三个点,把链接分享出去,别人填完用户名后,即可进入加密聊天了

15.png
16.png

Theme Jasmine by Kent Liao