Files
MoShiro/docs/roadmap.md
T
justme a9bf849697
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/e2e Pipeline was successful
docs: rewrite README and AGENTS.md etc..
2026-10-21 06:28:19 +08:00

23 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 路线图
按主题记录尚未实现的事项,完成后删除对应条目。已实现的内容以文档与代码为准。
| 方向 | 事项 |
| --- | --- |
| 测量 | 路由跳数、路径漂移与 trace;QUIC 握手耗时(受限于 msquic 原生依赖与 .NET 缺少 QUIC datagram,需自实现最小 Initial 握手探测);网页长截图;pcap / eBPF 采集 |
| 任务与面板 | 单 Agent 独立任务;原生 webhook 投递与基于 webhook 的告警(前置约束见 [security.md](security/security.md) 第 7.2 节:仅 HTTPS、禁止私网与回环、不跟随重定向、限制超时与响应大小、解析后校验地址) |
| 访客页面 | 人机验证(候选:tiago2/cap、Cloudflare Turnstile) |
| 更新 | 更新遥测;容器节点回滚路径的实机验证;按标签灰度与 `POLICY=auto` 长期验证;纯二进制节点更新器(OpenWrt 已有签名更新器与 procd 适配,待 ARM64 路由器验证、发布密钥轮换、原生软件包;通用 `fleet-updater` / `fleet-release` 与 Windows 服务适配未实现) |
| 安全 | 测量数据产生者签名与归属校验;入库配额;Probe 仅拨公网地址;吊销表;extension 框架(敏感能力独立可选安装,核心保持 NativeAOT,且须维持节点采集边界);可选 UDP 单包授权与会话迁移路径验证;UDP 包 / 控制帧 / RawChunk / JSON-RPC 模糊测试与伪造、重放专项测试 |
| 打包 | OpenWrt ipk/apk 包与 sysupgrade 保留列表(aarch64 长稳验证);Windows 服务适配 |
## 纯二进制节点更新器的设计约束
- 信任来自离线发布密钥签名的清单,发布源可为面板、GitHub Releases 或任意 HTTP 服务。
- 更新策略(`auto` / `notify` / `pinned:<version>`)与受信公钥保存在节点本地配置,面板仅提供建议;支持多公钥以便轮换。
- 清单字段:`app`、`channel`、`version`、`min_from`、各 RID 制品的 `sha256` 与大小、`key_id`、规范化 JSON 签名;节点记录已安装的最高版本,拒绝降级与旧清单重放。
- 流程:下载 → 校验 → 解包至 `versions/<v>/` → 原子切换 `current`(Linux 符号链接 / Windows 目录联结)→ 重启服务 → 等待健康信标 → 失败回切并标记坏版本。
- 更新进程仅可写安装目录与重启受管服务,不可读取节点身份私钥。
- OpenWrt:`keep_versions = 1`,下载前检查闪存剩余空间。
- 容器节点已实现的方案(清单签名、`seq` 防重放、按 digest 拉取、回滚)见 [deployment.md](ops/deployment.md)。