diff --git a/docs/maintenance/FREENODE.md b/docs/maintenance/FREENODE.md index 73da4f27..f36b2676 100644 --- a/docs/maintenance/FREENODE.md +++ b/docs/maintenance/FREENODE.md @@ -181,3 +181,12 @@ merge 下仍有旧命名目录,不能据目录名推断当前站点归属。fn 12:03采集的`daily_free_vpn`只有537行URI(535行可解析)、518个Clash proxies;`shuaidaoya`仍为10/10。重新在服务器请求两来源的两格式均HTTP 200、curl错误码0,解码/清理BOM后SHA-256与已采集文件完全一致。两来源合并去重后525条URI,仅为已发布1324条的39.65%,低于门槛662条。由此确认本次保护由上游提供的数量减少触发,未发现本机解析大面积丢失或抓取内容与响应不一致;未判断上游数量下降的内部原因或节点真实可用性。 该异常发生在写入候选和切换当前指针之前;12:10—12:12调查时当前指针仍是上述1324条批次。调查阶段未降低阈值、未手动发布/重新采集写盘、未改变生产代码或下游文件。用户随后提供12:12的`no_fresh_prepared_release`,是准备失败后发布阶段继续执行的后续异常。`:15`在已发布批次未满24小时期间仍可同步旧批次,超过24小时后`readSite()`拒绝继续自动推送(不删除已落盘文件)。用户随后明确要求移除骤减保护,实施变更见本节上方现行行为及后续部署验收;本段保留事故发生时的证据,不代表仍须等待上游恢复。 + +### 2026-10-20 移除骤减保护及恢复验收 + +- 用户明确要求移除骤减保护。功能提交`03c6c9e93a28dab24f36626c1c14f478c35b843f`已推送并经白色机Git快进部署到master01;仅移除与上一版/旧公开文件的数量比较及相关配置,不取消空格式拒绝、来源新鲜度、原生格式校验、完整性校验、发布时效或回滚能力。未改数据库、环境配置、服务或调度。 +- 本机PHP 8.4.1与生产PHP 8.4.23均通过16项、40断言,含固定Sing-box/Mihomo原生检查。保留原有工作区改动及线上Clash模板。 +- 用12:03已采集文件重新准备并发布批次`20261020041759-7a1a27074cb1`(北京时间12:17:59);URI 525、Clash 513、Sing-box 489。16份不可变文件及公开兼容文件哈希全部通过。该小批次已经实际发布,解决本次数量比例拦截及其导致的后续无候选问题;未等待下一轮定时运行。 +- 旧批次`20261019160628-63eb56847dd2`仍是previous,可按既有CLI回滚;旧代码`2398318b`、发布前清单/工作区/模板哈希和激活记录保留在`/var/backups/master01-freenode-20261020-remove-guard/`。未在本次重新演练线上回滚,既有回滚单测通过。 +- 已按现有Nodehub接口同步四站,共10份;接收服务器逐份校验通过,URI/Sing-box原始字节一致、Clash与既有TrimStrings处理后的内容一致。未手动执行fn_a旧直推。 +- 生产PHP-FPM内部请求三种订阅格式均200,MIME正确、哈希匹配新批次、stderr为0。未验收公网下载或具体GUI客户端,未检测节点真实连通性。