出站的服务器写成域名之后,要先查出它的地址,隧道才建立得起来。若负责这次查询的 DNS 又声明必须从这条尚未建立的出站出去,解析和拨号就互相等待。这时 ChatGPT、Claude 或 Gemini 打不开,页面上通常没有「国家或地区不支持」,因为请求还没到那些网站。

OpenAI、Anthropic 没有把中国大陆列为这些产品的服务地。Gemini 网页名单写的是「中国大陆(仅 Workspace)」。隧道建立起来,也不等于可以绕过地区检查;那样做可能违反条款,账号可能被限制或停用。本文不写伪造证件、购买或借用账号、手机号和支付卡,也不提供可用的服务器地址。

先确认失败停在隧道建立之前

一个可单独引用的区分:节点自己的名字还没解析完,和 AI 网站已经返回地区错误,不是同一种失败。

你能观察到的更像什么不要先做的事
客户端没有「已连接」,或日志停在解析服务器名出站地址还没得到不要先改 AI 账号
已连接,但 AI 域名的答案和其他解析器不同目的站的解析路径见同日 DNS 草稿
已连接,日志里 AI 连接的目标是 IP域名规则还没对上见同日嗅探草稿
已有 HTTP 响应,正文是国家或地区不支持网站按出口判断停止改解析环

后两种见同日草稿「AI 域名仍由本地解析器回答」和「没嗅探时,AI 域名规则对不上」。两篇都还是草稿,链接要等发布后才有效。已经返回的状态码怎么读,见 API、订阅与支付排查 和 地区报错和注册。

1.14 在什么时候要求写解析器

2026-10-31 对照的是标签 v1.14.4(2026-10-24 发布,非预发布)的 拨号字段。其中写明:

  • 自 1.14.0 起,服务器地址使用域名的出站要有 domain_resolver,因为旧的按出站匹配的 DNS 规则会被移除。
  • 只配置了一台 DNS 服务器时,domain_resolver 或路由上的 default_domain_resolver 可以不写。
  • 对不是 direct 的出站,这项解析的是服务器地址里的域名,不是用户正在访问的网站。
  • 字符串形式等价于只填 server。对象形式和 DNS 规则的 route 动作相同,只是没有 action 字段。

路由 上的 default_domain_resolver 从 1.12.0 就有,可以被出站自己的字段覆盖。指向同一台「必须走该出站」的解析器时,环出现在默认值里,不一定出现在出站那一行。

迁移页的例子用 type: socks 和 example.org,只说明字段形状。下面换成文档保留名,避免看起来像一台真实服务器。RFC 2606 保留了 .example。RFC 5737 把 203.0.113.0/24 留作文档用的 TEST-NET-3。203.0.113.10 不能连接,要换成你自己的出站地址。

环长什么样

会互相等待的结构是:出站 proxy 的服务器名要问 DNS 标签 remote,而 remote 又把 detour 设成 proxy。查询要等隧道,隧道要等查询。

{
  "dns": {
    "servers": [
      {
        "type": "https",
        "tag": "remote",
        "server": "1.1.1.1",
        "tls": {
          "enabled": true,
          "server_name": "cloudflare-dns.com"
        },
        "detour": "proxy"
      }
    ]
  },
  "outbounds": [
    {
      "type": "socks",
      "tag": "proxy",
      "server": "proxy.example",
      "server_port": 443,
      "domain_resolver": "remote"
    }
  ]
}

这是用来对照的坏例子,不是建议配置。当天没有用 sing-box 跑出报错原文,不能把某一句日志写成「成环」的固定提示。只配置这一台 remote 时,文档允许省略 domain_resolver;省略之后若仍由这台带 detour 的服务器去解析 proxy.example,等待关系还在。文档没有写「只剩一台就可以打破这个环」。

不经过这个环的写法,是让服务器名去问一台不依赖这条出站的解析器,或者把出站地址写成你已经掌握的 IP:

{
  "dns": {
    "servers": [
      {
        "type": "local",
        "tag": "local"
      }
    ]
  },
  "outbounds": [
    {
      "type": "socks",
      "tag": "proxy",
      "server": "203.0.113.10",
      "server_port": 443
    }
  ]
}

203.0.113.10 仍是文档地址。type: local 使用系统能问到的解析器,默认拨号相当于直连,见 本地 DNS 服务器。它可能给出和你预期不同的地址。那是答案对不对,不是上面的环。2026-10-31 的起草环境不是大陆宽带,没有复现这种不一致。目的站域名(chatgpt.com 这一类)该问哪一台,不要和节点自己的名字混用同一条 detour,见同日那篇 DNS 草稿。

文档和源码对 detour 的说法不一样

拨号字段页写:设置了 detour 之后,同一组里的其他拨号字段会被忽略。同一天打开的 v1.14.4 dialer.go 里,Detour 非空时走 NewDetour,不走 NewDefault,因此这一层不会再套 bind_interface 那些默认拨号。紧接着,若目标是域名且 DomainResolver.Server 非空,仍然会套上 NewResolveDialer。

所以「其他字段被忽略」不能理解成「写了 detour 就不再解析域名」。本文只读了这份源文件,没有编译,也没有对照图形客户端是否另有一层逻辑。发布前以你安装的 1.14.4 行为为准。

新的 HTTPS DNS 服务器默认相当于空的直连,而不是默认出站。这点和旧格式不同,见 HTTPS DNS。节点名字若问的是这台 HTTPS 服务器,却忘了它的 detour,查询会直连出去;写上 detour 又指回自己,就变成上一节的环。两条都要分开记。

和地区报错分开之后再看条款

隧道没建立时,不存在「网站拒绝了这个出口」。先留下:客户端是否已连接、日志里卡在服务器名还是卡在后面的网站、有没有 HTTP 状态码。已连接之后的出口选择,见 在中国使用 ChatGPT。那一篇早于 2026-10-31 的帮助中心,名单以当天打开的页面为准。

2026-10-31 重开的 ChatGPT 支持国家 页眉为「Updated: 9 days ago」,英文名单中看到 Taiwan,没有看到 China、Hong Kong、Macau。页首写明名单外访问或提供访问可能导致封锁或暂停。不支持地区的说明 页眉为「Updated: 3 days ago」,并写使用名单外的支付方式会导致无法使用服务。Anthropic 政策页的生效日仍是 2026-11-12,名单中没有看到中国大陆、香港、澳门。Gemini 网页名单有 “Mainland China (Workspace only)”。这些都不是「把节点域名改成 IP」可以改变的。

公开文件里的法律范围

2026-10-31 打开的《关于清理规范互联网网络接入服务市场的通知》(工信部信管函〔2017〕32号,通知页)写明:未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络 VPN)等其他信道开展跨境经营活动。同日打开的 答记者问 写明,规范对象是无国际通信业务经营资质、私自开展跨境电信业务经营的企业或个人;企业因办公自用,向依法设置国际通信出入口局的经营者租用,不在该条针对的范围内。本文不判断某种个人使用是否违法,也不写规避执法的做法。

改完出站地址后留下的记录

留下五样东西:核心是不是 1.14.4、出站 server 是域名还是 IP、domain_resolver 指向的标签有没有把 detour 设回这条出站、客户端是否已经显示连接、AI 页面是超时还是地区英文。proxy.example 和 203.0.113.10 不能留在真正要运行的配置里。升级之后先跑该版本的 sing-box check,再看日志是停在服务器名,还是已经转到后面的网站。