Clash添加自定义规则完全指南

目录

  1. 什么是Clash自定义规则
  2. 自定义规则语法
    1. 基本语法
    2. 进阶语法
  3. 常见自定义规则用途
    1. 绕过特定域名或IP
    2. 分流特定类型流量
    3. 屏蔽广告和追踪
  4. 如何编写自定义规则
    1. 确定规则目的
    2. 选择合适语法
    3. 测试并调整规则
  5. 如何应用自定义规则
    1. 配置文件中添加规则
    2. 图形界面中添加规则
  6. 常见问题解答

什么是Clash自定义规则

Clash是一款功能强大的代理客户端软件,它除了提供基本的代理功能外,还支持丰富的自定义规则。通过自定义规则,用户可以根据自己的需求,灵活地控制流量的走向,实现各种功能,如绕过特定网站、分流特定类型流量、屏蔽广告等。

自定义规则语法

Clash的自定义规则使用特定的语法编写,主要包括基本语法和进阶语法两部分。

基本语法

Clash的自定义规则基本语法如下:

  • DOMAIN-SUFFIX,example.com,DIRECT:匹配以example.com结尾的域名,并直接访问(不经代理)
  • DOMAIN,example.com,PROXY:精确匹配域名example.com,并通过代理访问
  • IP-CIDR,192.168.1.0/24,DIRECT:匹配IP地址段192.168.1.0/24,并直接访问
  • SRC-PORT,7890,DIRECT:匹配来自本地端口7890的流量,并直接访问
  • DST-PORT,80,PROXY:匹配目标端口为80的流量,并通过代理访问
  • DOMAIN-KEYWORD,example,PROXY:匹配包含example关键字的域名,并通过代理访问

进阶语法

Clash的自定义规则进阶语法如下:

  • GEOIP,CN,DIRECT:匹配属于中国大陆的IP地址,并直接访问
  • MATCH,PROXY:作为兜底规则,匹配剩余的所有流量,并通过代理访问

常见自定义规则用途

绕过特定域名或IP

DOMAIN-SUFFIX,baidu.com,DIRECT DOMAIN-SUFFIX,google.com,DIRECT DOMAIN-SUFFIX,googleapis.com,DIRECT

分流特定类型流量

DOMAIN-SUFFIX,music.163.com,MUSIC DOMAIN-SUFFIX,youku.com,VIDEO DOMAIN-SUFFIX,iqiyi.com,VIDEO

屏蔽广告和追踪

DOMAIN-SUFFIX,doubleclick.net,REJECT DOMAIN-SUFFIX,googlesyndication.com,REJECT DOMAIN-SUFFIX,googleadservices.com,REJECT

如何编写自定义规则

确定规则目的

在编写自定义规则之前,首先要明确规则的具体目的,比如是要绕过某些网站,还是要分流特定类型的流量,或者是要屏蔽广告和追踪。这样有助于选择合适的语法。

选择合适语法

根据规则的目的,选择合适的语法。如果是匹配域名,可以使用DOMAIN-SUFFIXDOMAIN语法;如果是匹配IP地址段,可以使用IP-CIDR语法;如果是匹配端口,可以使用SRC-PORTDST-PORT语法。

测试并调整规则

编写好规则后,需要在Clash中测试规则是否生效,如果不符合预期,可以适当调整规则语法。

如何应用自定义规则

配置文件中添加规则

用户可以在Clash的配置文件中的rules字段中添加自定义规则,每条规则占一行。例如:

yaml rules:

  • DOMAIN-SUFFIX,example.com,DIRECT
  • DOMAIN,example.org,PROXY
  • IP-CIDR,192.168.1.0/24,DIRECT

图形界面中添加规则

部分Clash的图形界面版本也支持在界面中直接添加自定义规则,操作方法因软件版本而异,可查阅使用文档。

常见问题解答

Q: 自定义规则的优先级如何?

A: Clash会按照规则列表的顺序依次匹配,匹配到第一条规则后就会停止匹配。因此,规则的顺序非常重要,一般将更具体的规则放在前面,将兜底规则放在最后。

Q: 如何查看自定义规则的生效情况?

A: 在Clash的日志中可以查看每个请求所匹配的规则情况,帮助确认规则是否生效。部分Clash图形界面版本也提供了规则匹配情况的实时监控。

Q: 自定义规则支持通配符吗?

A: Clash的自定义规则支持使用*通配符,可以匹配多个域名或IP地址段。但需要注意通配符规则的优先级低于精确匹配的规则。

Q: 自定义规则支持正则表达式吗?

A: 目前Clash的自定义规则不支持直接使用正则表达式,但可以通过组合基本语法来实现类似的功能。如果有较复杂的匹配需求,可以考虑使用正则表达式引擎。

正文完