feat: WmailHub v1.0.0 —— Cloudflare Email Workers 邮件接收与转发平台(本地可用版本)

- Console:React 19 + antd 6.6.5 前端(登录 admin/admin)+ Hono 管理 API
  (Nodes/Domains/Mailboxes/Emails/Webhooks/Keys/OAuth/Admin)
- Node:Bun 转发节点(HMAC 签名、有限重试、心跳、结构化日志、优雅退出)
- Email Worker:Cloudflare email handler + 本地联调入口
- shared:HMAC 协议(docs/04)、wmh_ Key(32 位)、AES-GCM 加密、SSRF 防护
- 邮件管线:postal-mime 解析、附件、catch-all、限额、malformed 降级、TTL 1 天
- Webhook:签名投递、指数退避重试、SSRF 校验、投递日志
- API v1 + MCP(JSON-RPC,六工具,凭据 kind 隔离)
- Cloudflare OAuth:真实 + 本地 sim 模式,自动安装管线(幂等,无需手工命令)
- 测试:bun test 41 例(协议安全/管线/TTL/Webhook/SSRF/MCP/OAuth/鉴权)+ Playwright UI 冒烟
- LOGO/favicon 由 codex CLI 生成
This commit is contained in:
BigCode
2026-09-30 03:34:37 +08:00
commit d4c1334143
87 changed files with 9268 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
# Node 设计
Node 是无前端、纯后端的邮件转发节点。
核心流程:
```text
Email Worker -> Node -> Console
```
## Node 职责
- 接收 Email Worker 请求
- 验证 Worker 请求
- 获取邮件
- 安全转发到 Console
- 有限重试临时网络错误
- 心跳
- 上报版本和状态
## Node 不负责
- Domain 路由
- Mailbox 路由
- Webhook
- MCP
- API
- 用户权限
- 邮件业务存储
- 邮件规则
Node 收到什么就转发什么。
## Node Scope
Node 只能服务创建它的 Cloudflare Account。不得通过普通业务请求把 Node 任意绑定到其他 Account。
## 配置
Node 至少需要 node_id、cloudflare_account_id、console_endpoint、credential。
credential secret 必须安全保存。
Node 可以有限重试 Console 网络错误,但不承担长期邮件队列职责。