高级Clash规则:直接路由、代理路由与域名阻止

在没有合适路由规则的Clash配置文件中,本地网站可能会通过远程代理访问,浪费订阅数据,或在某些服务上使用意外的路由。本文将介绍如何使用开源的Loyalsoldier规则和Clash Verge Rev的Merge覆盖来直接路由本地流量,代理选定的外部流量,并拒绝列出的广告或跟踪域名。

路由规则可以减少不必要的路由变更,提高一致性。但它们无法保证账户不会受到限制,无法将数据中心IP伪装成住宅IP,也不能确保每个流媒体服务都接受所选的出口IP。

前提条件

  • Windows、macOS或Linux:安装Clash Verge Rev
  • Android:安装Clash for Android
  • 订阅:2026年代理服务指南

Clash规则的作用

Clash根据一组有序的规则评估流量:

如果没有适合用户网络的配置文件:

  • 本地的购物、消息或视频流量可能会走远程代理;
  • 当节点频繁切换时,某些服务可能会看到意外的出口位置;
  • 不在规则覆盖范围内的网站按照最终回退策略处理。

规则的作用类似于有序的路由表。它们决定请求的去向,而不会改变所选IP的声誉。

匹配方式

Clash从上到下检查规则:

  • youtube.com匹配代理规则并使用PROXY;
  • taobao.com匹配直接规则并使用DIRECT;
  • 未匹配的域名遵循配置文件提供的最终回退策略。

顺序很重要。更具体的规则通常需要在更宽泛的规则之前出现,以防止意外匹配相同的流量。

规则来源:Loyalsoldier/clash-rules

源文章推荐了Loyalsoldier/clash-rules。截至2026年2月,该项目在GitHub上获得了近30,000个星标。

该项目:

  • 综合了社区维护的域名和IP数据集,包括单独的Apple、Google、Telegram、私人网络和中国大陆列表;
  • 使用GitHub Actions定期重建发布数据——源文章提到每天在早上6:30进行更新;
  • 发布格式兼容于Clash核心和客户端。

兼容性取决于具体的Clash核心和Merge语法。请在您实际使用的客户端版本中测试生成的配置。

仓库: https://github.com/Loyalsoldier/clash-rules

三步配置规则

以下截图使用Clash Verge Rev。其他客户端可能会将Merge覆盖放置在不同的位置,或者不支持该语法。

步骤1:打开全局Merge覆盖

  • 打开Clash Verge Rev,选择配置文件或订阅。
  • 找到全局扩展Merge配置。
  • 右键点击并选择编辑文件。

步骤2:添加规则提供者配置

在替换之前,请备份任何现有的覆盖。粘贴以下配置:

prepend将这些提供者和规则放在订阅规则之前,给予它们更高的优先级。

规则摘要:

在高敏感环境中使用之前,检查列表。第三方列表可能包含错误,随时间变化,或阻止另一个应用程序所需的域名。

步骤3:保存并重新加载

使用界面按钮或Ctrl + S保存。

在源文章使用的Clash Verge Rev版本中,全局Merge覆盖没有单独的启用开关;保存会将其合并到订阅配置文件中。如果您的版本不同,请查看其当前的覆盖控制。

由于规则在单独的覆盖中,刷新提供者订阅不应删除它们。

预期效果

当规则正确匹配时:

  • 列出的本地网站使用直接路由,而不是远程代理;
  • 列出的流媒体和外部服务使用所选代理策略;
  • Telegram的列出IP范围使用代理;
  • 被拒绝列表中的域名会被拒绝。

这些效果取决于列表的准确性和所选节点的质量。它们不能保证Netflix访问、TikTok可用、即时消息或完全广告屏蔽。

验证合并配置

  • 打开设置。
  • 找到Verge高级设置,然后打开当前配置。
  • 检查最终合并的YAML。

查找提供者如reject、google、apple和cncidr,并确认它们的规则引用按预期顺序出现。

使用规则模式,路由引擎仅在规则模式下应用这些决策。全局和直接模式会绕过预期的分裂路由行为。

常见问题

添加规则后一个网站无法打开

这可能是因为它匹配了错误的直接、代理或拒绝规则。打开Clash Verge Rev的连接面板,检查该域名显示的规则,然后在冲突规则之前添加更具体的自定义规则。

Clash在手机上可以使用自定义规则吗?

兼容的Android Clash客户端可以使用自定义规则,尽管界面有所不同。请参阅Clash for Android。

在iOS上,请查看Shadowrocket和Shadowrocket规则指南。

这些提供者会自动更新吗?

interval: 86400要求客户端每24小时刷新一次每个提供者。上游仓库也会定期重建其发布数据。自动刷新仍然取决于客户端是否能够访问提供者URL。

进一步阅读

  • 计算机访问指南 · 移动访问指南
  • Clash Verge Rev · Clash for Android · Clash Verge Rev for macOS
  • Shadowrocket · Shadowrocket规则 · 共享Apple ID
  • 2026年代理服务指南