diff --git a/docs/maintenance/HN_SHARED_NODES.md b/docs/maintenance/HN_SHARED_NODES.md new file mode 100644 index 0000000..7c6dec5 --- /dev/null +++ b/docs/maintenance/HN_SHARED_NODES.md @@ -0,0 +1,30 @@ +# HN / DPL 共享落地:单节点可行性验证 + +## 2026-10-28 原生多面板验证:同端口未通过 + +用户目标:DPL与HN复用落地、中转地址和端口,用户与套餐独立,各自计算流量,不影响现有DPL。本次只验证一个宿主,不执行批量接入。 + +选用node-vn01 / VPS-034(实际香港,原DPL展示HK - 07)。现场MemTotal 8,294,055,936 bytes,现有dpl-node v1.13二进制SHA256 `55bf71fa9d9f2048d3255ae7c0af929a41897ca7743f6ead34132a6ca4c79043`。源码对照官方v1.13标签提交 `0a29338e1f102a462363ce3527417029f89bab28`;标签源码是对照资料,不等于已证明发布二进制的可重现构建。 + +通过本机SSH→白色机→VPS-034,在独立无外网Linux网络namespace内运行原二进制副本进程;仅loopback、虚构REST面板、虚构用户和自签实验TLS证书,私有目录`/root/codex-tests/hn-shared-node-20261028`。没有向HN/DPL生产库添加节点或测试用户,没有使用真实面板凭据,没有改中转、DNS、生产配置或systemd,也没有重启原服务。 + +| 对照 | 实际结果 | +| --- | --- | +| 两面板、127.0.0.1:24443和24444 | 两边完成握手/配置/用户拉取,两个监听均实际TLS握手成功,两边收到状态报告,进程正常停止 | +| 两面板、同一127.0.0.1:24443 | 两边均取得用户,但第二监听报address already in use,进程退出码1;无法同时承载两边用户 | + +这证明现用二进制的原生多实例方式不能直接用于本目标。官方所称“一个进程多面板”不等于多面板合并认证到同一监听。源码`cmd/xboard-node/main.go`为各绑定创建独立service,`internal/service/service.go`为每个service创建kernel;一次service失败会cancel同批服务,所以不能直接在现有DPL实例配置追加HN并试重启。 + +生产保护:前后逐项核对原dpl-node与XrayR的配置/程序/秘密环境文件摘要、unit摘要、PID、ActiveEnterTimestamp、NRestarts、active状态和全监听记录,均一致。秘密文件只计算摘要,没有输出内容。该结果证明上述采样项保持,不等于进行了一次生产客户端联网回归。 + +证据:项目`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用户联网或分账成功。 + +若保持同端口要求,需要单一listener配合用户合并/按站点分流的控制接口,优先核对是否有经验证的现成能力,再决定适配。必须处理站点+本地用户ID的稳定映射、UUID冲突拒绝、每站有效用户过滤和限额/禁用传播、在线设备归属、配置唯一来源、站点故障隔离及真实用量分发。当前面板增量流量接口没有调用级幂等凭证,不能只给发送方增加重试就声称不重复计费;确认与接收端去重需成套设计。 + +先在隔离环境用真实协议测试两边用户同端口联网、分别计费/不串账、重试去重、重启恢复、限额/封禁及一个面板故障;然后才安排真实HN/DPL受限账号与原用户回归。任何生产监听切换若会中断现有DPL连接,须提前说明范围并获本次中断批准;本次“别影响DPL”不授权直接重启切换或隐式接受断连。 + +节点资料与配置生成沿现有脚本/唯一资源清单;nodeops只作为可评估的管理模块,不代表已管理DPL/HN。DomainHub可提供控制接口地址,但不承担用户合并/计费,也不自动改DNS或中转。本阶段无新增管理后台或消息外发,不重复建设ATOM管理和TeleHub告警平台。 diff --git a/docs/maintenance/README.md b/docs/maintenance/README.md index db7adae..201ad23 100644 --- a/docs/maintenance/README.md +++ b/docs/maintenance/README.md @@ -21,6 +21,7 @@ | TELEGRAM_TICKETS.md | Telegram 工单接入、绑定、权限及故障处理 | | STATUS.md | 最近验证基线、已知限制与待验收项目 | | CLOUD_FLARE_AUDIT.md | 两机场 Cloudflare 审查、已部署调优、域名轮换与回退及可选未实施项 | +| HN_SHARED_NODES.md | HN/DPL共用落地的单节点同端口验证、原生能力限制与后续分账验收门槛 | | NODE_ONBOARDING.md | 五节点链路、命名规则、共享资源与验收 | | NODE_RUNBOOK.md | initialize/append参数、脚本入口、前检/证书/验收与面板回退;隔离测试/运维版本与现场边界,含验证清单 | | NODE_BATCH.md | 批量接入默认一个子助手的分工与关卡;append并发锁/查重/断点恢复、命令协议与测试边界 |