Каждое обновление подписки перезаписывает профиль целиком, стирая добавленные вручную настройки DNS или TUN. Mixin решает ровно это: ваш фрагмент хранится в клиенте и вливается в каждый профиль перед применением - обновления ему не страшны.
Включение
- Settings → Profile Mixin, режим YAML, кнопка Edit.
- После сохранения включите переключатель Mixin на странице General (шаг, который все пропускают).
- Переактивируйте текущий профиль (клик по карточке в Profiles), чтобы слияние применилось.
Пример в режиме YAML
mixin:
# единый DNS с fake-ip
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- 1.1.1.1
- 8.8.8.8
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 редактирует конфиг программно - например, вставляет правила в начало списка:
module.exports.parse = ({ content }) => {
content.rules = [
"DOMAIN-SUFFIX,example.com,DIRECT",
...content.rules,
];
return content;
};
Нужно обработать одну конкретную подписку, а не все? Возьмите Parsers - синтаксис похож, область действия уже.