4.4 KiB
DPL 客户端下载接入 resource
范围:仅DPL实例的Stellar运行配置、下载选择页及四份客户端下载教程;不修改XB核心、HN或resource采集服务。依据:2026-10-28用户确认将DPL GitHub客户端下载改接resource,并明确执行。
resource安装包源为https://downloads.gemcook.net,固定下载路径由当前软件目录核对。接入直接使用公开固定下载地址,不新增目录API调用、前端密钥或定时同步。resource每日更新同一固定路径,DPL无需跟着版本修改URL。
Windows默认Clash Verge Rev x64,macOS保留Apple/Intel选择,Android默认FlClash ARM64;Linux跳转DPL主题内的静态选择页,提供x64/ARM64的DEB/RPM。选择页另提供Windows ARM64及Android ARMv7。iOS原官方商店链接保留;OpenClash未纳入resource,路由器继续原官方入口,不替换软件或伪造resource链接。
执行
scripts/dpl-resource-downloads/migrate.py是DPL专用配置迁移,不通过更新XB公共分支实施。先以Git把本任务脚本发布到目标服务器隔离工具目录,记录确切提交;经登记白色机在site-jp02执行:
python3 scripts/dpl-resource-downloads/migrate.py plan
python3 scripts/dpl-resource-downloads/migrate.py apply
脚本只允许已登记DPL本地根和生产根;修改前对所有用到的resource安装包核对当前目录、大小、完整SHA256和真实HTTPS Range206字节。保留全部其他env字段及教程并行修改;发现目标文案不符或并发文件变化就停止。更改保留文件权限和属主,原文件备份至root-only /root/codex-backups/dpl/resource-downloads-时间/,回退指令:
python3 scripts/dpl-resource-downloads/migrate.py rollback --backup /root/codex-backups/dpl/本次实际备份目录
回退前检查部署后摘要,避免覆盖后续修改;有冲突须人工合并。重复执行无变化时不重复写入。
本地使用--root /Users/hellcat/Documents/GemCodes/xb --backup 本次指定备份目录,不从本机请求线上resource。运行配置stellar/public/env.js与storage/theme/Stellar/env.js分别维护,不能把包含站点设置的整个env加入Git;本地迁移后仅同步本任务六个下载字段到dev配置。
验收
部署后经白色机在服务器请求DPL实际HTTPS的env、下载选择页及四份教程,验证返回内容与目标地址及对应架构;只下载resource的Range片段,校验完整哈希在服务器本地进行。未打开线上浏览器时明确报告“已完成服务器侧验收,未做线上页面验收”。选择页保持简单原生HTML及锚点,实际下载不经过DPL PHP代理。
本地源配置/教程、线上运行配置、工具Git发布、真实HTTP结果分别记录;不能因脚本已提交就认定DPL已经切换。
2026-10-28 已实施状态
DPL本地与线上已切换。迁移提交3f9ad377c49397e7f6b0ab1b15d8b6884ff25634已推送登记REPO-DPL独立分支codex/dpl-resource-downloads-20261028,以生产7e8fbf6为基线,仅包含DPL专用迁移脚本和说明;未合入XB公共分支。服务器隔离Git工作树为/opt/dpl-resource-downloads-20261028,DPL业务代码HEAD保持7e8fbf6,通过该明确Git版本的脚本只改本实例运行配置及教程。
生产备份及无秘密验收收据:/root/codex-backups/dpl/resource-downloads-20261028T101137Z/manifest.json与acceptance.json。改动为storage/public两份env、两份静态选择页及四份教程,共8个文件;保留此前教程并行改动。两份env均与备份比较,确认仅windows、macos、macos_arm64、macos_x64、android、linux六字段变化。
真实核对10个安装包完整SHA256、大小与HTTPS Range206/首32字节;DPL公开HTTPS的env配置、10链接选择页、四份教程共6项检查通过。resource当时提供Clash Verge Rev v2.5.8与FlClash v0.9.2;版本是当次快照,固定链接由既有采集器更新。iOS与路由器入口未改,未新增认证、API密钥、调度器或目录请求。已完成服务器侧验收,未做线上页面验收。
本地使用现有dpl.loc,选择页返回200,10个唯一resource链接检查通过,env JS语法及六字段以外配置不变检查通过。本地迁移备份在本次聊天work/local-downloads-backup与work/local-public-downloads-backup,dev配置另存修改前副本;生产恢复不依赖这些本机文件。