阿里sdk

This commit is contained in:
Robin
2026-02-20 17:56:24 +08:00
parent 39524692e5
commit f3af234308
524 changed files with 58345 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
# HTTPDNS 主计划V1.1
## 1. 目标与范围
1. 新增独立模块 `EdgeHttpDNS`,独立构建、独立部署。
2. 不改造 `EdgeDNS` 现有职责,`EdgeDNS` 继续处理传统 Port 53 DNS 请求。
3. 构建端到端链路:`SDK -> EdgeHttpDNS -> EdgeNode 动态验签 -> WAF 放行/403`
4. P1 包含 ECH 全量能力(记录发布、密钥与节点解密链路)。
5. 当前阶段仅实施管理平台能力,用户平台页面暂缓。
## 2. 关键决策(已锁定)
1. 对外接口仅保留 `POST /resolve`
2. 客户端 IP 策略:源 IP 优先,支持签名覆盖 `client_ip`
3. 场景判定规则:按“域名接入状态”自动判定。
4. 场景1仅 HTTPDNS 域名):直连权威 DNS。
5. 场景2已接入 CDN 域名):从边缘节点池计算并返回 CDN 节点 IP。
6. `sni_policy` 枚举:`none|mask|empty|ech`Level2 支持 `mask``empty`)。
7. 证书字段:`cert_fingerprints[] + fingerprint_algo`
8. `EdgeNode` 动态验签采用请求头签名:`X-Edge-Resolve-*`
9. ECH 记录由第三方 DNS API 发布(通过凭证中心编排)。
## 3. 系统职责拆分
### 3.1 管控端(仅管理平台)`edge-admin`
1. 配置中心:`AppID/Secret`、解析策略、SNI 隐匿等级、证书校验策略。
2. 凭证中心:第三方 DNS 运营商 API 凭证管理与复用。
3. ECH 发布编排:记录创建、更新、状态追踪、失败重试。
4. 发布灰度、回退控制与审计日志。
### 3.2 解析网关 `edge-httpdns`
1. 鉴权与签名校验、防重放、限流。
2. 双场景解析编排(权威 DNS / 边缘节点池调度)。
3. 下发 `sni_policy``public_sni`、证书指纹策略。
4. 生成并返回 `verify_headers` 供客户端请求透传。
### 3.3 边缘节点 `edge-node`
1. SNI 与 Host 解耦路由。
2. 动态验签(验签失败返回 403
3. ECH 解密与策略联动。
## 4. 接口规范(摘要)
### 4.1 Endpoint
- `POST /resolve`
### 4.2 返回关键字段
1. `ips`
2. `ttl`
3. `sni_policy`
4. `public_sni`
5. `cert_fingerprints`
6. `fingerprint_algo`
7. `verify_headers`
### 4.3 动态验签请求头
1. `X-Edge-Resolve-AppId`
2. `X-Edge-Resolve-Expire`
3. `X-Edge-Resolve-Nonce`
4. `X-Edge-Resolve-Sign`
## 5. 页面规划(当前仅管理平台)
### 5.1 管理平台Admin
1. HTTPDNS 集群默认配置页。
2. HTTPDNS 应用管理页(含 AppID/Secret、启停、限流、策略覆写
3. 域名绑定与策略页(含测试 IP 指向 CDN 节点能力)。
4. 边缘节点与调度策略页。
5. 第三方 DNS 凭证中心页。
6. ECH 发布状态与审计页。
7. 解析调试页。
8. WAF 动态验证规则页。
9. 一键回退与发布控制页。
### 5.2 用户平台User
- 暂缓,不在当前阶段实施。
- 所有配置与操作先收敛到管理平台。
## 6. SDK 路线
1. 三端均采用 fork 改造路线Android / iOS / Flutter
2. 已落地源码目录:
- `EdgeHttpDNS/sdk/android`
- `EdgeHttpDNS/sdk/ios`
- `EdgeHttpDNS/sdk/flutter/aliyun_httpdns`
3. 溯源文档:
- `EdgeHttpDNS/sdk/SOURCE_LOCK.md`
- `EdgeHttpDNS/sdk/THIRD_PARTY_NOTICES.md`
## 7. 实施阶段(更新)
1. Phase A管理平台配置模型与页面不做用户平台
2. Phase B`EdgeHttpDNS` 核心解析链路与双场景实现。
3. Phase C`EdgeNode` 动态验签与 WAF 联动。
4. Phase DECH 密钥、记录发布、节点解密联调。
5. Phase E三端 SDK 改造与灰度上线。
6. Phase F用户平台能力评估与二期补齐可选
## 8. 验收标准
1. 场景判定准确,返回 IP 正确。
2. 动态验签通过可放行,失败稳定返回 403。
3. `/resolve` 返回字段与 SDK 消费一致。
4. ECH 记录发布成功且链路可用。
5. 管理平台可独立完成全流程配置、发布、回退与审计。
6. 具备观测能力QPS、错误率、签名通过率、403 率)。