分流规则配置:从 DOMAIN-SUFFIX 到脚本引擎

深入理解 mihomo 的规则系统:基础规则语法、高级匹配条件、JavaScript 脚本扩展。附赠我们精选的规则配置模板。

基础规则语法

规则是 Clash 的核心功能之一。通过规则,我们可以告诉 Clash Verge:哪些流量应该走代理,哪些应该直连。

规则格式

TYPE,VALUE,POLICY

TYPE: 规则类型
VALUE: 匹配条件
POLICY: 匹配后使用的策略(代理节点或策略组)

最常用的规则类型

DOMAIN-SUFFIX(域名后缀匹配)

匹配指定域名的所有子域名。例如 DOMAIN-SUFFIX,google.com 会匹配 google.com、www.google.com、mail.google.com 等。

DOMAIN-KEYWORD(域名关键词匹配)

匹配域名中包含指定关键词的所有域名。例如 DOMAIN-KEYWORD,google 会匹配 google.com、googleapis.com、igoogle.net 等。

DOMAIN(精确域名匹配)

只匹配精确的域名。例如 DOMAIN,www.google.com 只匹配 www.google.com,不匹配其他子域名。

URL-REGEX(URL 正则匹配)

使用正则表达式匹配完整 URL。例如 URL-REGEX,.*\.google\.com/.* 匹配所有 google.com 域名下的 URL。

高级匹配条件

mihomo 支持一些普通 Clash 不支持的高级规则类型:

PROCESS-NAME(进程名匹配)

根据发起请求的进程名匹配。这是 TUN 模式下特别有用的规则:

# 让 Steam 相关进程走代理
PROCESS-NAME,steam,Proxy
PROCESS-NAME,steamwebhelper,Proxy

# 让游戏进程走代理
PROCESS-NAME,LeagueClient,Proxy
PROCESS-NAME,GenshinImpact,Proxy

IP-CIDR 与 IP-CIDR6

根据 IP 地址段匹配:

# 国内常用 IP 段直连
IP-CIDR,10.0.0.0/8,Direct
IP-CIDR,172.16.0.0/12,Direct
IP-CIDR,192.168.0.0/16,Direct

# IPv6 支持
IP-CIDR6,::1/128,Direct

INBOUND-PORT(入站端口匹配)

根据连接端口匹配:

# 来自 HTTP 代理端口的请求
INBOUND-PORT,7890,DIRECT

GeoIP 与 GeoSite 规则

GeoIP 和 GeoSite 是两种强大的地理位置匹配规则。

GeoIP(IP 地理位置)

根据目标 IP 的地理位置判断:

# 中国 IP 直连
GEOIP,CN,Direct

# 美国 IP 走代理
GEOIP,US,Proxy

# 日本 IP 走代理
GEOIP,JP,Proxy

GeoSite(域名地理位置)

根据域名所属地区判断(mihomo 内置):

# 国内网站直连
GEOSITE,cn,Direct

# Google 域名走代理
GEOSITE,google,Proxy

# 社交媒体走代理
GEOSITE,telegram,Proxy
💡 最佳实践

建议将 GeoIP-CN 和 GEOSITE-cn 配合使用,前者匹配 IP,后者匹配域名,双重保障国内流量直连。

脚本引擎

mihomo 支持 JavaScript 脚本扩展,可以实现更复杂的逻辑。

脚本基础

// 实现简单的负载均衡
function main(params) {
  const { resolveIP } = params;
  
  // 获取解析后的 IP
  const ip = resolveIP("www.google.com");
  
  // 根据 IP 判断
  if (ip.startsWith("142.")) {
    return "Proxy-US";
  } else if (ip.startsWith("172.")) {
    return "Proxy-JP";
  }
  
  return "Proxy";
}

常用脚本场景

⚠️ 注意

脚本功能较复杂,配置不当可能影响性能。建议先从基础规则开始,逐步添加脚本逻辑。

配置模板推荐

以下是我们推荐的基础规则配置,适合大多数用户:

rules:
  # 域名规则(优先匹配)
  - DOMAIN-SUFFIX,hulu.com,Proxy
  - DOMAIN-SUFFIX,hulu.jp,Proxy
  - DOMAIN-SUFFIX,netflix.com,Proxy
  - DOMAIN-SUFFIX,nflxvideo.net,Proxy
  - DOMAIN-KEYWORD,google
  - DOMAIN-KEYWORD,youtube
  - DOMAIN-KEYWORD,facebook

  # GeoSite 规则
  - GEOSITE,telegram,Proxy
  - GEOSITE,google,Proxy
  - GEOSITE,github,Proxy

  # GeoIP 规则
  - GEOIP,CN,Direct
  - GEOIP,JP,Proxy
  - GEOIP,US,Proxy

  # IP 规则
  - IP-CIDR,10.0.0.0/8,Direct
  - IP-CIDR,172.16.0.0/12,Direct
  - IP-CIDR,192.168.0.0/16,Direct

  # 默认规则
  - MATCH,Proxy

准备好开始了吗?

掌握规则配置,让代理更智能。

立即下载