订阅每次更新都会原样覆盖整份配置文件,你手动加的 DNS、TUN 等设置会被冲掉。Mixin 就是为此设计的:把你的自定义片段保存在客户端本地,在每份配置生效之前自动合并进去,订阅怎么更新都不受影响。

开启方式

  1. Settings → Profile Mixin,选择 YAML 模式,点击 Edit 编辑内容。
  2. 编辑保存后,在 General 页面打开 Mixin 开关(很多人漏掉这一步)。
  3. 重新激活当前配置(Profiles 页面点一下当前卡片)使合并生效。

YAML 模式示例

mixin:
  # 统一 DNS,启用 fake-ip
  dns:
    enable: true
    enhanced-mode: fake-ip
    nameserver:
      - 223.5.5.5
      - 119.29.29.29
    fallback:
      - https://1.1.1.1/dns-query
  # TUN 模式所需配置
  tun:
    enable: true
    stack: gvisor
    dns-hijack:
      - 198.18.0.2:53
  # 固定混合端口
  mixed-port: 7890

Mixin 中出现的顶级字段会整段替换配置文件中的同名字段(对象按键合并、以 Mixin 为准),因此写哪段就会覆盖哪段,不写的部分保持订阅原样。

JavaScript 模式(进阶)

YAML 模式只能整段覆盖;JavaScript 模式则可以编程式修改配置,例如“在现有 rules 最前面插入几条规则”:

module.exports.parse = ({ content }) => {
  content.rules = [
    "DOMAIN-SUFFIX,example.com,DIRECT",
    ...content.rules,
  ];
  return content;
};

如果只想对某一个订阅做处理而不是全局生效,应使用 Parsers,两者语法相近但作用范围不同。

排错提示:Mixin 内容有语法错误时配置会加载失败,Logs 页面会有 YAML 解析错误。改动 Mixin 后建议立刻看一眼日志确认无误。