使用指南 / 進階技巧

Mixin 入門:YAML 與 JavaScript 兩種寫法

進階技巧 · 2026-02-02 更新 · 約 2 分鐘

Mixin 在配置載入時把你的自定義內容合併進當前配置(Settings → Profile Mixin)。它有兩種書寫模式,行為差異很大:

YAML 模式:宣告式覆蓋

mixin:
  dns:
    enable: true
    enhanced-mode: fake-ip
  log-level: debug

寫什麼欄位就整體替換配置裡的同名欄位。適合覆蓋 DNS、日誌級別這類「整塊換掉也無妨」的配置;不適合 rules——你大機率是想「追加」而不是「只剩這幾條」。

JavaScript 模式:可程式設計合併

module.exports.parse = async (raw, { yaml }) => {
  const config = yaml.parse(raw);
  // 在原規則前插入兩條
  config.rules = [
    "DOMAIN-SUFFIX,mybank.com,DIRECT",
    "DOMAIN-KEYWORD,ads,REJECT",
    ...config.rules,
  ];
  return yaml.stringify(config);
};

JS 模式拿到完整配置物件,想怎麼改就怎麼改:插規則、按名字過濾節點、批次給節點改屬性都行。

怎麼選

只改 DNS / 日誌級別 → YAML 夠用;涉及 rules、proxies 的增刪 → 直接用 JS。寫完記得開啟 Mixin 啟用開關,並重新點選配置一次讓它過載。