自定义规则

快捷添加自定义规则

  • 编辑规则有风险,请勿在没完全搞懂的情况下,胡乱尝试;

  • 增加完成新规则后,重启MC插件才能生效

  • 使用新的yaml配置文件,请先清空自定规则正常启动一次,让MC正确加载【连接方式】下拉菜单内容后,再新增自定义规则;

  • 更换yaml配置文件后,请手动删除上一个配置文件的自定义规则!否则MC可能无法启动;

  • 如果您添加的规则不符合Clash的标准,进程会无法启动;

  • Clash规则依从书写顺序,依次向下匹配(头部规则匹配到后,末尾规则不再响应);

  • 若您自定义规则并未生效,请检查是否被优先级较高的【前置分流】提前绕行Clash了;

  • 更多说明请查看 Clash Wiki

----------------------------MC 22.05.20 以后版本------------------------

  • 可针对不同的配置文件设置不同的自定义规则,切换配置文件时自动切换;

  • 切换不同配置文件无需删除上一次的自定义规则;

  • 已经支持Meta特有规则写法,详看 Meta wiki

  • 最后一项 协议(TCP/UDP) 只支持Meta内核,其他内核请保持默认;

  • 请根据内核写其支持的规则,否则可能无法正常启动。

各个核心支持的规则类型

DOMAIN-SUFFIX:目的域名后缀

简单说明:设定浏览器等访问包含相关的域名后缀如何走规则

举例: DOMAIN-SUFFIX,abc.com,国外网站

DOMAIN-SUFFIX,123.abc.com,国外网站

DOMAIN:目的域名

简单说明:设定浏览器等访问的域名如何走规则

举例:DOMAIN,abc.com,国外网站

DOMAIN,123.abc.com,国外网站

DOMAIN-KEYWORD:目的域名关键词

简单说明:设定浏览器等访问带有该关键字的域名如何走规则

举例:DOMAIN-KEYWORD,abc,国外网站

SRC-IP-CIDR:来源IP地址

简单说明:设定局域网内某设备如何走规则(IP地址必须有掩码位)

举例:SRC-IP-CIDR,192.168.50.100/32,DIRECT

  • SRC-IP-CIDR规则需遵循 IP-CIDR 格式,IP地址后面必须跟对应掩码位

  • 例:192.168.50.100/32 代表192.168.50.100这一个IP地址

192.168.50.0/24 代表192.168.50.1~192.168.50.254共254个IP地址

  • 可借助 子网掩码计算器 辅助计算;

  • 支持IPv6,如:SRC-IP-CIDR,2001:b28:f23f::/48,DIRECT。

IP-CIDR:目的IP地址

简单说明:设定浏览器等访问的IP地址如何走规则

举例:IP-CIDR,123.123.123.0/24,DIRECT

  • SRC-IP-CIDR规则需遵循 IP-CIDR 格式,IP地址后面必须跟对应掩码位

  • 例:123.123.0.0/16 代表123.123.0.1~123.123.255.254共65534个IP地址

123.0.0.0/8 代表123.0.0.1~123.255.255.254共16777214个IP地址

SRC-PORT:来源端口

简单说明:设定来源于局域网某端口的请求如何走规则

举例:SRC-PORT,7777,DIRECT

  • 只支持单个端口号,不支持6000:7000之类的端口写法;

  • 有多端口需求,请使用 SCRIPT SHORTCUT 规则。

DST-PORT:目的端口

简单说明:设定访问目的端口如何走规则

举例:DST-PORT,8888,REJECT

  • 只支持单个端口号,不支持6000:7000之类的端口写法;

  • 有多端口需求,请使用 SCRIPT SHORTCUT 规则。

SCRIPT SHORTCUT:脚本快捷方式

简单说明:允许在rule模式里使用Script

举例:SCRIPT,hour,REJECT

SCRIPT,quic,REJECT

SCRIPT,port,DIRECT

SCRIPT,socks5,手动选择

SCRIPT,p2pshit,REJECT

  • MC 22.01.28版本以后,内置Meta核心,不支持SCRIPT SHORTCUT规则,需要使用的请更换回官方 Premium核心

  • 使用前必须先在【Script 脚本编辑器】里声明对应脚本;

  • 更多支持参数请看 Clash Wiki

常用声明举例:

script:
  shortcuts:
    #每天0~9点让192.168.50.120的设备*****
    hour: src_ip == "192.168.50.120" and time.now().hour >= 0 and time.now().hour <= 9
    
    #使用443端口的UDP协议****
    quic: network == 'udp' and dst_port == 443
    
    #来自1000~2000端口的访问****
    port: src_port >= 1000 and src_port <=2000
    
    #来自Socks5端口的访问****
    socks5: type == 'Socks5'
    
    #含有bilibili或douyu关键字域名的使用udp协议的****
    p2pshit: network == 'udp' and ('bilibili' in host or 'douyu' in host)

若未找到本页介绍的功能模块,请先到【附加功能】里打开该模块显示,请参看 FAQ13

Last updated