feat(pages): 支持 GitHub Release 部署源

增加 latest/tag 手动检查与同步、ETag 与限流退避、资源替换确认,以及对应的前端来源管理和部署来源展示。
This commit is contained in:
deqiying
2026-07-19 18:31:42 +08:00
parent 38b0516937
commit c39a3edcc3
34 changed files with 5751 additions and 278 deletions
+1
View File
@@ -23,6 +23,7 @@ sidebar: false
### 新增
- Pages 项目新增持久部署源,可配置 Remote URL 或公开 GitHub Release,并支持手动检查、同步发布、来源状态查看与同一 Release 资源替换确认;部署历史会保留安全的来源快照。
- WAF 规则编排新增「UA 检查」节点:可要求携带 User-Agent、按浏览器/操作系统白名单(且/或)匹配,并优先屏蔽常见爬虫、非正常 UA(不含爬虫)与自定义正则 UA。
### 改进
+2 -2
View File
@@ -8879,7 +8879,7 @@ const docTemplate = `{
"SessionCookie": []
}
],
"description": "Remote URL 来源不支持检查更新;该端点为后续 GitHub Release 来源保留统一动作契约",
"description": "异步检查 GitHub Release 来源;Remote URL 来源不支持检查更新",
"produces": [
"application/json"
],
@@ -9112,7 +9112,7 @@ const docTemplate = `{
"SessionCookie": []
}
],
"description": "Phase 1 支持 Remote URL 来源;完整地址仅写入,不会在响应中返回",
"description": "支持 Remote URL 与公开 GitHub Release 来源;敏感地址仅写入,不会在响应中返回",
"consumes": [
"application/json"
],
+8 -1
View File
@@ -211,9 +211,16 @@ of_pages_projects
GitHub:
```text
SHA-256("github|" + owner_repo + "|" + selector + "|" + tag + "|" + asset_name)
LP(value) = uint64be(byte_length(UTF8(value))) || UTF8(value)
SHA-256(
"openflare:pages:github-release:v2" ||
LP(owner_repo) || LP(selector) || LP(tag) || LP(asset_name)
)
```
GitHub identity 对每个 UTF-8 字段使用无歧义的长度前缀编码,不能使用分隔符直接拼接;自动更新开关和检查间隔不参与 identity。
Remote:
```text
+2 -2
View File
@@ -8872,7 +8872,7 @@
"SessionCookie": []
}
],
"description": "Remote URL 来源不支持检查更新;该端点为后续 GitHub Release 来源保留统一动作契约",
"description": "异步检查 GitHub Release 来源;Remote URL 来源不支持检查更新",
"produces": [
"application/json"
],
@@ -9105,7 +9105,7 @@
"SessionCookie": []
}
],
"description": "Phase 1 支持 Remote URL 来源;完整地址仅写入,不会在响应中返回",
"description": "支持 Remote URL 与公开 GitHub Release 来源;敏感地址仅写入,不会在响应中返回",
"consumes": [
"application/json"
],
+2 -2
View File
@@ -9468,7 +9468,7 @@ paths:
- openflare-pages
/api/v1/d/pages/{id}/source/check:
post:
description: Remote URL 来源不支持检查更新;该端点为后续 GitHub Release 来源保留统一动作契约
description: 异步检查 GitHub Release 来源;Remote URL 来源不支持检查更新
parameters:
- description: 项目 ID
in: path
@@ -9611,7 +9611,7 @@ paths:
post:
consumes:
- application/json
description: Phase 1 支持 Remote URL 来源;完整地址仅写入,不会在响应中返回
description: 支持 Remote URL 与公开 GitHub Release 来源;敏感地址仅写入,不会在响应中返回
parameters:
- description: 项目 ID
in: path