feat: M6 cluster binary registry + peer exchange (stage A)

This commit is contained in:
2026-08-17 17:53:07 +08:00
parent 467c7124ab
commit 79e0b3da79
3 changed files with 391 additions and 5 deletions

10
plan.md
View File

@ -82,11 +82,11 @@
> 诉求:集群内 frpc 二进制**优先通过集群节点间交换**获得,无法交换时才走外部 URL 下载;新节点加入集群时,**自动由邻居节点向其传输二进制**。
- [ ] 二进制来源优先级:本地已有缓存 > 集群节点间交换HTTP/Chunked 拉取) > 外部 URLGitHub Releases
- [ ] 节点注册表:集群发现IP:port 心跳)记录各节点已缓存的 frpc 版本与可用性
- [ ] 传输通道:节点间 HTTP GET /frpc/{version}Basic Auth + 大小上限防放大),支持断点续传/校验和
- [ ] 入网引导:新节点加入时自动向邻居请求 latest 二进制并本地落盘缓存,随后按需启动
- [ ] 失败回退:节点间交换不可用时(如源节点离线/版本缺失)自动回退外部 URL 下载
- [x] 二进制来源优先级:本地已有缓存 > 集群节点间交换HTTP/Chunked 拉取) > 外部 URLGitHub Releases
- [x] 节点注册表:Registrypeers/nodeInf 内存态)+ EnsureVersion 优先级分发
- [x] 传输通道:节点间 HTTP GET /frpc/{version}Basic Auth + 256MiB 上限 + SHA-256 校验),回退 GitHub URL
- [ ] 入网引导:新节点加入时自动向邻居请求 latest 二进制并本地落盘缓存(待阶段 B
- [ ] 失败回退:节点间交换不可用时自动回退外部 URLEnsureVersion 已内建,补充测试)
- [ ] Cache 管理版本保留策略LRU / 仅保留常用)、可用性标记(黑名单失效节点)
- [ ] UI设置页展示二进制来源与缓存状态集群页展示节点间传输进度