ChatGPT、Claude 或 Gemini 的网页能打开,只说明你当时打开的那一台主机走完了。API 主机可以在另一条出站上,并单独返回国家或地区不支持。2026-11-03 核对了 OpenAI 的错误表和 API 名单、Anthropic 的地区政策,以及 Gemini API 的可用地区和条款。sing-box 用的是标签 v1.14.4 的规则文件。起草环境不是大陆宽带,没有用真实密钥调用这三家。

OpenAI、Anthropic 和 Google 都没有把中国大陆写进当天核对的名单。从名单外访问可能违反条款。把两台主机改到同一出口,不会把名单外的访问变成名单内。本文不写伪造证件、购买或借用账号、借用他人的手机号和支付卡,也不写把密钥交给第三方中转。

先记下是哪一台主机返回了英文

一个可单独引用的判断句:403 写在 API 的错误表里时,它描述的是到达 API 的那一次访问,不是浏览器里另一个标签页的出口。

你看到的结果更像什么下一步
网页已打开,API 返回国家、地区或 territory两台主机可能不是同一出口抄下两个地址栏或请求 URL 里的主机名
OpenAI 返回 401,并写 IP not authorized组织自己的 IP 允许列表不要把它当成 403 的国家名单
只有终端超时,浏览器正常进程没走浏览器的代理见 官方 SDK 怎么走代理
代理日志里的目标是 IP域名规则对不上见 没嗅探时,AI 域名规则对不上

同日两篇仍是草稿,链接要等发布后才有效:远程 DNS 关掉时,AI 域名在本地查 处理的是 Firefox 把 SOCKS 目标变成 IP;专用代理不会把 Safari 变成另一个国家 处理的是 Safari 自己的路径。测速组换国家见 测速组不要给 AI 换国家。那一篇是出口在变,本文是两台主机被写成两个出站。

三家当天各点了哪一台主机

OpenAI 快速入门 在 2026-11-03 的 curl 示例把请求发到 https://api.openai.com/v1/responses。API 主机是 api.openai.com。

错误码 同一天把 “403 - Country, region, or territory not supported” 的原因写成:你正在从一个不受支持的国家、地区或领土访问 API。它链到 API 支持的国家与地区。那一页写明:在所列国家与地区之外访问或提供访问,账号可能被封锁或暂停。页内名单看到 Taiwan,没有看到 China、Hong Kong、Macau。

同一张错误表里,401 的 “IP not authorized” 是另一句:请求 IP 与项目或组织配置的 IP 允许列表不符。允许列表是你自己的组织设置,不是上面那份国家名单。本文不写如何把一个出口地址加进允许列表。

ChatGPT 网页的帮助中心在起草环境返回 403,正文没有打开。网页产品的主机名请从你能打开的那个页面的地址栏抄,不要从本文猜。2026-11-02 的 结账页和银行验证 读过网页名单,本文没有重开那一页。

Claude API 概述 把 API 写成 https://api.anthropic.com。同一节把控制台的 playground 放在 platform.claude.com。同一页的配置里,claudeAiAbsoluteUrl 是 https://claude.ai,verificationPortalUrl 是 https://portal.anthropic.com。这是页面源码里的地址,2026-11-03 没有在浏览器里逐个点开。这四台主机不能互相代替。

Anthropic 支持地区政策 由 https://www.anthropic.com/supported-countries 打开后转到这里。页眉是 Effective Nov 12, 2026,晚于核对日。政策把应用(页上举例 Claude.ai、Claude Code 和 Cowork)、API 和开发者平台写进同一份「只在下列国家与地区提供」的范围。未列出的国家不受支持,并包括人在未列出的地区使用。名单里看到 Taiwan,没有看到 China、Hong Kong、Macau。生效日之前是否已经按这张名单执行,不能从页眉反推。政策把网页和 API 写进同一份名单,不等于这两台主机已经走了同一条出站。

Gemini API 可用地区 在起草环境打开后位于 aistudio.google.com。它写 Gemini API 和 Google AI Studio 在下列国家与地区可用;不在其中时,页面指向 Gemini Enterprise Agent Platform,而不是把名单外的访问说成可用。名单里看到 Taiwan,没有看到 China、Hong Kong、Macau。Colab 的注释写明:地区限制按 Colab 实例所在地区,不按用户所在地区,并让你在实例上执行 curl ipinfo.io。实例的出口和你浏览器的出口可以不同。

API 参考 同一天把服务端点写成 https://generativelanguage.googleapis.com。这台主机不是 AI Studio 的网页主机。

Gemini API 条款 打开后位于 aistudio.google.com/docs/terms。其中写明,只能在可用地区内访问这些服务,或让 API 客户端的用户去访问。这页没有 OpenAI 那种「封锁或暂停」的句子。不要把 OpenAI 的处罚句安到 Google 上。条款是否在别的页写了停用,2026-11-03 没有再打开其他条款页。

状态码和账单的其余分法见 API、订阅与支付排查。那一篇的核对日是 2026-10-26,本文没有重开它引用的支付页。

1.14.4 用完整主机名,不用后缀

2026-11-03 查询 GitHub Releases API:非预发布的最新标签仍是 v1.14.4,published_at 为 2026-10-24T01:04:25Z。同一次响应里 v1.15.0-alpha.13 是预发布。下面的字段来自标签 v1.14.4 的 docs/configuration/route/rule.md 和 rule_action.md,不按预发布。

domain 的说明是 Match full domain,匹配的是完整主机名。domain_suffix 才是后缀。不要写 .com,也不要写 domain_keyword。

规则上的 action 标为必填。route 动作里的 outbound 标为必填,值是目标出站的标签。规则对象上单独的 outbound 在 1.11.0 标为弃用,并注明已移到 route 动作。标签文件的示例仍把 action 和 outbound 写在同一条规则里。本文按这个示例写,没有在 2026-11-03 运行 sing-box。

ai-out 必须是你配置里已有的出站标签。下面只列入当天文档里出现的 API 或控制台主机。网页主机从地址栏另抄一条,放进同一个 domain 数组,仍然是完整主机名。

{
  "domain": [
    "api.openai.com",
    "api.anthropic.com",
    "platform.claude.com",
    "claude.ai",
    "portal.anthropic.com",
    "generativelanguage.googleapis.com",
    "aistudio.google.com"
  ],
  "action": "route",
  "outbound": "ai-out"
}

地址栏若是 IP,domain 对不上。先恢复主机名,见同日的 Firefox 草稿。规则没有命中时,流量仍走默认出站,两台主机可以一个在境外、一个在直连。改完用日志看这两次连接的出站标签是否相同,再决定要不要重试 API。日志字段见 大陆代理连上后仍失败。

同一出站标签若来自测速组,国家仍可能在两次请求之间换掉。那是 测速组 一文的问题,不是这条 domain 规则能固定的。

公开文件里的法律范围

工信部信管函[2017] 32号 于 2017-01-22 发布。其中写明:未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络 VPN)等其他信道开展跨境经营活动。

2017-01-24 的答记者问 说明,这一规定依据《国际通信出入口局管理办法》,规范的是没有国际通信业务经营资质、私自开展跨境电信业务经营的企业或个人。企业因办公自用,向依法设置国际通信出入口局的经营者租用,不在答记者问所说的影响范围内。记者提问里的「建立和租用」与通知正文的「建立或租用」用字不同,引用时以通知正文为准。

本文只整理这两份公开文本,不判断某一种个人使用是否违法,也不提供规避执法的做法。

一次 403 留下的记录

记下 API 请求的主机名、网页地址栏里的主机名、两次在日志里的出站标签,以及英文是 403 的国家句还是 401 的允许列表。出站已经相同、英文仍是国家不支持时,停止换规则,按对方的名单处理。不要换一把不属于你的密钥再试。