01

Правило всегда состоит из трёх полей

Тип, значение, политика — через запятую. DOMAIN-SUFFIX,github.com,PROXY читается так: любой домен, оканчивающийся на github.com, уходит в группу политик с именем PROXY.

Типы, которые стоит знать, делятся на три семейства. По домену: DOMAIN — точное совпадение, DOMAIN-SUFFIX — совпадение по окончанию, DOMAIN-KEYWORD — вхождение подстроки. По адресу: IP-CIDR и GEOIP. И отдельно PROCESS-NAME, который смотрит на программу, открывшую соединение.

Ошибка в имени политики роняет весь конфиг
Третье поле — это либо имя уже существующей группы, либо DIRECT, либо REJECT. Всё остальное, и профиль не загрузится.

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

Куда их писать, чтобы обновление не стёрло

  1. 1

    Править скачанный профиль бесполезно

    Файл, который принесла подписка, это кеш. Следующее обновление перезапишет его целиком вместе со всеми вашими строками. Через эту ошибку проходят почти все.

  2. 2

    Пишите в prepend-rules расширенной конфигурации

    В меню профиля откройте расширенную конфигурацию, файл Merge, заведите блок prepend-rules и перечислите под ним свои правила. При каждой сборке итогового конфига Clash Verge поставит их перед правилами подписки.

  3. 3

    Позиция и есть приоритет

    Внутри prepend-rules чем выше строка, тем раньше она сработает. Ваши правила должны стоять над широкими групповыми правилами провайдера, иначе те совпадут первыми. Дописывать в конец списка бессмысленно: после замыкающего MATCH ни одна строка не читается.

03

Три места, где это ломается

DOMAIN-SUFFIX сверяет окончание имени, поэтому example.com захватывает и все поддомены, обычно именно это и нужно. DOMAIN-KEYWORD ищет подстроку, и короткий ключ вроде google соберёт все домены, где эти буквы попались подряд. У правил по IP есть неочевидная деталь: домен сначала надо превратить в адрес, и этот запрос к DNS сам мог уйти не туда.

  • Найдите домен на странице правил и убедитесь, что первой совпадает ваша строка
  • Ошибка разбора yaml в журнале почти всегда означает отступ или пропущенную запятую
  • Соединения, открытые до правки, сохраняют старый маршрут: сначала закройте их
04

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

Правило добавлено, а трафик идёт по-старому. С чего начать?

Сначала убедитесь, что профиль действительно перезагрузился: вверху журнала должна быть запись о перезагрузке, и если там ошибка, чините её первой. Дальше найдите домен на странице правил и посмотрите, какая строка совпала: не ваша — значит запрос перехватило что-то выше. И наконец, проверьте столбец Chains на странице соединений.

Что писать в PROCESS-NAME на Windows и на macOS?

На Windows это имя исполняемого файла с расширением, например chrome.exe. На macOS и Linux это имя бинарника без расширения, например curl. Пишите ровно то, что показывает список процессов, включая регистр букв. Ядру ещё нужен доступ к сведениям о процессах, иначе такие правила не совпадут ни с чем.