Skip to content

MPUDP v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Sep 03:38
934a632

MPUDP v0.1.0

MPUDP 的首个发行版:用 Go 实现的用户态多路径 UDP Datagram Tunnel。
每条应用 Datagram 编码成一个 Reed-Solomon block,shard 轮转分配到多个长期 UDP
Carrier,并在对端收齐足够的有效 shard 后恢复。

包含功能

  • 严格 YAML 配置和 Go Datagram API。
  • 经过 PSK/HMAC 认证的 Wire 协议及 initiator、listener、dual Session 运行时。
  • Reed-Solomon FEC、确定性 shard 调度、有界恢复状态和短期去重。
  • NAT 反向路径学习、endpoint rebinding、路径过期及关闭清理。
  • 握手协商并冻结的统一 UDP payload budget,发送前大小检查及 Linux DF/PMTU 行为。
  • mpudp --version 输出版本和完整源码 commit。
  • 推送版本 tag 后自动测试、构建并发布 GitHub Release。

下载与验证

提供 Linux amd64 和 arm64 静态二进制,使用 Go 1.26.4 构建。
下载对应 .tar.gzchecksums.txt 后运行:

sha256sum --ignore-missing --check checksums.txt
tar -xzf mpudp_0.1.0_linux_amd64.tar.gz
./mpudp_0.1.0_linux_amd64/mpudp --version

ARM64 使用 mpudp_0.1.0_linux_arm64.tar.gz。归档附带文档、构建信息和第三方许可证。
Go API 的最低 Go 版本为 1.24;其他操作系统不属于本版本运行支持范围。
项目代码目前未声明开源许可证;第三方许可证仅适用于各自组件。

已知边界

  • CLI 启动 Peer/Session,但没有业务 Datagram 输入输出适配;实际承载应用流量需要嵌入
    Go API 或实现上层 adapter。不是现成的 TUN、SOCKS、TCP proxy 或 VPN。
  • 不提供可靠、有序交付、DATA ACK/重传或拥塞控制。
  • PSK/HMAC 保护认证与完整性,不加密 payload。
  • PLPMTUD/动态 Session budget(#13)与 per-Carrier budget/可变 shard(#14)暂缓。
    部署者仍需为所有使用的路径配置安全的公共 UDP payload budget。
  • v0.x 属于早期版本,后续版本可能调整公共 API 或协议;升级前应阅读对应发行说明。

发布校验

发布流程要求 tag 对应源码的完整 CI 通过,包括 race、九个 Linux 网络集成场景及清理审计;
两个架构分别在原生 runner 上执行单元测试和归档二进制版本检查。附件上传后重新下载并
核对 SHA-256,验证通过后公开 Release。