Files
proxy-station/docs/NET-COFFEE-DNS-2026-10-04.md

4.0 KiB
Raw Permalink Blame History

Net.Coffee Claude 页面 DNS 检测与复测(2026-10-04)

本文保留当日页面脚本和本机实测证据;后续独立 AI Nodes 与当前订阅范围见 当前生产状态。页面实现及解析器出口可能变化,后续复测仍需重新核对。

用户要求检查 Claude 检测页 的 DNS 检测机制,若使用该站域名,则将它加入 AI 分流并在本机复测。本次仅新增一条生产规则并刷新本机既有托管订阅,未部署应用代码。

实际检测机制

检查当日页面引用的 claude-page.js,detectDNSLeak() 的实现为:

  1. 用 Math.random() 生成本次测试 token。
  2. 依次加载 https://<token>-1.d.ip.net.coffee/pixel.gif 与 https://<token>-2.d.ip.net.coffee/pixel.gif,通过新主机名触发 DNS 查询。
  3. 等待后查询同源 /api/dns/result/<token>,读取 dns_servers 数组,即该站权威 DNS 观察到的递归解析器 IP。
  4. 查询这些解析器的地理信息;若其中有中国解析器,而页面认定的 Claude 出口不在中国,则显示「可能泄露」。此判断不要求 DNS 解析器 IP 等于 Claude 连接出口 IP,也不要求两者来自同一家运营商。

源码前面的注释仍提到 ipleak.net,但实际请求已使用该站自托管的 d.ip.net.coffee。检测没有查询 Claude 域名本身;在按域名分流的环境里,探测域名使用普通国内 DNS,不能单凭此结果认定 Claude 域名也使用国内 DNS。若接口未返回解析器,该页面会显示「DNS 加密或未暴露出口」;空结果也不能证明没有泄漏。

生产规则

经管理 API 新增启用的自定义规则:

DOMAIN-SUFFIX,ip.net.coffee,"🤖 AI"

后缀匹配同时覆盖页面根域和随机探测子域,精确 DOMAIN,ip.net.coffee 无法覆盖后者。新规则放在现有 AI 规则段末尾、广告和普通业务分流之前;既有协议防护、Unbreak、其他规则的相对顺序及唯一启用的末尾 FINAL 保持原状。

Surge 生成器由该规则自动派生:

ip.net.coffee = server:https://1.1.1.1/dns-query
*.ip.net.coffee = server:https://1.1.1.1/dns-query

已有 encrypted-dns-follow-outbound-mode 与 1.1.1.1/32 → AI 规则使该 DoH 查询随 AI 出口。没有修改全局 DNS、手写 Host、策略组成员或节点。

备份与验收

写入前在线备份:/opt/proxy-station/data/backups/before-add-ai-net-coffee-dns-20261004-111830.db,已收紧为 root 属主、600 权限。敏感 API 快照、实际订阅和活动配置备份仅保存在权限受限的本机临时目录。

  • 重读确认规则从 129 条变为 130 条,仅新增上述规则;原规则字段和相对顺序保持一致,组、节点及设置重读与变更前相同。
  • 从实际 HTTPS 入口拉取 Surge 与 Clash 订阅,核对托管 self URL、新规则和两条派生 Host 映射。
  • scripts/check-surge.py --fetch-rulesets 通过官方 Surge CLI 和 49/49 规则集快照校验,静态域名遮蔽提示为 0;Clash 的 mihomo -t 通过。
  • 本机原活动配置的托管 URL 与此次生产订阅一致。备份后用 surge-cli managed-profile update 更新同一托管配置,并在重载生效后确认有效配置包含新规则及 DNS 映射,原 AI 选择保持不变。
  • 本机 rule explain 确认根域与探测子域命中 AI;dns trace 确认探测子域使用 https://1.1.1.1/dns-query。
  • 同一个 Chrome 检测页修改前刷新显示中国电信 DNS「可能泄露」;修改后刷新显示美国 Cloudflare DNS「未检测到泄露」,Claude 连接出口保持原美国线路。WebRTC 显示「已禁用或无泄露」。

这是该网站、该浏览器和本机 Surge 的实际 DNS 复测;其他设备、其他客户端及远端代理解析器没有在此次测试中验收。网站测试实现与外部规则集后续可能变化,维护时应重新检查探测主机名。