◆

Clash 配置 ChatGPT 访问规则的方法

2024-05-22 09:070

同一个代理,切到全局模式能打开某个站,切回规则模式就不行——这几乎可以断定是规则匹配的问题,而不是节点或网络的问题。规则模式下 clash 按 rules 从上往下逐条匹配,第一条命中就决定走哪个策略组;很多机场订阅自带的规则里,国内直连(DIRECT)或者默认兜底策略排在前面,请求还没轮到代理组就被放走了,于是连不上。

解决办法是在规则最前面手动加几条,把目标域名强制指到能用的策略组上。下面以 ChatGPT 相关域名为例。

场景

clash 访问 chatgpt 网站在规则模式下总是无法访问,但是在全局连接下可以

解决方法

将 gpt 相关的网站设置为全局(GLOBAL)连接

DOMAIN-SUFFIX 匹配域名后缀,写 openai.com 就能覆盖它下面所有子域。三条域名都要配:chatgpt.com 是站点主域,openai.com 承接 API 和部分静态资源,auth0.com 是登录鉴权用的,少配一条会出现页面能开但登不进去的情况。

这几条必须放在 rules 列表的最顶部,写在国内直连规则后面就被抢先匹配掉了,等于没生效。

rules:
  - 'DOMAIN-SUFFIX,openai.com,GLOBAL'
  - 'DOMAIN-SUFFIX,auth0.com,GLOBAL'
  - 'DOMAIN-SUFFIX,chatgpt.com,GLOBAL'

注意事项

  • 规则里第三段填的是策略组名。GLOBAL 是内置的全局策略组,指过去就跟着全局模式当前选中的节点走;如果你的订阅里有专门的节点组(比如「节点选择」「手动切换」),填那个组名更可控,能单独给它挑一个可用节点。
  • 改的是订阅生成的配置文件时,下次更新订阅会被覆盖回去。长期用建议写在 clash 客户端的「覆写 / Override」或 profile 的 prepend-rules 里,让规则每次自动注入到最前面。
  • 配置文件是 YAML,缩进和引号错一处整个 profile 都加载不了。改完先让客户端重载并看一眼日志,别直接以为生效了。
  • 只加域名规则未必够。有些请求是直接连 IP 的(比如某些客户端和 CDN),域名匹配不到,这种情况需要配合 IP-CIDR 规则或开启 TUN 模式处理。
💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEClash 配置 ChatGPT 访问规则的方法加载中