«Домашнее напрямую, заграничное через прокси» - самая ходовая стратегия: местные сайты сохраняют полную скорость и не тратят подписку, зарубежные автоматически идут через узлы. Большинство подписок поставляют именно её - вот полная структура, чтобы понимать и править осознанно.
Четыре слоя
- Приватные адреса напрямую: LAN и loopback не должны попадать в прокси никогда.
- Явные блокировки и исключения: реклама плюс личные принудительные правила.
- Локальный трафик напрямую: набор местных доменов + GEOIP,CN.
- Остальное через прокси: запасной MATCH.
Полный пример (на провайдерах)
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.example.com/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
direct-cn:
type: http
behavior: domain
url: "https://cdn.example.com/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
url: "https://cdn.example.com/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
rules:
# 1. приватные диапазоны
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
# 2. блокировки и личные исключения
- RULE-SET,reject,REJECT
- DOMAIN-SUFFIX,my-bank.com,DIRECT
# 3. локальное напрямую
- RULE-SET,direct-cn,DIRECT
- RULE-SET,cncidr,DIRECT,no-resolve
- GEOIP,CN,DIRECT
# 4. запасное
- MATCH,Select
URL провайдеров подставьте из выбранного источника (например, соответствующие файлы Loyalsoldier/clash-rules).
Белый список против чёрного
- Выше - логика белого списка: известное локальное напрямую, всё неизвестное по умолчанию в прокси. Редкие иностранные сайты не проскочат.
- Обратная схема (по умолчанию напрямую, ведём список «нуждается в прокси») экономит трафик, но список вечно отстаёт от новых сайтов. На каждый день - логика белого списка.