测速组每次挑选时,比的是到测试网址哪一条出口更快,不是 ChatGPT、Claude 或 Gemini 的地区名单。下一次新连接就可能从另一个国家出去。OpenAI 的帮助中心写过:人在不支持的国家或地区时,登录和访问可能出问题;回到支持地区后,仍可能继续看到 unsupported country。把 AI 域名指到一个你选定的出口,只是让这种跳跃少发生一次。它不使中国大陆变成支持地区。

OpenAI、Anthropic 和 Google 都没有把中国大陆写成这些产品的无条件服务地。绕过地区检查违反其条款,账号可能被限制或停用。不要共用账号,不要购买或借用他人的手机号和支付卡。名单和注册见 Claude 与 Gemini 的地区报错和注册,支付见 国外 AI 的 API、订阅与支付排查。

测速组比的是测试网址

一个可单独引用的区分:urltest 选出的标签,是文档定义的测试里更快的那一个;它不表示该出口落在某一份 AI 名单里。

2026-11-01 打开的 URLTest 页面给出的结构是:outbounds 为必填;url 为空时使用 https://www.gstatic.com/generate_204;interval 为空时为 3m;tolerance 为空时为 50,单位是毫秒;idle_timeout 为空时为 30m;interrupt_exist_connections 在示例里是 false。

字段页面写明的空值或示例和 AI 账号相关的读法
url空则用 gstatic 的 generate_204测的不是 chatgpt.com、claude.ai 或 gemini.google.com
interval空则为 3m按这个间隔重新测试。页面没有写「失败几次才换」
tolerance空则为 50 毫秒另一条要比当前选择至少快这么多才会换。页面没有写抖动时的保证
interrupt_exist_connections示例为 false为 true 时,选择变化会打断已有的入站连接
idle_timeout空则为 30m页面没有定义这里的 idle 量的是哪一段空闲

interrupt_exist_connections 的句子是:选择的出站变了就打断已有连接;只影响入站连接,内部连接总会被打断。示例里的 false 表示按文档不会因为这次改选去切断已经建立的入站连接。下一条新连接仍可以走新选出的国家。长回复自己在固定秒数断开时,先不要用这一字段解释,见 大陆代理连上后仍失败 里对 udp_timeout 的区分。

GitHub 上非预发布的最新标签在 2026-11-01 仍是 v1.14.4(2026-10-24 发布)。同一天的 路由规则页 顶部已经出现 “Changes in sing-box 1.15.0”。本文只用 1.14 已有的 urltest、selector 和 route 动作,不写 1.15 才列出的字段。也没有在 1.14.4 二进制里把 tolerance 改掉做对照。

选择器的默认标签不会自己测速

Selector 页写明:目前只能通过 Clash API 控制;outbounds 必填;default 为空时用第一个;interrupt_exist_connections 的含义与上一节相同。

因此,想让 AI 域名停在一个出口上,配置里能写死的是 default,以及路由规则的 outbound 指向这个选择器。页面没有给出切换时的 HTTP 路径,本文不补一条没有在该页出现的请求。Clash API 的监听地址写在 Clash API:external_controller 为空则 API 关闭;若监听在 0.0.0.0,页面要求设置 secret。不要为了换节点把这个接口暴露到局域网以外。

同一页把 store_selected 标成 1.8.0 已弃用,并写「若 cache_file.enabled 则默认启用」。2026-11-01 打开的 Cache File 结构里已经没有 store_selected 这一字段。两页对不齐,所以本文不给「把选择存进缓存」的配置,也不声称重启后仍停在 default。发布前用日志看实际出站标签。

只把点名的域名送进选择器

下面不是完整配置。node-a 和 node-b 必须是你已经写好的出站。不要把整段粘进空文件,也不要把服务器地址或口令写进来。

{
  "outbounds": [
    {
      "type": "selector",
      "tag": "ai-pick",
      "outbounds": ["node-a", "node-b"],
      "default": "node-a",
      "interrupt_exist_connections": false
    }
  ],
  "route": {
    "rules": [
      {
        "domain": ["chatgpt.com", "claude.ai", "gemini.google.com"],
        "domain_suffix": [".chatgpt.com", ".claude.ai", ".gemini.google.com"],
        "action": "route",
        "outbound": "ai-pick"
      }
    ]
  }
}

字段来源,均按 2026-11-01 打开的文档:

  • Rule Action 里 route 动作的 outbound 是目标出站标签,且为必填。1.11.0 起它属于这个动作。片段同时写下 action 和 outbound。不要改回只有 outbound、没有 action 的旧规则。
  • domain_suffix 的示例带前导点,例如 .cn。页面只写「匹配域名后缀」,没有另写不带点是否包含顶点,所以顶点再用 domain 写一次。
  • 路由页写 final 为空时用第一个出站。若你的 final 已经是一个 urltest,AI 域名仍要靠上面这条规则送去 ai-pick。规则页没有单独一句「第一条命中即停止」。发布前把日志调到能看出站标签的级别,确认目标是 ai-pick 而不是测速组。日志字段见现象排查一文,本文没有重开那一页。
  • 域名要先被嗅探还原,规则才对得上 IP 连接。见 没嗅探时,AI 域名规则对不上。

api.anthropic.com 与 platform.claude.com 写在当天 Claude 状态页的组件名里,不在上面三个顶点之下。api.openai.com 沿用站内支付排查一文引用过的官方示例,2026-11-01 没有重开 List models 页。Gemini API 的主机名当天没有从可用地区页读到,片段里不写。这些名字若仍走测速组,网页和 API 会各选一次出口。要放进同一选择器,就按同样的 domain 加 domain_suffix 再写一条,并在日志里核对。

accounts.google.com 不在本片段里。把它和 Gemini 放进同一出口,会带动别的 Google 登录。取舍见地区报错一文,不要用整段 .google.com 代替。

换之前先看这一跳的地区代码

在已经选中的出口上执行:

curl -4 -sS --max-time 20 https://www.cloudflare.com/cdn-cgi/trace

只记录 loc、colo、tls、warp。不要把完整 ip 贴到公开场合。2026-11-01 起草环境(不是大陆宽带、也没有经过上面的选择器)看到 loc=US、colo=IAD、tls=TLSv1.3、warp=off。这只说明 Cloudflare 当时看到的来源,不说明 OpenAI 是否把同一地址当成可服务地区。地理库为什么和节点名不一致,见 VPN 出口 IP 定位为何不准。

改 default 或在客户端里改选之后,再跑一次。两次 loc 不同,就表示这一跳的国家或地区代码变了。共享地址的含义见 共享出口 IP。

帮助中心 ChatGPT and API services in unsupported countries and territories 的页眉是 “Updated: 4 days ago”,没有日历日期。和出口变化直接相关的三句是:

  • 从不支持的国家访问 ChatGPT 或 OpenAI API,或向这类国家提供访问,账号可能被封锁或暂停。
  • 在支持地区创建的账号,在不支持的国家或地区旅行时,登录和访问可能出问题。
  • 回到支持地区后仍可能看到 unsupported country。页面给出的步骤是清除缓存和 Cookie,或换浏览器、无痕窗口,仍不行再联系支持。它没有写「换一个出口国家就能清除这句报错」。

同一页还写:使用支持国家名单以外的支付方式,会导致你被阻止使用服务。支付卡不要借来用。当天没有把这句和某一种卡组织做成对照实验。

Anthropic 政策页当天没有旅行专节。它写的三类不受支持的使用包括:人在未列出的地区使用,即使用户属于别处的主体。选择器改不了这一句。政策页生效日仍是 2026-11-12,晚于核对日。

握手停在 TCP 或 TLS、还是已经返回 HTTP,用另一篇文章的 -w 行分开。那篇草稿是 AI 站点的 TLS 停在哪一步,链接要等发布后才有效。

公开文件里的法律范围

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

改完规则留下的记录

  1. 核心是不是 1.14.4,AI 域名规则的 outbound 是 ai-pick 还是某个 urltest 标签。
  2. default 写的是哪个标签。若客户端还能改选,记下改选之后日志里的出站,不要只记配置文件。
  3. 两次 trace 的 loc。不要记录完整 IP。
  4. 页面上是超时、质询,还是 unsupported country 原文。后一种停止改测速参数,改查名单。

idle_timeout 的 30 分钟没有在当天的页面里定义清楚,不要把它写成「30 分钟内不会换国家」。