目录

moonrelay

DERP 形包级加密中继(MoonBit):中继面只见密文(assume a malicious relay——包级加密 per-recipient,密钥不落中继)、资源 边界(限速三层 + 每端缓冲上界)、准入缺省拒、优雅重启疏散(停新 收留 → 广播迁端点 → 存量排空);线全自研(帧头 version 位,旧字节 含义永不变)。泵决策面(限速器/降级判定/配对窗/疏散编排)纯函数 + 时间注入,sim 回放。

血统明示:iroh DERP 形与优雅疏散思想、RustDesk relay 资源面结构 思想(限速三层/降级窗)——思想与结构参考,实现与线全自研 (clean-room,Apache-2.0)。

包结构

包 内容
thy1016/moonrelay/core 帧面(七型词表 + version 位)+ 加密面(per-recipient 记录信封)+ 泵纯核(限速/降级/配对/疏散/缓冲);依赖 async + mooncry
thy1016/moonrelay/server 服务端 IO 面:FrameReader 流分帧 + PeerRegistry 端点册 + RelayServer 六幕处理环
thy1016/moonrelay/cmd 服务端装配入口(lib/cmd 分立)
thy1016/moonrelay/examples/relay_demo 六幕对打 demo(密语转发 + 疏散 + 停新拒,exit 0)

状态:0.1.0。0.x 实验期,API 仍可能随反馈调整;未经独立安全 审计。结构事实与契约见 spec.md;纪律底卷见 const.md。

特性

  • 恶意中继律落数据面:FORWARD 载荷 = 端点侧记录信封密文 (HKDF-SHA256 per-recipient 派生 + AES-GCM seq-nonce),服务端 转发面零解析零落地;认证失败统一拒因,不漏认证 oracle。
  • 资源边界三层:单端令牌桶 + 全局总桶 + 降档惩罚桶(累计跨窗 均值超阈粘性降档,冷启动豁免);每端缓冲上界,丢而不堵。
  • 准入缺省拒:server 库面无门不开(宪法律:禁止缺省无门开放); 入口显式开才算数。
  • 优雅疏散:停新收留 → EVACUATE 广播迁端点 → 存量排空收尾。
  • 纯核回放:限速器/降级判定/配对窗/疏散编排全纯函数 + now : Int64 注入——决策面确定性 sim 回放,IO 面薄壳。
  • 线自研:帧头 version 位,协商不上断连不猜;追加新型不挪旧型。

安装

moon add thy1016/moonrelay

消费包 moon.pkg 按需添加 import:thy1016/moonrelay/core (@core)、thy1016/moonrelay/server(@server)。

快速上手

起一台中继(一行;缺省政策 AcceptAll = 入口显式开,库面缺省拒):

moon run cmd --target native -- 0.0.0.0:24417

端点侧密语(FORWARD 载荷 = 记录信封;中继只见密文):

// 发端:per-recipient 派生 + 封包
let sender = @core.RecordSender::new(
  session_key=session_key,        // 32B;生产 CSPRNG
  recipient_id=b"bob",
)
let envelope = sender.seal(plaintext=b"千里传音")
// FORWARD 帧载荷 = envelope,中继 opaque 直递
// 收端:同 session 同 recipient 派生即对齐,开信封(滑窗防重放)
let plaintext = receiver.open(wire=envelope)

六幕对打(注册 → 密语 → 疏散 → 停新拒,exit 0):

moon run examples/relay_demo --target native

文档

  • spec.md —— 结构事实与契约(范围 / 形状锚 / 验收门 / 演进承诺)
  • const.md —— 宪法(恶意中继律 / 线自研律 / 纯核律 / 守卫律)

License

Apache-2.0

关于
66.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号