覆写运行逻辑
使用 深度合并
对原配置进行覆写,优先级低于应用常用配置覆写
如果目标是是简单值,将直接覆盖
如果遇到嵌套的对象,函数会进一步递归合并这些嵌套的对象,可以使用 !
修饰以强制覆盖整个对象而不是递归合并
如:
# 直接覆盖配置中的 dns 字段为以下内容而不进行合并
dns!:
enable: false
对于数组类型,可以使用 +
修饰进行前置/追加操作
如:
# 直接覆盖整个规则
rules:
- DOMAIN,baidu.com,DIRECT
# 将规则插入到原规则前面
+rules:
- DOMAIN,baidu.com,DIRECT
# 在原规则后面追加规则
rules+:
- DOMAIN,baidu.com,DIRECT
若原本的键名就以 +
开头或结尾,为避免歧义请以 <>
包裹键名
如:
dns:
nameserver-policy:
# 直接覆盖原先的+.google.cn项
<+.google.cn>:
- 8.8.8.8
# 插入到前面
+<+.google.cn>:
- 8.8.8.8
# 追加到后面
<+.google.cn>+:
- 8.8.8.8
覆写运行示例
mixed-port: 7890
dns:
enable: true
ipv6: true
enhanced-mode: fake-ip
fake-ip-range: 28.0.0.1/8
nameserver: [https://dns.alidns.com/dns-query]
proxies:
- name: ss
type: ss
server: 127.0.0.1
port: 443
password: mihomo
cipher: none
proxy-groups:
- name: "国内"
type: select
proxies:
- DIRECT
rules:
- GEOIP,CN,DIRECT
- MATCH,home