Cloudflare Pages 版 · iTango 华佗检测复刻
iTango 的「递归 LDNS」靠一个随机子域名探针实现:请求
https://{随机串}.sngdia.imtmp.net/s,该域名刻意返回 NXDOMAIN,
用户的递归 DNS 必须向腾讯自持的权威服务器发起迭代查询,
权威服务器从 UDP 报文的源 IP就能看到查询来自哪台 DNS,
再把结果按随机串回传给前端。
这个环节唯一不可复刻的部分是:必须拥有一个自己的权威 DNS 域名才能执行。
如果你有自有域名,可以在 Pages 的环境变量里配置
LDNS_PROBE_DOMAIN,让前端去请求你自己的探针域,
从而 100% 还原该项能力;单纯借用别人的域名是拿不到查询源 IP 的。
顺带一提:浏览器或系统开启加密 DNS(DoH / DoT)后,权威服务器同样看不到 LDNS 源 IP, 这也是 iTango 自身经常显示「获取失败」的最常见原因。
| 项目 | 本工具 | 实现方式 |
|---|---|---|
| 加载延时 | 完全复刻 | 浏览器 no-cors fetch 计时 + 服务端双重测速 |
| 公网出口 IP | 完全复刻 | Worker 读 CF-Connecting-IP + IP 归属库 |
| ISP / 归属地 | 完全复刻 | request.cf 边缘属性 + 第三方 ASN 库 |
| 域名解析 IP | 等价实现 | 多个 DoH 解析器 + EDNS Client Subnet 模拟所在地解析 |
| HTTP 响应头 | 超越原工具 | 服务端代抓,浏览器 no-cors 拿不到任何头 |
| 服务端 TCP RTT | 新增 | Workers socket 反复握手采样 |
| 递归 LDNS | 需自备权威域名 | 见上方说明 |
| 多地 ping / mtr | 不可行 | 依赖运营商拨测 Agent 网络 |