Skip to content

docs: 重写「地址与国家」,补上手动填写(hub v1.8.2) - #11

Merged
jacob-bytes merged 1 commit into
mainfrom
docs/node-address-country
Sep 29, 2026
Merged

jacob-bytes merged 1 commit into
mainfrom
docs/node-address-country

Conversation

@jacob-bytes

Copy link
Copy Markdown
Collaborator

hub v1.8.2 把「地址与国家」的行为改了(上游 monitor-probe#20 + monitor-probe#55),/config/nodes 那一节写的还是旧行为,现在每一条都反了:

旧文 实际(v1.8.2 起)
「地址是 agent 报什么、hub 看到什么,没有手动填写的入口」 编辑框底部有地址与地区:IPv4 / IPv6 / 国家·地区都能手填,留空为自动
国家按「hub 看到的连接来源地址」查一次,所以网关做透明代理时国家按代理出口算 按节点自己的公网地址查:网卡上的公网 v4 → 公网 v6 → 连接来源;都不公网就不查,内网地址不发给 ipinfo.io
NAT 时 hub 看到的出口地址「也会列出来,排在最前」 每族最多一条:手填 → 网卡上的公网地址 → 同族网卡是内网地址时的出口

改了什么

/config/nodes 的「地址与国家」整节重写,分三节:

  • 显示哪几个地址——每族的取值顺序,以及第 3 条不成立的两种情形(同族网卡已有公网地址 → 那个连接来源是挡在前面的代理;同族没有网卡地址 → 可能是 NAT64/WARP 这类共享转换地址),一个公网地址都没有时显示内网地址,悬停看来源
  • 国家码怎么来的——三级顺序、IPv4 排在 IPv6 前面是因为隧道 v6 会定位到隧道服务器、跟着机器走而不跟着挡在它前面的东西走、查不出会重试而不是等重连(每节点每小时最多一次出站)、回到上一个查过的地址直接取回结果
  • 手动填写——三个字段各替换什么、地址按本族校验并存成规范形式、国家两位字母、手填地址只用于显示不做可达性判断、手填国家的徽章带「手动指定」提示

/install/reverse-proxy 补一句:国家的首选地址是节点网卡上的公网地址,只有网卡上没有公网地址时才轮到连接来源,所以 X-Forwarded-For / CF-Connecting-IP 没配只影响那种节点。原句不算错,但读者容易顺推出「国家看连接来源」,那已经不成立了。

nav.ts:/config/nodes 的 desc 与 keywords 补上「手动填写 / 出口 / 网卡 / 透明代理 / ipv4 / ipv6」。

一处早就存在的文档与实现不一致(本次顺带补平)

reference/faq.mdx 的「节点地址是内网 IP,或者国家不对」那段(a105bb0,9-18 从上游文档对齐时进的)当时就写着「在编辑节点里手动填 IPv4、IPv6 或国家/地区」——那时我们的 hub 还没有这几个字段,文档比代码早了 11 天。这次实现补上,两边才一致。本次没有改那段(它现在是对的),链接指向的 #地址与国家 也仍然解析。

校验

  • npm run lint 0 warning 0 error;npm run build 通过(21 个路由预渲染)
  • 预渲染产物里核对:三个新标题与其锚点都在,旧说法(「没有手动填写的入口」「国家按 hub 看到的」「排在最前」)已消失
  • 自己写脚本扫了全部 525 条内部链接(含锚点,URL 解码后比对 id)——零失效,#国家码怎么来的 也在内
  • 真浏览器截图 /config/nodes(本地 vite preview 起 dist):新分节、表格与列表都渲染正常

`/config/nodes` 那一节整段写的是旧行为,hub v1.8.2 之后每一条都反了:

- 旧文说「地址是 agent 报什么、hub 看到什么,没有手动填写的入口」——现在编辑框
  底部有「地址与地区」,IPv4 / IPv6 / 国家·地区都能手填,留空为自动
- 旧文说国家按「hub 看到的连接来源地址」查,所以网关做了透明代理时国家按代理
  出口算——现在按节点**自己**的公网地址查(网卡 v4 → 网卡 v6 → 连接来源),
  都不公网就不查,内网地址不发给 ipinfo
- 旧文说 NAT 时出口地址「也会列出来,排在最前」——现在每族最多一条:手填 →
  网卡上的公网地址 → 同族网卡是内网地址时的出口;同族已有公网地址或没有网卡
  地址时,连接来源都不显示

新写的内容分三节:**显示哪几个地址**(含每条规则的两种例外、悬停看来源)、
**国家码怎么来的**(三级顺序、v4 优先于 v6 的理由、跟着机器不跟着代理走、
重试与每小时一次的出站额度)、**手动填写**(三个字段各替换什么、校验与规范
形式、什么时候该填)。

顺带在[反向代理](/install/reverse-proxy)那一节补一句:国家的首选地址是节点
网卡上的公网地址,只有网卡上没有公网地址时才轮到连接来源——所以
`X-Forwarded-For` / `CF-Connecting-IP` 配错只影响这种节点。原句本身不算错,
但读者容易顺推出「国家看连接来源」,那已经不成立了。

注意 FAQ 里「节点地址是内网 IP,或者国家不对」那段(a105bb0,9-18 从上游文档
对齐时进的)当时就写着「在编辑节点里手动填 IPv4、IPv6 或国家/地区」——那时我们
的 hub 还没有这几个字段,文档比代码早了 11 天。这次实现补上,两边才一致。
@cloudflare-workers-and-pages

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Failed ❌

View logs ↗
b60d1bb 2026-09-29T11:38:22.495Z View logs ↗

@jacob-bytes
jacob-bytes merged commit 0024aa8 into main Sep 29, 2026
1 of 2 checks passed
@jacob-bytes
jacob-bytes deleted the docs/node-address-country branch September 29, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant