Claude Code、Codex和ChatGPT分流规则配置教程

实用教程 admin 1分钟前 1次浏览 0个评论

介绍

Claude Code、Codex 和 ChatGPT 不只访问一个主域名:模型请求、账号登录、静态资源、文件上传以及流式或 WebSocket 长连接可能使用不同的域名。如果只代理 claude.aichatgpt.com,常见结果就是网页能打开,但登录、上传、流式输出或 CLI 单独报错。

这篇教程根据 Net.Coffee 的 Claude 与 GPT 域名清单整理,并用 Anthropic、OpenAI 官方网络文档和 v2fly 社区域名库交叉核对。下面分别给出 Mihomo/Clash.Meta、sing-box 以及 Claude Code 原生 HTTP 代理的配置方法,目标是让同一产品的核心请求稳定走同一个代理出口,同时避免用过宽的关键词、ASN 或固定 IP 段误伤其他流量。

Claude Code、Codex和ChatGPT分流规则配置教程

分流要解决什么问题

AI 服务的网络请求大致分为四类:

类型 Claude 侧示例 OpenAI 侧示例 漏配后的常见表现
模型与 API api.anthropic.com api.openai.com CLI 请求失败、无法返回模型内容
登录与账号 claude.aiplatform.claude.com auth.openai.comchatgpt.com 登录失败、反复跳转或验证
静态资源与用户内容 claudeusercontent.com oaistatic.comoaiusercontent.com 页面白屏、附件上传或下载失败
流式与长连接 Claude API SSE、Chrome bridge WebSocket ws.chatgpt.comchatgpt.com WebSocket 流式输出卡住、连接中途断开

分流的重点不是“域名越多越好”,而是做到两点:

  1. 同一产品的核心域名统一命中同一个代理组;
  2. 规则放在通用规则和最终 MATCH 之前,避免一部分请求被提前分到别的出口。

代理和分流只负责网络路径,不会改变账号权限、订阅状态或服务地区政策。使用前仍应确认出口地区受对应服务支持,并遵守平台条款。

配置前准备

本文用 AI 作为代理组名称。实际使用时,要把所有示例里的 AI 替换成自己配置中真实存在的代理组,例如 节点选择Proxy 或某个固定节点名。

开始前建议做好三件事:

  • 备份当前配置文件;
  • 选定一个稳定出口,不要让 AI 代理组频繁自动切换节点;
  • 建议使用远程 DNS 或经过代理的 DNS,以减少本地 DNS 泄露、污染和解析结果不一致;域名规则是否命中仍取决于客户端的 DNS、Fake-IP 与嗅探模式。

对于 ChatGPT 和 Codex,WebSocket 使用 TCP 443。企业防火墙、TLS 检查或代理网关除了放行 HTTPS,还必须允许 WebSocket Upgrade;否则普通页面可能正常,流式会话仍会卡住。

Mihomo/Clash.Meta:优先使用 geosite

如果当前 Mihomo/Clash.Meta 配置加载的是较新的 geosite 数据库,最省事的写法只有两条:

rules:
  - GEOSITE,anthropic,AI
  - GEOSITE,openai,AI

  # 其他规则……
  - MATCH,节点选择

anthropicopenai 标签来自域名分类库,维护者更新域名后,本地更新 geosite 数据即可跟进,不必手动改规则。

注意以下两点:

  • 两条规则必须放在 MATCHGEOIPGEOSITE,geolocation-!cn 等通用规则之前;Mihomo 按从上到下顺序匹配,先命中的规则会直接决定出口;
  • 如果启动日志提示 anthropicopenai 标签不存在,说明当前 geosite 数据库不包含对应分类。不要继续猜标签名,改用下一节的手写规则即可。

Mihomo/Clash.Meta:手写核心与补充规则

不想依赖 geosite 数据,或者客户端只支持普通 Clash 规则时,可以直接使用下面这组配置。下面把截至 2026 年 9 月官方网络清单覆盖的域名与 v2fly 社区补充分开标注:官方部分优先保留,社区部分用于覆盖当前观察到的短域名和 CDN,并不表示每一条都是必需项。

rules:
  # Claude / Anthropic:当前官方网络清单覆盖
  - DOMAIN-SUFFIX,anthropic.com,AI
  - DOMAIN-SUFFIX,claude.ai,AI
  - DOMAIN-SUFFIX,claude.com,AI
  - DOMAIN-SUFFIX,claudeusercontent.com,AI

  # OpenAI / ChatGPT / Codex:当前官方网络清单覆盖
  - DOMAIN-SUFFIX,openai.com,AI
  - DOMAIN-SUFFIX,chatgpt.com,AI
  - DOMAIN-SUFFIX,oaistatic.com,AI
  - DOMAIN-SUFFIX,oaiusercontent.com,AI
  - DOMAIN-SUFFIX,oaistatsig.com,AI
  - DOMAIN,cdn.openaimerge.com,AI

  # v2fly 社区补充:短域名、关联域名与当前观察到的 CDN
  - DOMAIN-SUFFIX,clau.de,AI
  - DOMAIN-SUFFIX,claudemcpclient.com,AI
  - DOMAIN-SUFFIX,claudemcpcontent.com,AI
  - DOMAIN,servd-anthropic-website.b-cdn.net,AI
  - DOMAIN-SUFFIX,chat.com,AI
  - DOMAIN-SUFFIX,crixet.com,AI
  - DOMAIN-SUFFIX,chatgpt.site,AI
  - DOMAIN,openai.com.cdn.cloudflare.net,AI
  - DOMAIN,openaiapi-site.azureedge.net,AI
  - DOMAIN,openaiassets.blob.core.windows.net,AI
  - DOMAIN,openaicom.imgix.net,AI
  - DOMAIN,openaicomproductionae4b.blob.core.windows.net,AI
  - DOMAIN,openaicom-api-bdcpf8c6d2e9atf6.z01.azurefd.net,AI
  - DOMAIN,production-openaicom-storage.azureedge.net,AI

  # 可能提前命中上述域名的通用规则和最终 MATCH 放在其后
  - MATCH,节点选择

这里的 DOMAIN-SUFFIX,anthropic.com 已经覆盖 api.anthropic.commcp-proxy.anthropic.com 等子域名;DOMAIN-SUFFIX,claude.com 也覆盖 platform.claude.comcode.claude.com。OpenAI 侧同理,openai.com 已覆盖 api.openai.comauth.openai.comchatgpt.com 已覆盖 ws.chatgpt.com

因此,不需要把每个已被后缀规则覆盖的子域名重复写一遍。规则越短,后续维护越容易。

登录、遥测和第三方域名怎么处理

OpenAI 官方企业网络清单还列出了 WorkOS、Cloudflare Challenge、Intercom、Stripe、Sentry 和 Datadog 等域名;Claude Code 官方清单也包含插件仓库、更新服务器和可关闭的 Datadog 遥测端点。这些域名并不全是 AI 服务专用,有些会被大量网站共同使用。

建议按功能和客户端日志处理,而不是一股脑用 DOMAIN-KEYWORD 全部代理:

rules:
  # OpenAI 登录流程需要时再加
  - DOMAIN,cdn.workos.com,AI
  - DOMAIN,forwarder.workos.com,AI
  - DOMAIN,setup.workos.com,AI
  - DOMAIN,images.workoscdn.com,AI
  - DOMAIN,workos.imgix.net,AI
  - DOMAIN,challenges.cloudflare.com,AI

  # v2fly 社区记录的 ChatGPT 高级语音信令域名,使用语音功能时按需添加
  - DOMAIN-SUFFIX,chatgpt.livekit.cloud,AI
  - DOMAIN-SUFFIX,host.livekit.cloud,AI
  - DOMAIN-SUFFIX,turn.livekit.cloud,AI

只有在复现登录或实时连接故障时,确认这些域名被直连或拦截,才需要加入。像 DOMAIN-SUFFIX,stripe.comDOMAIN-SUFFIX,intercom.io 这类共享服务规则会影响其他网站,不建议作为默认核心配置。OpenAI 当前官方列出的 ChatGPT/Codex WebSocket 端点都在 chatgpt.com 下,已被核心后缀规则覆盖;不要为了随机主机名而直接代理整个 webpubsub.azure.com

高级语音优先使用 UDP 3478,网络不允许 UDP 时可回退 TCP 443。上面三条 LiveKit 域名来自 v2fly,只覆盖部分信令/主机名路径,不能替代限制型企业防火墙所需的 IP allowlist;企业环境应动态读取 OpenAI 维护的 ChatGPT Voice IP清单,不要把某次下载到的 IP 快照永久写死。

原参考文章列出的 Arkose 域名可作为旧登录流程的排查线索,但 OpenAI 当前官方网络清单重点列的是 Cloudflare Challenge 与 WorkOS。域名会变化,遇到验证循环时应以客户端日志和官方最新清单为准。

sing-box 配置方法

sing-box 可以直接在 route.rules 中按域名后缀和精确域名分流。当前规则格式要求写明 "action": "route"AI 要替换成实际存在的 outbound tag。下面仍拆成两个规则对象:第一个对应官方清单,第二个是社区补充,可按实际日志取舍。

{
  "route": {
    "rules": [
      {
        "domain_suffix": [
          "anthropic.com",
          "claude.ai",
          "claude.com",
          "claudeusercontent.com",
          "openai.com",
          "chatgpt.com",
          "oaistatic.com",
          "oaiusercontent.com",
          "oaistatsig.com"
        ],
        "domain": [
          "cdn.openaimerge.com"
        ],
        "action": "route",
        "outbound": "AI"
      },
      {
        "domain_suffix": [
          "clau.de",
          "claudemcpclient.com",
          "claudemcpcontent.com",
          "chat.com",
          "crixet.com",
          "chatgpt.site"
        ],
        "domain": [
          "servd-anthropic-website.b-cdn.net",
          "openai.com.cdn.cloudflare.net",
          "openaiapi-site.azureedge.net",
          "openaiassets.blob.core.windows.net",
          "openaicom.imgix.net",
          "openaicomproductionae4b.blob.core.windows.net",
          "openaicom-api-bdcpf8c6d2e9atf6.z01.azurefd.net",
          "production-openaicom-storage.azureedge.net"
        ],
        "action": "route",
        "outbound": "AI"
      }
    ]
  }
}

如果原配置已经有 routerules,只合并里面的规则对象,不要再嵌套一层同名字段。完成后先执行 sing-box 自带的配置检查,再重载服务:

sing-box check -c /etc/sing-box/config.json

命令没有报错,再按自己的安装方式重启 sing-box。

Claude Code直接使用HTTP代理

如果只需要解决 Claude Code CLI 的网络连接,不想改全局分流,Claude Code 官方支持标准 HTTPS_PROXYHTTP_PROXYNO_PROXY 环境变量。

Linux、macOS、WSL、Git Bash:

export HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
claude

Windows PowerShell:

$env:HTTPS_PROXY = "http://127.0.0.1:7890"
$env:HTTP_PROXY = "http://127.0.0.1:7890"
claude

端口 7890 只是示例,要换成代理客户端实际开放的 HTTP 或 mixed 端口。Claude Code 官方明确说明它不支持 SOCKS 代理,因此不能直接把 socks5://127.0.0.1:7891 填进去;只有 SOCKS 端口时,应在代理客户端开启 HTTP/mixed 监听,或继续使用系统级透明代理。

需要长期生效时,可写入 ~/.claude/settings.json

{
  "env": {
    "HTTPS_PROXY": "http://127.0.0.1:7890",
    "HTTP_PROXY": "http://127.0.0.1:7890"
  }
}

已有 settings.json 时,只把 env 里的两个代理变量合并进去,不要覆盖原有权限、模型或插件配置。Claude 后台 agents(claude agents--bg/background)由常驻 supervisor 启动,要可靠继承代理变量,应写在用户级 ~/.claude/settings.json 或 managed settings,而不能只在当前 shell 导出;由应用管理连接的 Claude Desktop 会话也只读取 managed/user settings。NO_PROXY 表示绕过代理,不能把 anthropic.comclaude.ai 等域名放进去。

Claude Code 读取代理变量的优先级是 https_proxyHTTPS_PROXYhttp_proxyHTTP_PROXY。如果 /status 显示的地址和预期不同,先检查系统里是否残留了优先级更高的小写变量。环境变量在 Claude Code 启动时读取,修改后要退出并重新启动会话。

这个方法只保证 Claude Code 自身使用指定 HTTP 代理;ChatGPT 网页、Codex、浏览器附件下载等仍建议使用前面的系统级域名分流。

配置完成后如何验证

1. 先看代理客户端日志

分别访问或调用下面几个域名:

api.anthropic.com
platform.claude.com
claude.ai
api.openai.com
chatgpt.com
ws.chatgpt.com

在 Mihomo/Clash.Meta 或 sing-box 日志里确认它们都命中同一个 AI 出口。若其中某个域名走了 DIRECT 或另一个代理组,先检查规则顺序和代理组名称。

2. 检查 Claude Code

通过环境变量设置代理时,在 Claude Code 里运行:

/status

查看 Proxy 一项是否显示预期地址。也可以用调试模式启动:

claude --debug

需要注意:如果使用的是 Mihomo TUN、透明代理或路由器分流,Claude Code 本身没有设置 HTTPS_PROXY/status 不一定显示代理;这时应以代理客户端命中日志为准。

3. 检查网页与Codex

打开以下检测页面:

Claude 与 OpenAI 可以使用不同代理组,但同一产品内部的核心域名应保持同一出口。Codex 用户要重点确认 api.openai.comchatgpt.com 以及 WebSocket 连接都正常;ChatGPT 用户还应实际测试文件上传和下载。

常见故障对照

表现 优先检查
ChatGPT 网页能开,Codex 报网络错误 api.openai.com 是否命中 AI 规则,WebSocket 443 是否被拦截
对话可用,但上传或下载失败 oaiusercontent.com 是否被直连或阻断
页面白屏、按钮或样式缺失 oaistatic.com、相关 CDN 端点是否命中
Claude Code 登录失败 claude.aiclaude.complatform.claude.com 是否同出口
Claude MCP 连接器不可用 mcp-proxy.anthropic.com 是否命中(已被 anthropic.com 后缀规则覆盖)
配置看着正确但完全不命中 规则是否位于 MATCH 和通用规则之前,代理组名称是否写错
ChatGPT/Codex 流式输出中途停住 WebSocket Upgrade、代理空闲超时、TLS 检查是否干扰长连接
Claude Code 流式输出中途停住 代理空闲超时、TLS 检查是否干扰 API 的 SSE 连接
高级语音无声或频繁中断 LiveKit 域名及官方 Voice IP 范围是否放行,UDP 3478 是否可用,代理客户端是否开启 UDP

排查时不要盲目增加宽泛规则。最有效的办法是打开代理客户端日志,复现一次故障,找到被 DIRECTREJECT 或错误代理组命中的具体 host,再补一条精确规则。

不建议照搬的几类规则

1. 固定 IP 段或 ASN 兜底

AI 服务大量使用 CDN 和云平台,入口 IP 可能变化,也可能与其他业务共享。静态 IP/ASN 规则容易过期或把无关流量一起代理。普通用户优先使用域名规则;只有明确掌握网络边界的企业环境,才需要按官方网络文档维护 IP allowlist。ChatGPT Voice 是例外:限制型防火墙应消费 OpenAI 动态维护的 Voice IP 清单,而不是手写一份不会更新的 IP 快照。

2. DOMAIN-KEYWORD,openaiDOMAIN-KEYWORD,datadog 等宽泛匹配

关键词规则可能命中与目标服务无关的域名。能用 DOMAIN-SUFFIXDOMAIN 精确表达时,就不要用关键词兜底。

3. 把所有 NTP 流量加入 AI 分流

NTP 用于同步 UTC 时间,不负责返回系统时区。系统时区由操作系统配置,不能通过把 NTP 请求改走代理来变成代理出口所在地时区。保持系统时间准确即可,无需把 geosite:category-ntp 当作 Claude 或 ChatGPT 的必需规则。

4. 把“防火墙放行清单”直接等同于“代理分流清单”

官方企业文档会列出安装源、客服、支付、监控等共享域名,目的是避免企业防火墙误拦;代理分流则更强调只让目标业务走指定出口。两者用途不同,不能不加区分地整表复制。

更新规则的建议

  • 使用 geosite 时,定期更新 geosite 数据文件;
  • 使用手写规则时,先关注 Anthropic 与 OpenAI 官方网络文档,再参考 v2fly 等社区维护列表;
  • 每次客户端或网页功能改变后,先看日志再补规则,不要凭域名名称猜测;
  • 规则调整后同时测试登录、普通对话、流式输出、文件上传和 CLI,单测“网页能打开”并不完整。

小结

  • Mihomo/Clash.Meta 能识别标签时,优先使用 GEOSITE,anthropic,AIGEOSITE,openai,AI,更新维护最省事;
  • geosite 标签不可用时,改用本文给出的官方核心与社区补充规则,并把可能抢先命中的通用规则和 MATCH 放在其后;
  • sing-box 用 domain_suffix + domain 组合即可完成相同分流;
  • Claude Code 支持 HTTPS_PROXY / HTTP_PROXY,但不直接支持 SOCKS;
  • 排查的关键是代理日志:确认同一产品的 API、登录、资源及流式/长连接请求命中同一个出口;
  • 不建议用宽泛关键词、固定 ASN/IP 段或 NTP 规则作为默认兜底。

参考资料:


原频道被人恶意举报新电报频道|加入电报群
转载请注明原文链接:Claude Code、Codex和ChatGPT分流规则配置教程
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址