mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
671 字
2 分钟
NodeCrypt 端到端加密聊天系统部署教程

NodeCrypt 端到端加密聊天系统部署教程#

简介#

NodeCrypt 是一个真正的网页端到端加密(E2EE)聊天系统,实现了完全的零知识架构:服务器、网络中间人甚至系统管理员都无法获取任何明文消息。所有加密与解密都在客户端本地完成,服务器仅作为加密数据的“盲中继”。

TIP

项目采用无数据库设计,所有数据仅在内存中临时存在,新加入成员无法看到历史消息,天然具备前向安全性。

系统架构#

层级技术
前端ES6+ 模块化 JavaScript,无框架依赖
后端Cloudflare Workers + Durable Objects
通信WebSocket 实时双向通信
构建Vite

一键部署到 Cloudflare Workers#

NodeCrypt 原生托管在 Cloudflare Workers,推荐通过一键部署按钮或本地构建完成部署。

方式一:部署按钮#

点击官方提供的 Deploy to Cloudflare Workers 按钮,按指引授权并创建 Worker 即可。

方式二:本地构建部署#

Fork 或克隆仓库后,在本地执行:

# 安装依赖
npm install
# 构建
npm run build
# 部署到 Cloudflare Workers(需已登录 wrangler)
npm run deploy
NOTE

部署依赖 Wrangler,请提前通过 wrangler login 登录 Cloudflare 账号。

零知识架构要点#

NodeCrypt 的安全建立在三层体系之上:

  1. RSA-2048 服务器身份验证:服务器启动时生成临时密钥对,每 24 小时自动轮换,客户端验证公钥防止中间人攻击。
  2. ECDH-P384 密钥协商:客户端与服务器各自生成椭圆曲线密钥对,通过 Diffie-Hellman 建立独立加密通道。
  3. 混合对称加密:服务器通信使用 AES-256-CBC,客户端间通信使用 ChaCha20,每条消息使用独立 IV/Nonce。

房间密码机制#

房间密码作为密钥派生因子参与端到端加密:

最终共享密钥 = ECDH_共享密钥 XOR SHA256(房间密码)
  • 不同密码的房间无法解密彼此消息(密码错误隔离)。
  • 服务器永远无法获知房间密码。

安全建议#

WARNING

房间密码直接决定端到端加密强度,建议使用复杂且随机的强密码;一旦密码泄露,该房间所有通信内容都可能被解密。

  • 使用最新版本的现代浏览器,确保 Web Cryptography API 的可用性与性能。
  • 私密对话点击对方头像即可发起,房间内其他成员完全无法看到私聊内容。
  • 本项目仅供学习与技术研究使用,请在合法合规的前提下使用。

祝你天天开心!

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

NodeCrypt 端到端加密聊天系统部署教程
https://blog.sywan.top/posts/nodecrypt/
作者
屿
发布于
2026-08-26
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00