规则实验室
RULE-SET · GEOIP · 策略分流
深入 Mihomo 规则引擎核心,拆解 GEOIP 匹配逻辑、RULE-SET 远程/本地规则、DNS 与 Fake-IP 机制,并借助可视化流程图理解完整的数据包旅程。
什么是规则分流?
理解 Clash Party 如何决定流量的“去向”
规则分流:网络世界的交通指挥
在 Clash Party(基于 Mihomo 内核)中,规则分流是一套决定每个网络请求如何转发的判断体系。每当你的设备发起一个连接——无论是浏览器访问网页、App 请求 API,还是游戏客户端建立 UDP 会话——Mihomo 内核都会将请求的特征(域名、IP、请求类型等)与规则列表进行逐条比对,命中第一条匹配的规则后立即执行对应的动作:DIRECT(直连)、PROXY(代理)或 REJECT(拒绝)。
这套机制的强大之处在于高精度控制:你可以让国内视频流量直连以保证速度,让海外学术资源走特定代理节点,同时屏蔽已知的广告和追踪域名。而这一切判断都在本地完成,延迟极低,对用户体验几乎无感。
GEOIP 工作逻辑
基于 IP 归属地的智能分流
国家 IP 识别原理
GEOIP 是 Mihomo 内核内置的地理位置判断引擎。它通过查询本地 IP 数据库(通常为 MaxMind GeoLite2 或社区维护的 Country.mmdb),将目标 IP 地址映射到对应的国家/地区代码,例如 CN(中国)、US(美国)、JP(日本)。Clash Party 内置了精简高效的 IP 库,并支持自动更新,确保识别准确率保持在 99% 以上。
DIRECT 与 PROXY 的决策逻辑
GEOIP 规则最常见的用法是“中国 IP 直连,非中国 IP 走代理”。例如:
当用户访问一个网站时,Clash Party 会首先解析该域名对应的 IP 地址,然后使用 GEOIP 引擎查询该 IP 所属国家。如果 IP 属于中国,则匹配第一条规则,流量直连;如果 IP 属于美国,则走代理策略组「🚀 自动选择」。这种机制尤其适合混合流量场景:国内服务直连保证低延迟,海外服务通过代理访问。
本地数据库的优势
与在线查询不同,Mihomo 的 GEOIP 判断完全在本地完成,无需额外网络请求,判断时间通常在微秒级别。Clash Party 会在首次启动时加载 IP 数据库到内存,后续查询均为内存操作,对性能影响几乎为零。同时,本地数据库也避免了隐私泄露——你的访问目标 IP 不会被发送到任何第三方服务。
RULE-SET 专题
远程规则、本地规则与分组结构深度解析
什么是 RULE-SET?
RULE-SET(规则集)是 Mihomo 的一项高阶特性,它将原本需要逐条书写的规则预编译为二进制集合,大幅提升匹配效率。相比传统的 DOMAIN 和 GEOIP 规则,RULE-SET 在处理数万条规则时性能优势极为明显。Clash Party 完整支持 RULE-SET 的在线订阅、本地缓存和分组管理。
🌐 远程规则集
通过 URL 订阅远程维护的规则集文件(通常为 .yaml 或 .mrs 格式)。Clash Party 支持自动更新,规则变更时无需手动干预。
案例:订阅 GFW 列表、广告屏蔽列表、流媒体解锁规则集。
远程订阅 · 自动更新💾 本地规则集
将规则集文件放置在本地目录,客户端直接加载。适合需要离线使用或自定义规则的场景。
优势:完全离线、加载速度极快、不受网络影响。
离线可用 · 加载迅速📁 分组结构
RULE-SET 支持嵌套和分组,你可以将多个规则集组合成一个逻辑单元。例如,将「国内直连」和「广告屏蔽」两个规则集合并为一个策略组使用。
管理:在 Clash Party 的规则面板中拖拽排序,直观管理优先级。
嵌套 · 拖拽排序RULE-SET 的实战配置
以下是一个典型的 RULE-SET 配置示例,展示如何组合远程和本地规则:
在这个配置中,广告规则集优先匹配并直接拒绝,GFW 规则集次之走代理,最后是国内 IP 直连。所有 RULE-SET 均设置了自动更新间隔,确保规则始终最新。
DNS 与 Fake-IP
理解 Mihomo 的域名解析黑科技
Fake-IP:让规则匹配快如闪电
Fake-IP 是 Mihomo 内核最具特色的 DNS 模式之一。传统代理工具需要先进行 DNS 解析获取真实 IP,然后再将 IP 与规则进行匹配——这个过程存在隐私泄露风险,且多了一次网络往返。Fake-IP 则完全不同:当应用发起 DNS 查询时,Mihomo 立即返回一个虚拟 IP 地址(通常来自 198.18.0.0/16 段),同时将该虚拟 IP 与原始域名建立映射关系。随后,当真实流量到达时,内核通过映射表还原域名,再与规则进行匹配,匹配发生在域名层面而非 IP 层面,准确度大幅提升。
Fake-IP 的三大优势
⚡ 零延迟响应
DNS 查询在本地内存中立即完成,无需等待上游 DNS 服务器响应,首包延迟显著降低。
低延迟🔒 防 DNS 泄露
Fake-IP 模式下,应用层看到的 DNS 结果是虚拟 IP,真实域名不会暴露给本地网络或 DNS 服务器。
隐私保护🎯 域名级规则匹配
规则匹配基于原始域名而非解析后的 IP,彻底解决了 CDN 场景下 IP 归属地误判的问题。
精确匹配DNS 分流策略
Clash Party 的 DNS 面板支持配置双 DNS 分流:你可以指定国内域名走国内 DNS(如 223.5.5.5),海外域名走加密 DNS(如 Cloudflare DNS-over-HTTPS)。在 Fake-IP 模式下,内核会智能判断:对于命中直连规则的域名,使用国内 DNS 解析真实 IP;对于命中代理规则的域名,使用加密 DNS 并通过代理隧道查询,从根源上杜绝 DNS 污染。
这种配置下,国内 DNS 用于初始解析和直连流量,海外加密 DNS 用于代理流量,确保了解析的准确性和隐私性。
可视化策略流程图
一次完整的网络请求在 Clash Party 中的旅行
下面这张流程图展示了从用户发起访问到最终数据包发出的完整路径。理解这个流程,你就掌握了 Clash Party 规则分流的核心逻辑。
流程详解
- DNS 解析:请求首先进入 Clash Party 的 DNS 模块。在 Fake-IP 模式下,内核立即返回一个虚拟 IP,并将域名与虚拟 IP 的映射存入内存表。
- 规则匹配:当实际流量到达时,内核通过映射表还原原始域名,然后与规则列表从上到下进行匹配。支持 DOMAIN、GEOIP、RULE-SET、SCRIPT 四种匹配方式。
- 策略组决策:命中规则后,流量被指派到对应的策略组。策略组根据其模式(URL-Test、Select、Fallback、Load-Balance)选择一个具体节点。
- 代理转发:流量通过选中的代理节点加密后发送到目标服务器,响应数据原路返回。
整个流程在 Clash Party 的实时控制台中完全可视——你可以看到每一条请求的域名、匹配的规则、使用的节点和耗时,让网络诊断变得前所未有的简单。