Skip to content

fix(speedtest): 端点测速目标解析统一走穿隧道 223.5.5.5(简化 #280 双形态为单形态)#281

Merged
Sway-Chan merged 1 commit into
dododook:mainfrom
Sway-Chan:fix/speedtest-endpoint-dns-single-shape
Jul 9, 2026
Merged

fix(speedtest): 端点测速目标解析统一走穿隧道 223.5.5.5(简化 #280 双形态为单形态)#281
Sway-Chan merged 1 commit into
dododook:mainfrom
Sway-Chan:fix/speedtest-endpoint-dns-single-shape

Conversation

@Sway-Chan

Copy link
Copy Markdown
Collaborator

问题

端点节点(WG/WARP)测速常超时。端点是 L3,sing-box 强制本地解析目标域名;默认 dns-direct(223.5.5.5 UDP,从本机解析)返回本机 geo 的 IP,境外出口(WARP)够不着 → 超时/失真。代理节点不受影响(ATYP=domain 透传出口远程解析)。

简化(#280 双形态 → 单形态)

#280 用双形态修此偏差:exit-DNS(1.1.1.1 穿隧道)+ local-DNS(dns-direct 兜底)+ 双入站 + 双测竞速。

实测发现 223.5.5.5(AliDNS,有大陆节点 + ECS)穿隧道解析按出口地理返 IP,单形态即覆盖境内外出口:

  • 境外出口(WARP)→ 境外 IP(142.251.x),可达
  • 国内出口(自建 WG)→ 国内 IP(58.63.x),可达
  • 1.1.1.1 因 anycast 无大陆 PoP、在国内出口反挂(返境外 IP 墙内不可达),故弃用

收敛为单一 dns-exit-<id8>(223.5.5.5,detour 穿本端点隧道)+ inbound 键控 dns.rule;删除 local 兜底入站、endpointLocalPortMap、双测竞速。代理节点路径零变化。net -107 / +43

验证

  • 单测 speed-test-endpoint-dns.test.ts 全绿:端点单入站 / dns-exit server=223.5.5.5 / inbound 键控 dns.rule(disable_cache)/ v6→prefer_ipv4 / 纯代理零 dns.rule。
  • 真机(Mac,部署产物经 UI 端到端):Cloudflare WARP 116msDalutone-SZ(国内出口)43ms,均取真实延迟;纯代理控制组 Hk01 33ms 不受影响。

dododook#280 用双形态(exit-DNS 1.1.1.1 穿隧道 + local-DNS dns-direct 兜底 + 双入站 + 双测竞速)
救端点(WG/WARP)测速的国内 DNS geo 偏差。实测发现 223.5.5.5(AliDNS,有大陆节点 + ECS)
穿隧道解析可按出口地理返 IP,单形态即覆盖境内外出口:
- 境外出口(WARP)→ 境外 IP(142.251.x),可达
- 国内出口(自建 WG)→ 国内 IP(58.63.x),可达
1.1.1.1 因 anycast 无大陆 PoP、在国内出口反挂(返境外 IP 墙内不可达),故弃用。

据此把端点测速临时 config 收敛为单一 dns-exit-<id8>(223.5.5.5,detour 穿本端点隧道),
经 inbound 键控 dns.rule 定向;删除 local 兜底入站、endpointLocalPortMap、双测竞速。
代理节点路径零变化(仍以 ATYP=domain 透传出口远程解析)。

真机双证(Mac,部署产物 UI 端到端):Cloudflare WARP 116ms、Dalutone-SZ(国内出口)43ms,
均取真实延迟;纯代理控制组 Hk01 33ms 不受影响。
@Sway-Chan Sway-Chan merged commit 5606e60 into dododook:main Jul 9, 2026
2 checks passed
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