本文介绍 Mihomo Party 的覆写功能,包括如何撰写规则、如何使用等。Mihomo Party 的覆写功能跟 Clash Verge Rev 的 Merge/脚本功能一样,可以让你根据自己的需求来定制分流规则,用起来更加符合自己的习惯。
覆写功能简介
覆写功能是一种允许用户对订阅的规则或配置进行个性化调整的功能,而无需手动修改订阅的核心配置文件。它主要用于在保持订阅更新的同时,让用户的自定义设置不被覆盖。
- 规则调整:为特定的域名或 IP 设置直连、代理或其他处理方式。
- 策略组优化:自定义某些流量的节点优先级(如流媒体解锁)。
- DNS 自定义:修改订阅文件中的 DNS 设置以提高解析效率。
- 自动化管理:订阅更新时,自动应用覆写规则,省去重复配置规则的麻烦。
应用场景
那么具体是用在什么环境下呢?举几个例子:
- 避免订阅规则被覆盖
- 场景:订阅的 Clash 配置文件更新后,手动添加的规则经常被覆盖。
- 解决方案:使用覆写功能,在订阅的基础上增加自定义规则,这些覆写规则会自动保留,无需每次重新设置。
- 特定域名或应用直连
- 场景:某些国内应用(如银行或政务类应用)因走代理而导致访问失败。
- 解决方案:通过覆写功能,将这些应用的流量设置为直连,确保访问顺畅。
- 指定域名强制走代理
- 场景:某些订阅规则未包含特定的国外服务(如某些新上线的流媒体平台或者是某个游戏),默认设置可能无法正常访问。
- 解决方案:添加覆写规则,强制指定这些域名通过代理组,从而解决访问问题。
- 优化流媒体解锁
- 场景:流媒体服务(如 Netflix、Disney+)对节点的选择非常敏感,需要特定节点解锁。
- 解决方案:覆写功能可以为流媒体域名设置优先节点组,避免因节点随机分配导致的解锁失败。
- 提高 DNS 解析效率
- 场景:订阅规则的默认 DNS 设置可能导致解析速度慢或不准确。
- 解决方案:通过覆写功能自定义 DNS 设置,例如为国内域名设置运营商 DNS,为国外域名使用 Cloudflare 或 Google DNS。
- 测试和调试节点
- 场景:想验证某些节点对特定服务的速度或稳定性。
- 解决方案:通过覆写功能临时修改规则,将某些域名或流量定向到特定节点,便于测试和比较。
开启覆写功能
1. 点击左边菜单栏中的覆写
> 右上角的 + 加号,打开某个规则文件或者新建一个YAML/JS文件。当然,你也可以使用链接导入覆写文件。
特性 | YAML 覆写文件 | JS 覆写文件 |
---|---|---|
文件格式 | YAML | JavaScript |
灵活性 | 静态规则,易用 | 动态规则,功能强大 |
适用场景 | 静态规则调整 | 动态规则生成或复杂逻辑 |
难易程度 | 简单易学 | 需要编程能力 |
适合场景 | 调整规则、策略组或节点 | 动态逻辑或根据条件调整规则 |

2. 新建一个文件并且命名后, 前往订阅管理,点击你要使用覆写的订阅旁的 ⁝ 按钮,选择编辑信息
。

3. 在机场配置信息里,点击覆写后的 + 号,选择要生效的 YAML 文件或 JS 文件,保存即可。
注意,这里是可以添加多个覆写文件的。

覆写文件怎么写?
YAML
YAML 格式的覆写文件写法与订阅配置文件相同,只需将需要修改的条目写入即可,具体写法可以参考官方的文档 :YAML。
不过我觉得咱一般用户只要会增加/修改规则就好了。
YAML 规则写法
首先你要知道 Clash 的规则的基本结构,每个规则都会包括三部分:规则类型, 匹配目标, 路由策略
。
- 规则类型:指定如何匹配流量(如域名、IP、地理位置等)。
- 匹配目标:定义要匹配的内容(如具体的域名、IP 地址等)。
- 路由策略:决定匹配后的处理方式(如
DIRECT
、PROXY
或REJECT
)。
常见的规则类型
规则类型 | 说明 | 示例 |
---|---|---|
DOMAIN | 精确匹配某个域名。 | DOMAIN, www.google.com, PROXY |
DOMAIN-SUFFIX | 匹配域名的后缀。 | DOMAIN-SUFFIX, google.com, PROXY |
DOMAIN-KEYWORD | 匹配包含指定关键字的域名。 | DOMAIN-KEYWORD, google, PROXY |
IP-CIDR | 匹配某个 IP 范围。 | IP-CIDR, 8.8.8.0/24, PROXY |
GEOIP | 根据 IP 所属地理区域匹配。 | GEOIP, CN, DIRECT |
MATCH | 匹配所有剩余流量,通常用于兜底规则。 | MATCH, PROXY |
YAML 示例
来看一个例子,下面就是某个机场的配置文件中规则部分。不过这里面用到了 proxy-groups
,它定义了代理组,每个组包含若干代理节点,用户可以通过这些代理组轻松切换节点或设置自动选择策略。
rules:
- 'DOMAIN,api.duangss.cloud,DIRECT'
- 'DOMAIN-SUFFIX,acl4ssr,🎯 全球直连'
- 'DOMAIN-SUFFIX,localhost,🎯 全球直连'
- 'IP-CIDR,10.0.0.0/8,🎯 全球直连,no-resolve'
- 'IP-CIDR,100.64.0.0/10,🎯 全球直连,no-resolve'
- 'DOMAIN,router.asus.com,🎯 全球直连'
- 'DOMAIN-SUFFIX,hiwifi.com,🎯 全球直连'
- 'DOMAIN-KEYWORD,adservice,🛑 全球拦截'
- 'DOMAIN-KEYWORD,adsh,🛑 全球拦截'
- 'DOMAIN-KEYWORD,adsmogo,🛑 全球拦截'
- 'DOMAIN-SUFFIX,a.youdao.com,🍃 应用净化'
- 'DOMAIN-SUFFIX,adgeo.corp.163.com,🍃 应用净化'
- 'DOMAIN-SUFFIX,analytics.126.net,🍃 应用净化'
- 'DOMAIN-KEYWORD,1drv,Ⓜ️ 微软服务'
- 'DOMAIN-KEYWORD,microsoft,Ⓜ️ 微软服务'
- 'DOMAIN,apple.comscoreresearch.com,🍎 苹果服务'
- 'DOMAIN-SUFFIX,aaplimg.com,🍎 苹果服务'
- 'DOMAIN-SUFFIX,edgedatg.com,🌍 国外媒体'
JavaScript
使用 JavaScript
可以对配置进行更加灵活的修改,具体写法请参考官网: JavaScript。不过官网也只写了一个最基本的设置规则。
function main(config) {
// 在现有规则前插入一个规则
config.rules.unshift("DOMAIN,google.com,DIRECT");
// 在规则列表末尾添加一个规则
config.rules.push("DOMAIN-SUFFIX,example.com,PROXY");
// 返回修改后的配置
return config;
}
实用的覆写规则
如果觉得覆写麻烦搞不懂,可以选择导入别人已经写好的文件。直接导入覆写文件URL就行了,很方便。也可以先看看别人怎么写的,学习学习。
YAML
JavaScript
如何设置覆写全局生效
如果你有多个订阅,那么设置全局覆写就很有用了。方法很简单,点击覆写
后,选中需要全局的覆写文件,编辑信息
,然后开启全局启用
并保存。这里要注意的一点,覆写文件是可以同时生效的。
如果开启了多个覆写,并且文件内容相互冲突。执行时最后开启的覆写文件会生效。

发表回复