Правила - сердце конфигурации Clash: каждое новое соединение идёт по списку с первой строки вниз до первого совпадения. Правильные правила - и маршрутизация дальше работает сама.
Синтаксис
rules:
- ТИП,содержимое,выход
# например:
- DOMAIN-SUFFIX,youtube.com,Select
- GEOIP,CN,DIRECT
- MATCH,Select
Выход - имя группы прокси, DIRECT (напрямую) или REJECT (блок).
Распространённые типы
| Тип | Сопоставляет | Пример |
|---|---|---|
DOMAIN | Точный домен | DOMAIN,www.google.com,PROXY |
DOMAIN-SUFFIX | Домен и все поддомены | DOMAIN-SUFFIX,google.com,PROXY |
DOMAIN-KEYWORD | Домен с подстрокой | DOMAIN-KEYWORD,google,PROXY |
IP-CIDR | Диапазон IPv4 назначения | IP-CIDR,8.8.8.8/32,PROXY |
GEOIP | Страна IP | GEOIP,CN,DIRECT |
PROCESS-NAME | Процесс-инициатор | PROCESS-NAME,Telegram.exe,PROXY |
RULE-SET | Внешний набор правил | RULE-SET,ads,REJECT |
MATCH | Всё подряд (запасное) | MATCH,PROXY |
Почему порядок критичен
Сравните две строки:
- DOMAIN-SUFFIX,cn.example.com,DIRECT
- DOMAIN-SUFFIX,example.com,PROXY
В таком порядке cn.example.com идёт напрямую, остальной example.com - через прокси. Поменяйте местами - и широкое правило заберёт всё первым; вторая строка не сработает никогда. Принцип: конкретное выше, общее ниже.
Запасное MATCH
Список должен завершаться ровно одним правилом MATCH, принимающим всё несопоставленное (без него такой трафик уходит напрямую). MATCH на группу прокси («неизвестное → прокси») против DIRECT («неизвестное → напрямую») - это и есть выбор между стратегией белого и чёрного списка.