AI工具:Claude / ChatGPT / Codex 静态IP配置教程
用 Claude、ChatGPT,或者在终端里跑 Claude Code、Codex,最怕的是出口 IP 一会儿一个地区。这篇教程教你把 TTSOP 静态住宅IP接到 Clash 上:只有 AI 的流量走你独享的静态IP,其他网站照旧走原来的线路。

配置准备
- 已在 TTSOP 购买 Claude / OpenAI 支持地区 的静态住宅IP,例如美国、日本、新加坡、中国台北、英国、德国。香港、澳门、中国大陆的IP不能用,这三个地区不在两家的支持名单内。不知道选哪个,看 AI工具网络解决方案
- 电脑上装好 Clash Verge Rev(内核是 mihomo),并且已经导入你现有的机场或专线订阅,能正常访问油管等海外网站
- 在控制台 静态IP 页面找到这条IP的 IP地址、端口、用户名、密码
静态住宅IP是 SOCKS5 账号密码连接,国内网络直接连不上,必须用你现有的海外线路做前置。下面的脚本做的就是这件事(链式代理)。
第一步:在 Clash 里加扩展脚本
在 Clash Verge Rev 的「订阅」页,右键你正在使用的订阅,选择「扩展脚本」(不同版本菜单名可能略有差别),把里面的内容整段替换成下面这段:
// TTSOP:让 Claude / ChatGPT / Codex 走静态住宅IP(链式代理)
function main(config) {
// ① 改成 TTSOP 控制台「静态IP」里你这条IP的信息
const STATIC_IP = {
name: 'TTSOP静态IP',
type: 'socks5',
server: '203.0.113.10',
port: 12345,
username: 'your-username',
password: 'your-password',
// ② 改成你订阅里用来选海外节点的那个策略组的名字(一字不差)
'dialer-proxy': '节点选择'
};
// ③ 这些域名走静态IP,其他网站照旧走原来的线路
const AI_DOMAINS = [
'anthropic.com',
'claude.ai',
'claude.com',
'openai.com',
'chatgpt.com',
'oaistatic.com',
'oaiusercontent.com',
'ipinfo.io' // 用来检查出口IP,配置好后可以删掉
];
config.proxies = config.proxies || [];
config.proxies.push(STATIC_IP);
config.rules = config.rules || [];
config.rules.unshift(
...AI_DOMAINS.map((d) => `DOMAIN-SUFFIX,${d},${STATIC_IP.name}`)
);
return config;
}
需要改的只有三处:
- server / port / username / password:换成控制台里你这条IP的信息(上面的
203.0.113.10只是示例地址) - dialer-proxy:换成你订阅里选海外节点的策略组名字。打开 Clash 的「代理」页,最上面那个用来选节点的组,名字常见的有「节点选择」「🚀 节点选择」「Proxy」等,连表情符号在内要一字不差
- 保存后回到「订阅」页,点一下当前订阅让配置重新生效
这样设置以后,访问 Claude、OpenAI 时流量先经过你的机场节点,再从静态住宅IP出去;Claude 和 OpenAI 看到的始终是静态IP。
第二步:让浏览器走 Clash
在 Clash Verge Rev 首页打开 系统代理(或 TUN 模式),浏览器不用做任何设置。打开 ipinfo.io,显示的 IP 应该是你买的静态IP,而不是机场节点的IP。确认后就可以正常打开 claude.ai 和 chatgpt.com。
第三步:让 Claude Code / Codex 走 Clash
命令行工具不一定读系统代理,需要用环境变量告诉它们走 Clash。先在 Clash Verge Rev 的「设置」里找到 混合端口(Mixed Port)的数字,下面以 7897 为例,换成你自己的。

macOS / Linux
在终端里执行(每次新开终端都要执行一次;想一直生效,就把这两行加进 ~/.zshrc 或 ~/.bashrc):
export HTTPS_PROXY=http://127.0.0.1:7897
export HTTP_PROXY=http://127.0.0.1:7897
Windows(PowerShell)
$env:HTTPS_PROXY="http://127.0.0.1:7897"
$env:HTTP_PROXY="http://127.0.0.1:7897"
Claude Code:写进配置,一劳永逸
Claude Code 支持在 ~/.claude/settings.json(Windows 是 C:\Users\你的用户名\.claude\settings.json)里写环境变量,这样不用每次 export:
{
"env": {
"HTTPS_PROXY": "http://127.0.0.1:7897",
"HTTP_PROXY": "http://127.0.0.1:7897"
}
}
如果文件里已经有别的设置,只把 "env" 这一段合并进去。启动 claude 后输入 /status,能看到 Proxy 一行显示你填的地址。
注意:Claude Code 不支持 SOCKS 代理,不要把静态IP的 socks5 地址直接填给它,一定要像上面这样指向 Clash 的 HTTP 端口,由 Clash 转给静态IP。
Codex
命令行版 Codex 同样用上面的 HTTPS_PROXY / HTTP_PROXY,写 http:// 地址。不要用 ALL_PROXY=socks5://...,部分版本走 SOCKS 会连接失败。
Codex 桌面版等图形界面程序不一定会读取终端里设置的环境变量,这种情况直接打开 Clash 的 TUN 模式 最省事。
第四步:检查出口
设置好代理变量后,在同一个终端里执行:
curl -s https://ipinfo.io/json
返回的 ip 应该是你买的静态IP,country 是你买的国家。是住宅属性的判断方法见 如何验证IP是住宅属性。确认无误后,就可以把脚本里的 'ipinfo.io' 那一行删掉。
常见问题排查
订阅更新失败,提示 dialer-proxy not found
报错类似:
proxy [TTSOP静态IP] dialer-proxy [节点选择] not found
说明脚本里 dialer-proxy 填的策略组名字和你订阅里的对不上。回到 Clash「代理」页,把组名原样复制过来(包括表情符号和空格)。
ipinfo 显示的还是机场节点的IP
- 终端:确认在同一个终端窗口里执行过 export,端口和 Clash 的混合端口一致
- 浏览器:确认 Clash 的系统代理或 TUN 已打开,并且订阅已重新加载过
- 脚本保存后没有生效:在「订阅」页重新点一次当前订阅
连不上、超时
先按 如何判断静态IP是否故障 排查静态IP本身;再确认前置的机场节点能正常访问海外网站。
iPhone 上用 ChatGPT / Claude App
手机上的思路一样:静态IP接在你现有的海外线路后面,只是工具从 Clash 换成小火箭(Shadowrocket)。
- 准备一个外区苹果ID:国区 App Store 下载不到 ChatGPT、Claude 的官方 App,也下载不到小火箭。苹果ID的地区建议和静态IP一致,香港ID不适合(香港不在两家的支持地区内)。没有的话可以在 外区苹果ID 购买,注意小火箭是付费 App,本店苹果ID不含已购的小火箭
- 只在 App Store 里登录这个苹果ID,下载 ChatGPT / Claude 和小火箭;不要在系统「设置」里登录,也不要开 iCloud
- 在小火箭里填静态IP:按 苹果手机:住宅IP的配置教程 操作
- 检查出口:用 Safari 打开 ipinfo.io,显示的应该是你买的静态IP,然后再打开 ChatGPT / Claude App
使用建议
- 地区保持一致:账号注册地、付款卡地区、IP 地区尽量一致
- 不要频繁换IP:一个账号固定用一个静态IP,不要和别人共用
- 遵守服务条款:静态IP只解决网络出口问题,请遵守 Claude、OpenAI 的使用条款和支持地区规定;我们不承诺任何账号不会被限制
还没有静态IP?到 AI工具网络解决方案 选一个支持地区。
遇到问题?
如果您在使用过程中遇到任何问题,请随时联系我们的客服团队获取帮助









