前言

随着Codex火爆,想用服务器搭建一个供 Clash 使用的 VPN,并只让 ChatGPT 走代理、其他流量直连,性价比最高的方案是在你的服务器上部署一个代理服务(如 Xray、V2Ray),然后在 Clash 的配置文件中设置精细的分流规则。

整个流程分为三步:服务端部署 → 客户端配置 → 分流规则编写。

技术方案对比

主要的技术路线有以下几种,选择适合的方案:

方案一:部署代理软件 (Shadowsocks/V2Ray/Xray)

这是最通用、与 Clash 配合最好的方案。你需要在服务器上安装一个代理服务端,它会创建一个 SOCKS5 或 HTTP 代理端口。然后,在你的电脑上,Clash 客户端作为“客户端”连接到你服务器的这个代理端口,并通过规则决定哪些流量发送给它。

方案二:部署传统 VPN (如 OpenVPN/WireGuard)

这类方案是在系统层面创建一个虚拟网卡,接管所有流量。虽然也能用,但配置复杂,且与 Clash 的集成不够紧密,难以实现精细化的应用分流。

方案三:使用 vprox

这是一个基于 WireGuard 的分流隧道工具,功能很强大,支持高可用。但对于你“只为单一网站加速”的需求来说,有点大材小用,上手门槛也更高。

开源项目推荐

宝藏级项目:https://github.com/MHSanaei/3x-ui

官方文档:https://github.com/MHSanaei/3x-ui/wiki

安装方法:

📥第一步:在服务器上安装 3X-UI

你需要通过 SSH 连接到你的服务器(VPS),然后以 root 用户身份执行以下命令。

1. 更新系统并安装必要工具

为了保证安装顺利,先更新系统的软件包列表,并安装 curl 这个下载工具:

apt update -y && apt install -y curl

注:如果你的系统是 CentOS,需要把命令中的 apt 换成 yum。

2. 执行一键安装脚本

这是官方推荐、也是最简单的方法 。在终端中运行下面的命令:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

💡 脚本运行后,会问你几个问题,可以按需求自定义,一般默认即可。

⚠️ 脚本执行完毕后,会自动随机生成你的登录用户名(Username)、密码(Password)、端口(Port)和访问路径(WebBasePath)。屏幕上的信息会类似这样:

###############################################
Username: TCTGf0JXhf
Password: DHBIbrYSvM
Port: 12345
WebBasePath: tq5fGUpOYUJTFBh
Access URL: http://你的服务器IP:12345/tq5fGUpOYUJTFBh
###############################################

3. 放行端口(非常重要)

你需要确保服务器的防火墙允许外部访问你刚才设置的端口。如果你使用的是云服务商(如阿里云、腾讯云、AWS等),除了服务器本身的防火墙,还需要在网页控制台的“安全组”或“防火墙”规则中放行该端口。

🌐 第二步:登录并使用 3X-UI 面板

登录后台:打开浏览器,输入你的访问地址(例如 http://你的服务器IP:12345/tq5fGUpOYUJTFBh),然后输入刚才记录的用户名和密码登录。

添加入站(节点)配置:登录后,点击左侧菜单的“入站列表”,然后点击右上角的“添加入站”按钮。

配置你的代理节点

备注:随便起个名字,比如 My-ChatGPT-Proxy。

协议:推荐选择 shadowsocks 或 vmess,推荐vless。

端口:设置一个代理服务使用的端口,例如 443。注意:这个端口也需要在防火墙中放行,它和你登录面板用的 12345 端口是不同的。

客户端配置:一般默认即可。

完成:点击“添加”或“保存”,一个代理节点就创建好了。

第三步:配置Clash,实现仅代理ChatGPT

这是实现“只代理chatgpt.com,其他直连”目标的核心步骤。你需要将3X-UI生成的节点信息,用到 Clash 的配置里。

方法一:使用 Clash 订阅链接(更简单)

在 3X-UI 面板的“入站列表”中,找到你刚刚添加的节点,点击最右边的“操作”按钮,选择“查看订阅”。复制 Clash 订阅链接,打开你的 Clash 客户端(如 Clash Verge, Clash for Windows 等),在订阅功能中,粘贴这个订阅链接并更新。

接下来是关键的分流:在你使用的Clash客户端里找到配置文件编辑功能。你需要修改规则部分。将 ChatGPT 相关的DOMAIN-SUFFIX规则的策略修改为你的代理节点名称,并将最底部的MATCH策略修改为DIRECT。

方法二:手动添加节点并修改配置文件(更灵活)

如果习惯自己配置,可以将3X-UI显示的节点详情(服务器地址、端口、密码、加密方式等)手动填写到 Clash 的配置文件 config.yaml 中,并用下面这套规则替换原有规则:

核心分流规则配置示例

# 代理节点配置(示例,请填入你的实际信息)
proxies:
  - name: "My-ChatGPT-Proxy"
    type: ss  # 或 vmess
    server: your-server-ip.com
    port: 443
    cipher: chacha20-ietf-poly1305
    password: "你的密码"
# 代理组配置
proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - "My-ChatGPT-Proxy"
# 规则配置(核心)
rules:
  # 1. ChatGPT 及 OpenAI 相关域名,走代理节点
  - DOMAIN-SUFFIX,chatgpt.com,PROXY
  - DOMAIN-SUFFIX,openai.com,PROXY
  - DOMAIN-SUFFIX,auth0.com,PROXY
  - DOMAIN-SUFFIX,oaistatic.com,PROXY
  - DOMAIN-SUFFIX,oaiusercontent.com,PROXY
  - DOMAIN-KEYWORD,openai,PROXY
  - DOMAIN-KEYWORD,chatgpt,PROXY
  # 2. 中国大陆网站,直连
  - GEOIP,CN,DIRECT
  # 3. 其他所有流量,直连
  - MATCH,DIRECT

保存配置并重启 Clash 客户端即可生效。