Руководство / Продвинутое

Основы Mixin: режимы YAML и JavaScript

Продвинутое · Обновлено 2026-02-02 · ~2 мин чтения

Mixin вливает ваши правки в активный профиль при загрузке (Settings → Profile Mixin). Режима записи два, и ведут они себя по-разному:

YAML: декларативное замещение

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

Записанное поле замещает одноимённое поле конфига целиком. Отлично для DNS или log-level, где заменить блок не жалко; плохо для 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 и перещёлкнуть профиль для перезагрузки.