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 的允许列表。出站已经相同、英文仍是国家不支持时,停止换规则,按对方的名单处理。不要换一把不属于你的密钥再试。