01

Почему нельзя просто править файл подписки

При каждом обновлении подписка заменяется целиком, и все строки, дописанные вручную, исчезают. Clash Verge решает это иначе: ваши изменения хранятся отдельным слоем и подмешиваются при сборке итоговой конфигурации. Подписка может обновляться сколько угодно.

При создании нового элемента на странице профилей выбирайте Merge (фрагмент YAML) или Script (JavaScript). Привяжите расширение к профилю через карточку профиля либо используйте глобальные Merge и Script, которые действуют на все профили.

Оставьте себе путь назад
Запишите, какой профиль работает сейчас, прежде чем подключать расширение. Отвязка вернёт вас ровно в это состояние.

Партнёрский материалОткуда взять ссылку на подписку?Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик.Получить быстрые серверы
02

Что чем удобнее делать

  1. 1

    Merge: фрагмент YAML

    Ключи верхнего уровня, такие как mixed-port, mode и log-level, перезаписываются напрямую. Для правил есть три специальных ключа: prepend-rules вставляет в начало, append-rules добавляет в конец, filter-rules удаляет подходящие строки. Чтобы ваши правила имели приоритет, используйте prepend-rules.

  2. 2

    Script: одна функция main

    Сигнатура — main(config). Вы получаете весь объект конфигурации, меняете его и возвращаете целиком. Это подходит для условных массовых правок: например, добавить interval и tolerance всем группам url-test или отфильтровать узлы по ключевому слову.

  3. 3

    Порядок выполнения

    Сначала подписка, затем Merge, затем Script. Если расширений несколько, они выполняются в том порядке, в котором вы их расставили, и последняя запись в поле побеждает.

03

Как проверить результат слияния

Файл, который открывается из меню профиля, — это исходная подписка, а не результат. Чтобы увидеть то, что реально запущено, откройте просмотр рабочей конфигурации: правки Merge и Script должны быть там. Если их нет, чаще всего виноваты отступы YAML, и на первом экране страницы журналов будет ошибка разбора с номером строки.

  • Не пишите MATCH в prepend-rules — он поглотит все последующие правила
  • Script должен возвращать весь объект config, а не его часть
  • После сохранения конфигурация пересобирается и подгружается на лету, перезапуск программы не нужен
04

Частые вопросы

Прописал блок dns в Merge, но ничего не изменилось. Почему?

Проверьте переключатель переопределения DNS в клиенте. Пока он включён, Clash Verge подменяет секцию dns своими настройками. Выключите его, и ваша версия начнёт применяться.

Можно подключить несколько Merge одновременно?

Да. Расширения образуют цепочку и выполняются в заданном порядке. Пусть каждый Merge отвечает за что-то одно — например, один за правила, другой за порты и DNS: так проще искать причину проблем.