技术架构

FIBEMATE 采用双后端架构:Node.js 生产稳定版 + Rust 高性能实验版。两个后端 API 兼容,可无缝切换。

系统架构总览

┌──────────────────────────────────────────────────────────┐ │ fibemate.net │ │ (Nginx Reverse Proxy) │ │ TLS 1.3 · HSTS · OCSP Stapling · Let's Encrypt │ └──────────────────────┬───────────────────────────────────┘ │ ┌─────────────┼─────────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ 稳定通道 │ │ 实验通道 │ │ 静态资源 │ │ :3001 │ │ :8080* │ │ :80/443 │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │ │ │ ▼ ▼ ▼ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ Node.js │ │ Rust │ │ www/ │ │ v2.21-pq │ │ v0.2-e2ee │ │ HTML/JS/CSS │ │ PRODUCTION │ │ EXPERIMENTAL │ │ │ └────────────┘ └────────────┘ └────────────┘

版本对比

特性 Node.js 生产版 Rust 实验版
状态 ✅ 稳定运行 🔬 开发中
版本 v2.21-pq v0.2-e2ee
端口 3001 (PM2 管理) 8080* (Cargo)
E2EE PQ + X3DH + Double Ratchet PQ + X3DH + Double Ratchet
ZK / Bulletproofs 已集成 待迁移
WebSocket 完整支持 已打通
SessionManager 事件驱动架构 待实现
性能 基准 预期提升 3-5x
代码量 ~3,100 行 main.js 模块化架构
访问方式 默认 需手动切换

如何测试 Rust 实验版

Rust 后端正在积极开发中,欢迎技术爱好者提前体验:

  1. 打开浏览器开发者工具 (F12)
  2. 在 Console 中执行:
    localStorage.setItem('backend', 'rust')
  3. 刷新页面,响应头中将出现 X-Backend: rust
  4. 体验后可通过以下命令切回:
    localStorage.removeItem('backend')
Rust 实验版仍在测试中,请勿用于重要通信。部分功能可能不稳定。

响应头标识

开发者可通过浏览器 DevTools → Network 查看当前使用的后端:

响应头 Node.js 生产版 Rust 实验版
X-Backend nodejs/2.21-pq rust/0.2-e2ee
X-Backend-Status stable experimental

安全技术栈

层级技术状态
传输层TLS 1.3 · HSTS · Let's Encrypt
密钥交换ML-KEM-768 Hybrid X3DH
连续加密Double Ratchet (PQ optimized)
身份认证ZK-SNARKs (Bulletproofs Range Proof)
流量混淆Sphinx Packet Format + MixnetWIP
会话管理SessionManager (Event-Driven)
国密SM2 / SM3 (GM/T 0003)
可信时间戳RFC 3161 (TSA — CFCA)12/12 Files 100%

返回首页 · 更新时间 2026-05-25 · 代码待审计后开源