Правило всегда состоит из трёх полей
Тип, значение, политика — через запятую. DOMAIN-SUFFIX,github.com,PROXY читается так: любой домен, оканчивающийся на github.com, уходит в группу политик с именем PROXY.
Типы, которые стоит знать, делятся на три семейства. По домену: DOMAIN — точное совпадение, DOMAIN-SUFFIX — совпадение по окончанию, DOMAIN-KEYWORD — вхождение подстроки. По адресу: IP-CIDR и GEOIP. И отдельно PROCESS-NAME, который смотрит на программу, открывшую соединение.
Ошибка в имени политики роняет весь конфиг
Третье поле — это либо имя уже существующей группы, либо DIRECT, либо REJECT. Всё остальное, и профиль не загрузится.
Куда их писать, чтобы обновление не стёрло
- 1
Править скачанный профиль бесполезно
Файл, который принесла подписка, это кеш. Следующее обновление перезапишет его целиком вместе со всеми вашими строками. Через эту ошибку проходят почти все.
- 2
Пишите в prepend-rules расширенной конфигурации
В меню профиля откройте расширенную конфигурацию, файл Merge, заведите блок
prepend-rulesи перечислите под ним свои правила. При каждой сборке итогового конфига Clash Verge поставит их перед правилами подписки. - 3
Позиция и есть приоритет
Внутри
prepend-rulesчем выше строка, тем раньше она сработает. Ваши правила должны стоять над широкими групповыми правилами провайдера, иначе те совпадут первыми. Дописывать в конец списка бессмысленно: после замыкающегоMATCHни одна строка не читается.
Три места, где это ломается
DOMAIN-SUFFIX сверяет окончание имени, поэтому example.com захватывает и все поддомены, обычно именно это и нужно. DOMAIN-KEYWORD ищет подстроку, и короткий ключ вроде google соберёт все домены, где эти буквы попались подряд. У правил по IP есть неочевидная деталь: домен сначала надо превратить в адрес, и этот запрос к DNS сам мог уйти не туда.
- Найдите домен на странице правил и убедитесь, что первой совпадает ваша строка
- Ошибка разбора yaml в журнале почти всегда означает отступ или пропущенную запятую
- Соединения, открытые до правки, сохраняют старый маршрут: сначала закройте их
Частые вопросы
Правило добавлено, а трафик идёт по-старому. С чего начать?
Сначала убедитесь, что профиль действительно перезагрузился: вверху журнала должна быть запись о перезагрузке, и если там ошибка, чините её первой. Дальше найдите домен на странице правил и посмотрите, какая строка совпала: не ваша — значит запрос перехватило что-то выше. И наконец, проверьте столбец Chains на странице соединений.
Что писать в PROCESS-NAME на Windows и на macOS?
На Windows это имя исполняемого файла с расширением, например chrome.exe. На macOS и Linux это имя бинарника без расширения, например curl. Пишите ровно то, что показывает список процессов, включая регистр букв. Ядру ещё нужен доступ к сведениям о процессах, иначе такие правила не совпадут ни с чем.