docs: record verified HN distinct-port shared-node pilot
Some checks are pending
Docker Build and Publish / build (push) Waiting to run

This commit is contained in:
hellcat 2026-10-28 13:23:22 +08:00
parent eb283d3394
commit f5ac35730d

View File

@ -1,5 +1,38 @@
# HN / DPL 共享落地:单节点可行性验证
## 2026-10-28 不同端口单进程:已接入并验证分别记账
用户随后明确允许仅vn01短暂中断,按同一落地/同一进程/不同端口继续接HN,其他DPL节点不改。实际使用原Xboard-Node v1.13二进制和原dpl-node unit,配置改为两个instances,各自连接本项目面板与机器凭据、使用独立kernel目录;未部署应用源码或更新后端二进制。
| 项目 | 展示名 | 面板节点/机器ID | 正式组 | 中转入口 | 落地监听 |
| --- | --- | --- | --- | --- | --- |
| DPL | 🇭🇰 香港 HK - 07 | 22 / 22 | 1 | haiwi.lshan.eu.org:47308(保持) | 96.9.228.135:24443(保持) |
| HN | 🇭🇰 香港 HK - 01 | 1 / 1 | 2(HN 基础节点) | haiwi.lshan.eu.org:47318(新增规则5798) | 96.9.228.135:24444(新增) |
两个监听由同一个PID13203提供(验收采样值,不是固定配置)。切换操作从stop到双监听稳定耗时5.87秒,不等于测得每个用户精确断线时间。原DPL配置字节嵌入第一个instance、DPL_MACHINE_TOKEN保持;HN另用HN_MACHINE_TOKEN及/var/lib/dpl-node/hn-vn01/kernel。原unit、程序及XrayR 443配置/进程保持;共享进程意味着仍共享故障域,不能宣称HN实例故障绝不会影响DPL。
复用原dpl-vn01.gemcook.net证书/SNI,无新增DNS或证书,也未改续期钩子。中转命名dpl-hn-vn01-anytls沿用既有正式脚本前缀,此规则服务HN;PP收发关闭,原46条中转所核字段保持,当前47条。
### 真实验收与清理
- 通过各自真实订阅,在网关临时客户端经各自中转完成严格TLS、ipify与Cloudflare双重IPv4出口96.9.228.135/HK及HTTPS TLS1.3核查。
- 先只测HN QA3:上行9,171、下行121,341 bytes;DPL既有验收账号1与同数字ID3对照计数保持。再只测DPL账号1:累计上行9,171、下行121,346 bytes;HN QA3保持,DPL已禁用的同数字ID3保持。DPL有延迟上报,保留分段与最终采样,没有把迟到的本方上报当跨站扣费或改写计费代码。
- DPL UUID在HN端口、HN UUID在DPL端口均拒绝。负向使用不依赖规则集下载的严格TLS认证专用客户端;正向保留实际订阅证据。DPL临时客户端仅将选择器/URLtest限定vn01,DNS和路由保留;不把单节点回归写成其余22节点完整联网验收。
- HN节点从隔离组1移到正式组2后,另建100MiB/1小时/1设备非管理员QA5,经正式组实际订阅联网并确认双向计费(9,171/121,347 bytes)。QA3/5均禁用、服务端用户下发排除、订阅403;正式租约closed,旧入口使用过的QA3 token已撤销。既有DPL账号不改密码/权限、不禁用。并行域名迁移任务的QA4未操作。
- DPL全部23节点关键保存值、原套餐、用户组/套餐关联与禁用位、组、订阅设置和生产应用Git/工作区摘要保持。原XrayR进程、DPL/FUC四容器ID/启动时间/重启数保持;HN两容器按并行t34迁移后基线保持。本任务未改任何其他DPL节点。
### 验收中处理的现场差异
另一个HN任务在本次期间按用户要求将c2迁移至t34;以更新后的HN档案、实际subscribe_url与证书/vhost登记核对后使用https://t34.hardnerd-nodes.com,不回改并行迁移。HN旧默认sing-box模板SHA25c68dfd74761e1341f8550468dacff69781ab409ae21794714876956559061b无法通过1.14.3 check(旧DNS格式已移除)。确认与上游默认逐字一致后,使用现有Git运维版本的apply-template.php备份并只更新HN为已验证模板SHA32168fd207632602d4f99f6c66c4d2c3e2399dc0ec3726d9e5b0be1564db3d81,未覆盖定制模板或修改DPL模板。新实际订阅check与联网通过。参考[官方迁移](https://sing-box.sagernet.org/migration/#migrate-to-new-dns-server-formats)。
### 证据与恢复
本地证据codex/output/hn-different-port-20261028/,核心separate-billing.json、hn-formal-report.json、final-audit.json和各次报告/计数原始采样。完整业务保护基线仅保留在面板服务器/root/codex-backups/hn/node-vn01-20261028/,本机只存必要摘要/本次验收数据;原准备的完整本地导出被自动审批拒绝且未执行。
面板stage/、formal-acceptance/、正式组和promote journal均在该备份根;vn01的node/下保存原config/secret、候选文件及cutover-journal;中转独立journal在白色机/root/codex-backups/dpl/hn-vn01-20261028/relay。网关私有诊断在/var/lib/dpl-sgw/hn-vn01-20261028。仅在核对原/candidate哈希且获得所需中断授权后恢复vn01原config/secret并只重启此unit;不得恢复整库、整批中转或覆盖其它站点。HN默认模板回退仅恢复该行旧content并刷新HN缓存,当前值已变化时停止。恢复方案保留,生产回退未实际演练。
当前HN节点1条、正式组2、套餐仍0;未创建收费套餐、支付通道或订单。已完成服务器侧验收,未做线上页面验收;未宣称手机/TUN体验、容量/冗余、崩溃隔离或流量上报重试去重已验收。后续批量使用本方案前应先评估这些边界。
## 2026-10-28 原生多面板验证:同端口未通过
用户目标:DPL与HN复用落地、中转地址和端口,用户与套餐独立,各自计算流量,不影响现有DPL。本次只验证一个宿主,不执行批量接入。
@ -19,9 +52,9 @@
证据:项目`codex/output/hn-shared-node-20261028/`下的`node-before.json`、`node-immediate-before.json`、`node-after.json`、`production-protection.json`、`native-result.json`、两个原始实验日志及可复现脚本。原始日志仅包含虚构测试身份。实验进程已停止,独立网络namespace随进程退出;未安装新常驻服务。
## 下一步及验收门槛
## 原同端口方案的后续门槛
同端口双面板和分别记账尚未实现或验收,HN仍未接入。不同端口对照只验证TLS与面板接口启动,没有声称真实AnyTLS用户联网或分账成功。
同端口合并认证方案未实现。本节是原同端口目标的后续门槛;现行不同端口接入及分别记账已按上文通过,不能混为同一方案。原隔离对照本身只覆盖TLS和面板接口启动。
若保持同端口要求,需要单一listener配合用户合并/按站点分流的控制接口,优先核对是否有经验证的现成能力,再决定适配。必须处理站点+本地用户ID的稳定映射、UUID冲突拒绝、每站有效用户过滤和限额/禁用传播、在线设备归属、配置唯一来源、站点故障隔离及真实用量分发。当前面板增量流量接口没有调用级幂等凭证,不能只给发送方增加重试就声称不重复计费;确认与接收端去重需成套设计。
@ -29,8 +62,6 @@
节点资料与配置生成沿现有脚本/唯一资源清单;nodeops只作为可评估的管理模块,不代表已管理DPL/HN。DomainHub可提供控制接口地址,但不承担用户合并/计费,也不自动改DNS或中转。本阶段无新增管理后台或消息外发,不重复建设ATOM管理和TeleHub告警平台。
## 不同端口单进程试点:准备,等待中断选择
## 授权与准备记录
2026-10-28用户改为同落地、同进程、不同端口,先接一台HN并分别计费且不影响DPL。只读回读HN生产节点/组/套餐均为空、管理员存在;DPL当前23节点。候选VPS-034,DPL节点22/24443/原中转47308保持,HN拟HK - 01/24444;HN数据库身份与新中转端口尚未分配。准确准备范围见`codex/output/hn-different-port-20261028/reviewable-plan.json`。
原v1.13的配置watcher并非无损增量添加:`cmd/xboard-node/main.go`收到新RootConfig后明确cancel、等待所有服务退出再启动新配置,现有连接可能中断;任一绑定fatal还会取消同批服务。因此当前“单进程”要求与“DPL无中断”不能同时保证,未擅自修改被watch的生产配置,也未创建HN生产节点/测试账号或中转。需用户明确允许仅本台DPL AnyTLS切换期间短暂中断,或改用独立进程;原XrayR与其它节点不在变更范围。方案尚未上线,分账仍待真实流量验收。
最初按“别影响DPL”约束准备方案后,在会影响vn01现有连接的切换前暂停申请。用户随后明确批准仅vn01短暂中断、单进程不同端口。准备方案在codex/output/hn-different-port-20261028/reviewable-plan.json;它是执行前快照,实际参数与验收以上文为准,不继续当作待批准状态。