测速组每次挑选时,比的是到测试网址哪一条出口更快,不是 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.14.4,AI 域名规则的
outbound是ai-pick还是某个 urltest 标签。 default写的是哪个标签。若客户端还能改选,记下改选之后日志里的出站,不要只记配置文件。- 两次
trace的loc。不要记录完整 IP。 - 页面上是超时、质询,还是 unsupported country 原文。后一种停止改测速参数,改查名单。
idle_timeout 的 30 分钟没有在当天的页面里定义清楚,不要把它写成「30 分钟内不会换国家」。