clash Mihomo的yaml分流规则

划水佬
2025-12-01 / 0 评论 / 1 阅读 / 正在检测是否收录...
#路由规则
规则将按照从上到下的顺序匹配,匹配到规则不再往下匹配。
如请求为 udp,而代理节点没有 udp 支持 (例如`ss`节点没写`udp: true`),则会继续向下匹配
出站策略:
DIRECT、REJECT、策略组名字、节点名字、sub-rule
  rules:
    - DOMAIN-SUFFIX,google.com,Proxy  #匹配域名后缀(交由Proxy代理服务器组)
    - DOMAIN,google.com,REJECT  #匹配域名(拒绝)
    - DOMAIN-KEYWORD,google,Proxy  #匹配域名关键字(交由Proxy代理服务器组)
    - IP-CIDR,127.0.0.0/8,DIRECT  #匹配数据目标IP(直连)
    - SRC-IP-CIDR,192.168.1.201/32,direct-wan1  #匹配数据发起IP(走WAN1口直连)
    - DST-PORT,80,DIRECT  #匹配数据目标端口(直连)(114-514/810-1919,65530)
    - SRC-PORT,7777,DIRECT  #匹配数据源端口(直连)
    - NETWORK,udp,DIRECT  #网络协议匹配
    - DSCP,4,DIRECT  #DSCP标记匹配 (仅限 tproxy udp 入站)
    - AND,((DOMAIN,baidu.com),(NETWORK,UDP)),DIRECT  #同时满足要求匹配
    - OR,((NETWORK,UDP),(DOMAIN,baidu.com)),REJECT  #满足任意要求匹配
    - NOT,((DOMAIN,baidu.com)),PROXY  #不匹配 baidu.com 的域名(交由Proxy代理服务器组)
    - RULE-SET,youtube,proxy  #规则集匹配
    - GEOSITE,youtube,PROXY  #GEOSITE数据库匹配
    - GEOIP,CN,DIRECT  #GEOIP数据库匹配
    - IP-ASN,13335,DIRECT  #目标ASN匹配(ASN数据库)
    - IN-TYPE,SOCKS/HTTP,PROXY
    - PROCESS-NAME,chrome.exe,PROXY
    - SUB-RULE,(NETWORK,tcp),sub-rule  #子规则匹配
    - MATCH,auto
##子规则匹配原理
  - SUB-RULE,(OR,((NETWORK,TCP),(NETWORK,UDP))),sub-rule-name1
  - SUB-RULE,(AND,((NETWORK,UDP))),sub-rule-name2
# 定义多个子规则集,规则将以分叉匹配,使用 SUB-RULE 使用
#                                               google.com(not match)--> baidu.com(match)
#                                                /                                |
#                                               /                                 |
#  https://baidu.com  -->rule-->  sub-rule-name1(match tcp)                   使用 DIRECT
#
#
#                                              google.com(not match)--> baidu.com(not match)
#                                                /                            |
#                                               /                             |
#  dns 1.1.1.1  -->rule-->  sub-rule-name1(match udp)               sub-rule-name2(match udp)
#                                                                             |
#                                                                             |
#                                                                 使用 REJECT <-- 1.1.1.1/32(match)
#
## 子规则内容
sub-rules:
  sub-rule-name1:
    - DOMAIN,google.com,ss1
    - DOMAIN,baidu.com,DIRECT
  sub-rule-name2:
    - IP-CIDR,1.1.1.1/32,REJECT
    - IP-CIDR,8.8.8.8/32,ss1
    - DOMAIN,dns.alidns.com,REJECT
rule-providers:
  google:
    type: http
    path: ./rule1.yaml
    url: "https://raw.githubusercontent.com/../Google.yaml"
    interval: 600
    proxy: DIRECT
    behavior: classical
    format: yaml
    payload:
      - 'DOMAIN-SUFFIX,google.com'

二进制转换:

##域名list转换为二进制
mihomo convert-ruleset domain text XXX.list XXX.mrs
##ip-list转换为二进制
mihomo convert-ruleset ipcidr text XXX.list XXX.mrs
##二进制转换为list (目前不支持yaml反向转换)
mihomo convert-ruleset domain mrs XXX.mrs XXX.list
##域名yaml转换为二进制
mihomo convert-ruleset domain yaml XXX.yaml XXX.mrs

classical格式(text):

DOMAIN-SUFFIX,google.com
DOMAIN-KEYWORD,google
DOMAIN,ad.com
SRC-IP-CIDR,192.168.1.201/32
IP-CIDR,127.0.0.0/8
GEOIP,CN
DST-PORT,80
SRC-PORT,7777

domain格式(text):

*
+.microsoft.com
.blogger.com
*.*.microsoft.com
books.itunes.apple.com

yaml格式:

payload:
- '.blogger.com'
- '*.*.microsoft.com'
- 'books.itunes.apple.com'

通配符:

  • 使用通配符时,应当使用引号 ' '或 " "将内容包裹起来
通配符 *
Clash 的通配符 * 一次只能匹配一级域名
*.baidu.com 只匹配 tieba.baidu.com 而不匹配 123.tieba.baidu.com 或者 baidu.com
*只匹配 localhost 等没有.的主机名
通配符 +
通配符 + 类似 DOMAIN-SUFFIX, 可以一次性匹配多个级别
+.baidu.com 匹配 tieba.baidu.com 和 123.tieba.baidu.com 或者 baidu.com
通配符 + 只能用于域名前缀匹配
通配符 .
通配符 . 可以一次性匹配多个级别
.baidu.com 匹配 tieba.baidu.com 和 123.tieba.baidu.com, 但不能匹配 baidu.com
通配符 . 只能用于域名前缀匹配

规则集获取:

新格式二进制:
https://github.com/MetaCubeX/meta-rules-dat/tree/meta
老格式:
https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash

    可创建负载均衡组 简单实现双宽带利用
    proxies:
    - name: "direct-wan1"
      type: direct
      udp: true
      ip-version: ipv4
      interface-name: eth0
     
    - name: "direct-wan2"
      type: direct
      udp: true
      ip-version: ipv4
      interface-name: eth1
0

评论 (0)

取消