Clash 国内网站仍走代理怎么办?设置规则直连与自定义 DIRECT
简答:先把 Clash Verge Rev 切到 Rule 规则模式,再在规则前面加入目标域名的 DIRECT 规则;国内流量可用 GEOSITE、GEOIP 分流,但具体网站仍需在连接记录中核对域名并测试命中结果。
定义:Clash 国内网站直连,是指通过分流规则把指定域名、国内站点集合或中国 IP 匹配到 DIRECT,而不是发送到代理策略组。
先试这一步:切到 Rule,并确认 DIRECT 规则在 MATCH 前面
与 Clash 项目及其开发者无隶属关系。本文以 Clash Verge Rev 的配置界面和兼容 Mihomo 的规则写法为例;不同版本的按钮名称可能略有差异,配置字段以当前客户端实际显示为准。
先打开 Clash Verge Rev,在运行模式或模式选择位置,将 Global 改为 Rule。Mihomo 官方文档将 rule 定义为按规则匹配,global 为全局代理,direct 为全局直连;规则模式下,流量还会继续按照配置文件中的 rules 判断。可参考 mihomo General configuration。
| 模式 | 国内网站可能的处理方式 | 适合排查什么 |
|---|---|---|
Global | 所有请求可能交给当前全局代理策略 | 确认是否因为全局代理导致国内站点绕路 |
Rule | 按照规则顺序决定 DIRECT、代理或其他策略 | 日常分流和单域名直连 |
Direct | 所有请求都尝试直连 | 临时判断问题是否来自代理分流,但不适合作为日常分流结论 |
在配置文件中,先检查是否存在类似下面的规则。它们只是示例,策略组名称不能随意替换;DIRECT 是固定的直连策略。
rules:
- GEOSITE,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,你的代理策略组MATCH 是兜底规则,应放在后面。Mihomo 官方文档明确说明规则按从上到下匹配,顶部规则优先级更高;Clash Verge Rev 文档也建议把自定义规则放在前置位置。参考 mihomo Routing Rules 与 Clash Verge 自定义规则配置。
基础设置:用 GEOSITE 和 GEOIP 处理常见国内流量
如果你的配置支持地理站点数据,可以优先使用 GEOSITE,cn,DIRECT 匹配国内站点集合,再用 GEOIP,CN,DIRECT 处理解析到中国 IP 的请求。两者判断对象不同:GEOSITE 主要匹配域名集合,GEOIP 根据目标 IP 的国家或地区代码匹配。规则类型和示例可在 mihomo Routing Rules 中核对。
rules:
- GEOSITE,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,你的代理策略组检查标准是:保存配置并重新加载后,访问一个你确认属于国内服务的网站,再打开 Clash Verge Rev 的连接或日志页面,查看该请求命中的规则和策略是否显示为 DIRECT。如果显示的是代理策略组,说明规则没有命中、顺序靠后,或当前配置没有加载到你修改的内容。
不要把“国内网站”简单等同于“所有使用中国 IP 的网站”。一个站点可能使用境外 CDN、多个域名或第三方接口,因此 GEOIP 和 GEOSITE 的结果可能不同。需要精确控制时,应继续添加具体域名规则,而不是不断堆叠宽泛的关键词规则。
特定网址强制直连:添加 DOMAIN 或 DOMAIN-SUFFIX
如果只有某个国内网站、企业后台或登录页面仍然走代理,先从连接记录中找出实际请求的域名。不要只凭浏览器地址栏添加规则,因为页面可能调用独立的接口、静态资源或登录域名。
- 打开 Clash Verge Rev 的连接页面或日志页面。
- 重新访问目标网站,记录实际出现的主域名和接口域名。
- 如果只想匹配一个完整域名,使用
DOMAIN;如果希望同时覆盖该域名及其子域名,使用DOMAIN-SUFFIX。 - 把规则放在
MATCH和可能冲突的宽泛规则之前,然后保存并重新加载配置。
rules:
- DOMAIN,login.example.com,DIRECT
- DOMAIN-SUFFIX,example.com,DIRECT
- GEOSITE,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,你的代理策略组上面的 example.com 是示例域名,请替换为你在连接记录中确认的真实域名。DOMAIN-SUFFIX,example.com,DIRECT 可能匹配 www.example.com、api.example.com 和根域名;规则语义可参考 mihomo Routing Rules。
Clash Verge Rev 文档说明,编辑订阅规则后可以添加自定义规则,并建议使用前置规则确保自定义项优先匹配。若你直接改动远程订阅原文件,更新订阅后可能被覆盖;优先使用客户端提供的编辑规则、前置规则或全局扩展配置入口,具体入口名称以当前版本界面为准。参考 Clash Verge 自定义规则配置。
冷门网站仍不直连:按连接记录逐条定位
当常见国内规则没有生效时,可以按下面的单变量顺序排查,不要同时修改模式、DNS、TUN 和多组规则,否则很难判断是哪一步产生了变化。
- 先看命中策略:请求显示为代理策略组,说明分流规则没有命中或顺序不对;请求显示为
DIRECT但仍打不开,则问题可能不在分流规则。 - 再看实际域名:把连接记录中的域名与浏览器地址栏比较,分别为登录、接口、图片和静态资源添加规则。
- 最后看 IP 类型:如果规则是
GEOIP,CN,DIRECT,但目标使用境外 IP,GEOIP 可能不会命中;此时使用经过核对的DOMAIN或DOMAIN-SUFFIX。
可以用下面的最小配置做临时验证。示例中的域名和代理组都要替换;不要把这段直接覆盖完整订阅配置,因为它没有包含代理、代理组和其他必要字段。
rules:
- DOMAIN-SUFFIX,替换为你的真实域名,DIRECT
- MATCH,替换为你配置中的代理策略组判定标准是:访问目标站点时,连接记录应显示目标域名命中第一条自定义规则,并使用 DIRECT。如果仍命中后面的 MATCH,检查缩进、域名拼写、规则是否保存到当前活动配置,以及是否重新加载了配置。
TUN、DNS 与国内应用异常:不要把所有问题都归因于规则
如果开启 TUN 后国内应用无法登录、接口超时或部分资源加载失败,先关闭 TUN 做一次对照测试:关闭后恢复正常,才说明问题可能与全局接管、DNS 解析或应用流量识别有关;关闭后仍异常,则应继续检查应用自身、系统网络和服务端状态。
DNS 也可能影响分流判断。Mihomo 官方 DNS 文档展示了通过 nameserver-policy 配合 geosite:cn 的配置方式,但不同网络环境、DNS 服务和订阅配置并不相同,不应直接复制他人的完整 DNS 段。参考 mihomo DNS resolve process。
建议按以下顺序验证:
- 先确认规则模式为
Rule,并查看连接记录是否命中DIRECT。 - 再暂时关闭 TUN,比较同一网址是否恢复。
- 清理浏览器或应用的 DNS 缓存后重新访问。
- 如果只有某个应用异常,优先核对该应用实际请求的域名,不要直接增加整段 IP 或关键词规则。
规则命中 DIRECT 只说明 Clash 将该请求交给直连策略,并不保证网站一定可访问;运营商解析、IPv6、服务端限制、应用证书和本地防火墙仍可能造成失败。
常见问题
Clash 切到 Rule 后,国内网站还是走代理怎么办?
先打开连接记录,确认实际请求域名和命中规则。如果命中代理策略组,把目标域名的 DOMAIN 或 DOMAIN-SUFFIX 规则放到 MATCH 前,并确认规则保存到当前活动配置后重新加载。
GEOIP,CN,DIRECT 能让所有国内网站都直连吗?
不能保证。GEOIP 依据目标 IP 的地区匹配,网站可能使用境外 CDN、多个接口域名或未被当前地理数据覆盖。遇到漏匹配时,应根据连接记录添加经过核对的 DOMAIN 或 DOMAIN-SUFFIX 规则。
为什么我添加了 DOMAIN-SUFFIX 规则,更新订阅后又失效?
如果规则直接写入远程订阅文件,订阅更新可能覆盖本地修改。应使用 Clash Verge Rev 提供的编辑规则、前置规则或全局扩展配置入口;具体入口名称以当前客户端界面为准。
规则已经显示 DIRECT,但国内网站仍打不开,说明规则错了吗?
不一定。DIRECT 只表示请求没有交给代理策略,仍可能受到 DNS、IPv6、本地防火墙、网站服务端或应用自身限制影响。可先关闭 TUN 做对照,再分别检查 DNS 和系统网络。