Commit Graph
7 Commits
Author SHA1 Message Date
4566704 4f78b8c15e Merge branch 'main' of https://git.zeroonesoft.cn/golib/zonat
冲突解决 internal/node/node.go: Node 结构体同时保留两侧新增字段
- 远端: HandshakeTimeout (agent 拨号应答 5s 上限, BUG 修复)
- 本地: TunnelPortRange (隧道端口范围, 配置文件功能)
- cmd/node 配置加载器经 node.New() 构造, HandshakeTimeout 默认值不受影响
- 验证: go build/vet 通过, go test ./... 全绿(e2e 3.97s)
v0.2.0
2026-09-25 12:39:08 +08:00
w11 3db891bdcf test(e2e): 50观看端并发穿透残留压测——干净FIN/RST崩溃/迟走三种离场混合, 全部离场后目标端零连接残留、隧道立即可复用(峰值18存活,收口0.12s) 2026-09-25 02:14:27 +08:00
w11 560a641809 fix(agent): agent↔目标段补 5s TCP keepalive——目标假死(进程在但不响应/不发FIN)是全链路最后一段无存活检测的缺口, 观看端会无限挂死画面; 附目标端→观看端断开同步 e2e(回显即关目标, 观看端 0.01s 同步断开) 2026-09-25 01:33:31 +08:00
w11 7a0ec8ded9 fix(node,agent): 转发链路两处慢失败补超时——①节点转发握手(告知目标+等agent回执)新增 HandshakeTimeout 默认5s, agent会话半死时观看端不再无限挂起到点即断、握手成功即清除不约束数据阶段; ②agent 拨内网目标新增 DialTimeout 默认5s(Agent 可配), 目标离线且防火墙丢包时不再裸 Dial 吊20s+, 到点回执失败观看端立即断开; 附 e2e 红绿双向证明(半死agent/黑洞拨号 两场景撤修复必红) 2026-09-25 01:21:57 +08:00
4566704 c174a2ed3a fix(node): 默认自动加载本目录 node.ini——裸跑 ./zonat-node 不再缺密钥报错
改了什么: -config 默认值改为 node.ini; 未显式指定且文件不存在时按无配置启动(纯 flag/老部署兼容); 缺密钥报错文案补 node.ini 途径
为什么: 部署目录裸跑二进制(不经 start.sh)时不会主动带 -config, 直接报缺少 jwt-secret; 自动加载同目录配置后包内开箱即跑
2026-09-21 19:14:27 +08:00
4566704 4dad7fbbbe feat(node): 配置文件启动与隧道端口范围——云主机防火墙可按范围放行
改了什么:
- cmd/node/config.go: 零依赖 ini 配置加载([server] Addr/TunnelBind/JwtSecret/SweepSeconds + [tunnel] PortRange); -config node.ini 启用
- main.go: -config 与 -port-range flag; 配置来源优先级 显式 flag > 配置文件(非零项) > 内置默认(flag.Visit 判显式)
- internal/node/portrange.go: PortRange 解析(20000-21000/单端口/容错) + listen(随机起点顺延探测, 占用即生效避免 TOCTOU)
- node.go: TunnelPortRange 字段; listenTunnel 统一隧道建听——端口 0 且配置范围时范围内取空闲端口, 否则原路径(指定端口直监听/系统随机)
- Start 日志打出端口范围; portrange_test.go 覆盖解析与占满/释放取端口

为什么: agent 注册隧道从不指定端口(ListenPort=0), 节点 net.Listen 落系统随机高位段, 云主机防火墙无法预开; 配置范围后临时/永久隧道都落在固定段内, 防火墙放行 5212+范围即可
2026-09-21 18:28:26 +08:00
w11 984041f1a0 init: 自 zomaintain/backend/zonat 平移独立成库; module path 改为 git.zeroonesoft.cn/golib/zonat; 内部 import 同步重写 v0.1.0 2026-09-19 18:55:43 +08:00