结论: Mihomo 配置文件可以看成五块:基础设置、DNS、节点(proxies)、策略组(proxy-groups)、规则(rules)。读懂它们的关系,就能看懂几乎所有订阅,也能安全地做局部修改。
一、YAML 的三条规则
- 用空格缩进,不能用 Tab,同级必须对齐。
键: 值,冒号后必须有一个空格。- 列表项以
-开头(短横线加空格)。
二、一份最小可读示例
下面是占位示例,服务器地址使用保留域名 example.com,仅用于说明结构:
mixed-port: 7897
allow-lan: false
mode: rule
log-level: info
proxies:
- name: "示例节点"
type: ss
server: example.com
port: 443
cipher: aes-128-gcm
password: "placeholder"
proxy-groups:
- name: "节点选择"
type: select
proxies:
- "示例节点"
- DIRECT
rules:
- DOMAIN-SUFFIX,example.org,节点选择
- GEOIP,CN,DIRECT
- MATCH,节点选择
三、各块说明
| 块 | 作用 |
|---|---|
mixed-port |
本地同时提供 HTTP / SOCKS 的监听端口,系统代理就指向它 |
allow-lan |
是否允许局域网设备连接,默认保持 false |
mode |
rule / global / direct,见三种模式的区别 |
dns |
DNS 行为,见DNS 泄露检查 |
proxies |
节点列表:每个节点的类型、地址、端口、凭证 |
proxy-groups |
策略组:把节点打包成"可选择 / 自动测速 / 故障转移"等 |
rules |
规则表:从上到下匹配,命中即停 |
四、规则怎么读
DOMAIN-SUFFIX,example.org,节点选择 的意思:域名以 example.org 结尾的请求,走名为"节点选择"的策略组。规则从上到下匹配,最后的 MATCH 是兜底。
五、改配置前
- 直接修改订阅文件会在订阅更新时被覆盖,应使用扩展配置,见规则覆写与防止更新覆盖配置。
- 改之前备份原文件;YAML 语法错误会导致客户端无法启动内核,日志中会指出出错的行号,排查方法见Clash 配置文件 YAML 报错怎么看。