01

Одна строка вместо шестисот правил

Писать правила по одному быстро перестаёт работать. Рекламные домены, местные сайты, один видеосервис вместе со всеми его CDN: каждая категория — это сотни строк, и если сложить их прямо в блок rules, получится конфигурация, которую невозможно ни читать, ни поддерживать.

Набор правил упаковывает целую категорию в отдельный файл, а в конфигурации остаётся одна строка со ссылкой на него. Список изменился — меняете файл, блок rules при этом не трогаете.

У наборов собственное расписание
Обновление подписки их не обновляет: у каждого provider свой interval.

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

Четыре поля, без которых набор не заработает

  1. 1

    Источник, behavior, путь, интервал

    Каждой записи в rule-providers нужны четыре вещи. type — это http для удалённого списка или file для файла на диске. url либо путь говорят, откуда файл берётся и куда ложится сохранённая копия. interval задаёт периодичность повторной загрузки в секундах. И behavior — ровно одно из трёх значений: domain, ipcidr или classical.

  2. 2

    behavior обязан совпадать с содержимым файла

    Файл из голых доменных имён — это domain. Файл из подсетей CIDR — ipcidr. Значение classical подходит только файлу, в каждой строке которого стоит полный префикс правила вроде DOMAIN-SUFFIX или PROCESS-NAME. Ошибётесь — набор либо откажется загружаться, либо загрузится и не даст ни одного совпадения. Эта одна строка и есть самая частая ошибка во всём блоке.

  3. 3

    Ссылка читается в том же порядке сверху вниз

    В блоке rules пишется RULE-SET, имя набора и группа политик. Набор не получает особого приоритета только потому, что лежит в файле: он проверяется ровно в том месте, где вы его написали, наравне с обычными правилами, и срабатывает первое совпадение.

03

Где медленная загрузка превращается в ошибку

Сохраните, перезагрузите профиль и откройте страницу правил. Рядом с каждым набором должно стоять количество правил. Ноль означает, что файл не приехал или не разобрался, а причина почти всегда находится поиском имени provider на странице логов.

  • Удалённому набору при запуске нужна сеть: пока её нет, вы получаете ошибку загрузки конфигурации, за которой стоит всего один недостающий файл
  • Не ставьте маленький interval — раз в сутки достаточно почти для любого публикуемого списка
  • Десяток крупных наборов заметно замедляет первый запуск и поднимает расход памяти; подключайте то, чем действительно пользуетесь
04

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

Набор правил постоянно не обновляется. С чего начать?

Читайте строку лога, а не сообщение на экране. HTTP 403 или 404 означает, что адреса больше нет или хост отклоняет запрос: ищите другой источник того же списка. Таймаут означает, что адрес недоступен из вашей сети: пустите загрузку через прокси или замените запись локальным файлом. Заодно проверьте, что каталог, указанный в path, существует и доступен на запись.

Как выглядит неправильно выбранный behavior?

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