Основы Mixin: режимы YAML и JavaScript
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 и перещёлкнуть профиль для перезагрузки.