Перейти к содержимому
RU

Главная / Блог / Основы конфигурации

Расширение подписки через Merge, чтобы ваши правки переживали обновления

Основы конфигурации2026-07-091021 слов2 мин чтения
Расширение подписки через Merge, чтобы ваши правки переживали обновления

Когда хочется добавить в подписку одно своё правило, интуитивный ход — открыть файл конфигурации и отредактировать. А потом подписка обновляется за ночь, и правки нет.

Правильный подход — расширенный конфиг (Merge): держите свои изменения в отдельном файле, который подмешивается при каждой загрузке подписки.

Как работает механизм

Как собирается итоговая конфигурацияСкачивается подпискаисходный config.yamlЧитается расширенный конфигнаписанный вами merge-файлСлияние по правиламprepend идёт первым, append последнимФормируется рабочая конфигурациято, что реально использует ядроПовторяется при каждом обновлении подписваши изменения всегда выживают
Исходный файл подписки не трогается вообще; ваши изменения живут в отдельном файле

Где это в Clash Verge: страница Profiles → «Global Extended Config» справа вверху либо ⋯ → Extended Config на карточке конкретного профиля (тогда применяется только к этой подписке).

Три вида операций

prepend-*: вставить в начало

prepend-rules:
  - DOMAIN-SUFFIX,mycompany.com,DIRECT
  - DOMAIN-SUFFIX,example.com,🚀 Выбор

Поскольку правила сопоставляются сверху вниз, правила prepend имеют наивысший приоритет и перебивают любое решение подписки.

Это стандартный способ исправить ошибку маршрутизации.

append-*: добавить в конец

append-rules:
  - DOMAIN-SUFFIX,slow-site.com,DIRECT

Правила, добавленные после MATCH, никогда не срабатывают, потому что MATCH ловит всё. Так что реальная польза append-rules невелика; формы append нужны в основном для proxy-groups и proxies.

Прямое переопределение поля верхнего уровня

Поля без префикса заменяют одноимённые поля подписки:

mixed-port: 7899
mode: rule
log-level: warning
ipv6: false
unified-delay: true
tcp-concurrent: true

Какие поля доступны

ПолеЧто это
prepend-rules / append-rulesПравила
prepend-proxies / append-proxiesУзлы
prepend-proxy-groups / append-proxy-groupsГруппы политик
rule-providersНаборы правил (сливаются с существующими)
proxy-providersПровайдеры узлов
Секции верхнего уровня вроде dns / tun / snifferЗамена секции целиком

Набор полезных фрагментов

1. Исправление ошибки маршрутизации

Самый частый случай: сайт идёт не тем маршрутом.

prepend-rules:
  # принудительно через прокси
  - DOMAIN-SUFFIX,anthropic.com,🚀 Выбор
  - DOMAIN-SUFFIX,openai.com,🚀 Выбор
  # принудительно напрямую (чтобы зарубежный IP не поднимал антифрод)
  - DOMAIN-SUFFIX,icbc.com.cn,DIRECT
  - DOMAIN-SUFFIX,alipay.com,DIRECT
  - DOMAIN-SUFFIX,12306.cn,DIRECT
  # корпоративная сеть
  - DOMAIN-SUFFIX,mycompany.com,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve

2. Добавление собственной группы политик

prepend-proxy-groups:
  - name: "🔧 Моя группа"
    type: select
    proxies: ["DIRECT", "🚀 Выбор", "♻️ Авто"]

prepend-rules:
  - DOMAIN-SUFFIX,some-site.com,🔧 Моя группа

3. Добавление своего сервера

Помимо подписки у вас есть собственная машина:

prepend-proxies:
  - name: "Мой VPS"
    type: trojan
    server: my.example.com
    port: 443
    password: "pwd"
    udp: true

prepend-proxy-groups:
  - name: "🏠 Свой"
    type: select
    proxies: ["Мой VPS", "DIRECT"]

Учтите: новый узел не попадает автоматически в группы политик, уже описанные в подписке. Чтобы он появился в главной группе выбора, либо переопределите её описание, либо задействуйте include-all из Mihomo, и группа подберёт его сама.

4. Глобальные настройки производительности

unified-delay: true      # единый расчёт задержки, сравнимый между протоколами
tcp-concurrent: true     # параллельные рукопожатия для многоадресных доменов
find-process-mode: strict  # включает правила PROCESS-NAME
global-client-fingerprint: chrome   # представляться отпечатком TLS от Chrome
profile:
  store-selected: true   # запоминать выбранный вручную узел
  store-fake-ip: true    # кешировать соответствия fake-ip между перезапусками

store-selected: true действительно полезно — без него каждая перезагрузка конфигурации сбрасывает ваш ручной выбор узла на значение по умолчанию.

5. Блокировка рекламы

rule-providers:
  my-reject:
    type: inline
    behavior: domain
    payload:
      - "+.doubleclick.net"
      - "+.googlesyndication.com"
      - "+.adservice.google.com"

prepend-rules:
  - RULE-SET,my-reject,REJECT

6. Принудительно направить трафик BitTorrent напрямую

Многие провайдеры запрещают трафик BitTorrent, и пропускать его через них рискованно для аккаунта:

prepend-rules:
  - PROCESS-NAME,qbittorrent.exe,DIRECT
  - PROCESS-NAME,Transmission.exe,DIRECT
  - PROCESS-NAME,aria2c.exe,DIRECT
  - DST-PORT,6881-6889,DIRECT

Правила по процессам вообще не работают без find-process-mode: strict.

7. Включение сниффинга доменов

Часть трафика приходит с одним IP и без домена (клиенты, подключающиеся прямо к адресам). Сниффинг восстанавливает имя из рукопожатия TLS, и доменные правила снова становятся применимы:

sniffer:
  enable: true
  force-dns-mapping: true
  parse-pure-ip: true
  sniff:
    HTTP:
      ports: [80, 8080-8880]
      override-destination: true
    TLS:
      ports: [443, 8443]
    QUIC:
      ports: [443, 8443]
  skip-domain:
    - "+.push.apple.com"
    - "+.apple.com"

Порядок слияния и конфликты

В каком порядке строится итоговая конфигурация11. Исходная конфигурация подпискиоснова22. Глобальный расширенный конфигприменяется ко всем подпискам33. Расширенный конфиг одной подпискиприменяется только к ней, приоритет выше44. Временные действия в интерфейсеузел, переключённый вручную
Более поздние слои перекрывают ранние; поля prepend вставляют, а не заменяют

Если и глобальное расширение, и расширение конкретной подписки задают prepend-rules, работать будут оба набора, причём правила подписки окажутся впереди.

Отладка расширенного конфига

Посмотрите на результат слияния

Clash Verge пишет действующую конфигурацию в рабочий файл. ⋯ → Open File на карточке профиля показывает исходную подписку; чтобы увидеть результат слияния, найдите в каталоге конфигурации clash-verge.yaml или runtime.yaml (имя слегка различается по версиям).

Поищите там добавленное вами правило; нашли — значит, слияние прошло.

Когда конфигурация не загружается

Частые ошибки в расширенном конфигеДля отступов в YAML использован таб — должны быть пробелыИмя группы не совпадает с подпиской (эмодзи, пробелы, регистр)prepend-rules написано как prepend_rules через подчёркиваниеНазванная в правиле политика не существует — это валит всю конфигурациюСекция dns написана наполовину — замена целиком тогда теряет исходные настройки

Когда что-то ломается, полностью очистите расширенный конфиг, убедитесь, что сама подписка загружается, а затем возвращайте секции по одной, чтобы найти виновника.

Про режим Script

Помимо Merge, часть версий поддерживает обработку конфигурации на JavaScript:

function main(config) {
  // добавить DIRECT в каждую группу select
  config["proxy-groups"].forEach(g => {
    if (g.type === "select" && !g.proxies.includes("DIRECT")) {
      g.proxies.push("DIRECT");
    }
  });
  // вставить правило
  config.rules.unshift("DOMAIN-SUFFIX,example.com,DIRECT");
  return config;
}

Режим Script мощнее, но и ошибиться в нём легче — одно исключение валит всю конфигурацию. Если задачу решает Merge, берите Merge.

Коротко

  • Никогда не правьте скачанный файл подписки напрямую; пользуйтесь расширенным конфигом
  • prepend-rules — стандартный способ чинить маршрутизацию, с наивысшим приоритетом
  • Поля верхнего уровня заменяют секции целиком — пишете dns, пишите её полностью
  • store-selected: true стоит добавить, чтобы перезагрузки не теряли ваш ручной выбор
  • Имена групп должны точно совпадать с подпиской, включая эмодзи

Смотрите также: структура YAML и справочник по типам правил.


Смежные документы

Структура YAML в конфигурации Clash — за что отвечает каждое из восьми полей верхнего уровня
Основы конфигурации Структура YAML в конфигурации Clash — за что отвечает каждое из восьми полей верхнего уровня

Конфигурация Clash / Mihomo разобрана сверху донизу — порты, режим, DNS, proxies, proxy-groups, rules и rule-providers — плюс минимальная рабочая конфигурация, которую можно вставить как есть.

2026-08-021184 слов3 мин чтения
Пять типов proxy-groups — select, url-test, fallback, load-balance и relay
Основы конфигурации Пять типов proxy-groups — select, url-test, fallback, load-balance и relay

Что каждая группа политик делает на самом деле, когда её применять, какие параметры важны, плюс готовая структура групп и опции include-all и filter из Mihomo.

2026-07-291200 слов3 мин чтения
Как на самом деле работает проверка задержки и какими должны быть interval, tolerance и lazy
Основы конфигурации Как на самом деле работает проверка задержки и какими должны быть interval, tolerance и lazy

Что измеряет url-test, зачем нужен unified-delay, почему показанная задержка не совпадает с ping, и рекомендуемые значения трёх ключевых параметров вместе с их побочными эффектами.

2026-07-051110 слов3 мин чтения