自建部署
部署可选探测器
一个 Go 二进制,在同一个端口提供 TCP 和 UDP 探测。
什么时候需要
Worker 不能直接监听原始 UDP/TCP 探测 Socket。默认可以使用公共 UDP STUN;如果希望补充自己的候选地址发现、提高公共探测服务不可达时的覆盖,可在有公网地址的服务器运行 reignhub-probe。
探测器只返回地址映射,不保存设备目录、不运行 Agent、不托管网页,也不是业务中继。没有它也可以部署 Worker。
构建并运行
Go 版本以仓库 go.mod 为准,也可以使用发布产物中的 Linux amd64/arm64 探测器。
go build -o reignhub-probe ./cmd/reignhub-probe
./reignhub-probe --listen :26330服务器与云安全组同时放行:
| 端口 | 协议 | 用途 |
|---|---|---|
| 26330 | UDP | UDP STUN Binding/地址映射发现 |
| 26330 | TCP | 原生 TCP 探测与打洞候选发现 |
普通 Nginx HTTP 反代不能转发这两个探测协议。探测域名应设置为 DNS only,不能套 Cloudflare HTTP 代理。
让 Worker 发布入口
在 Worker 变量中配置并重新部署:
SELF_STUN=stun:probe.example.com:26330
TCP_STUN=probe.example.com:26330客户端仍然只填 Worker 的 HTTPS 地址。服务会通过 /p2p/config 下发这些入口。
公共与自建 STUN 并行尝试,优先得到可用的直连路径;浏览器没有原始 TCP 能力,TCP 探测主要用于原生端。
运行边界
对称 NAT、运营商网络及企业防火墙可能仍无法打洞;增加探测器并不保证所有网络都能直连。直连不可用时,Worker 的加密 WebSocket 中继提供备用路径。