Понятия «исключение на весь пресет» в Zapret 2 просто не существует. Пресет — это набор профилей, и каждый профиль сам решает, какой трафик он ловит и что с ним делает. Исключения — это не особый список, а такие же профили, которые можно двигать, менять им стратегию и списки. GUI спроектирован так специально, чтобы вы с самого начала мыслили правильно.
⛔️ Зачем вообще исключать сайты? Затем, что Запрет обходит DPI, намеренно «портя» ваши пакеты. Заблокированному сайту это и нужно, а вот незаблокированному — только вредит: настоящий сервер может принять фейки за мусор и сбросить соединение. Поэтому российские сайты в стоковых пресетах идут мимо дурения.
🙈 Способ первый — профиль со стратегией pass. Создаёте профиль, накидываете в него домены или IP, а стратегией ставите pass («ничего не делает»). Профиль честно забирает соединение себе — и не применяет к нему никакого дурения. Забавный факт: pass — это не выдумка GUI, а настоящая функция в Lua-библиотеке движка, которая буквально не делает ничего.
Важно понимать: такой трафик всё равно проходит через Запрет и WinDivert. Он захватывается, разбирается и прогоняется по профилям — просто на выходе пакеты не изменены, байт в байт. Исключение не «прячет» сайт от программы, а прогоняет его через неё вхолостую.
👀 Способ второй — исключающие списки hostlist-exclude и ipset-exclude. Это условие внутри профиля: «срабатывай для всех, кроме вот этих». Именно так устроены широкие профили «Все сайты»: включающего списка нет вообще, есть только исключающие — весь трафик минус исключения.
Разница между способами принципиальная. Pass-профиль трафик забирает и ничего не делает. Exclude-список трафик отпускает — профиль «не совпал», и движок ищет дальше вниз по списку. Если ниже найдётся другой подходящий профиль, исключённый сайт достанется ему — со всем его дурением. Поэтому exclude — не глобальное исключение, он действует только в рамках своего профиля.
🤩 Отсюда первое правило: порядок решает. Движок идёт по профилям сверху вниз и берёт первый подходящий. Исключения конкурируют за трафик наравне со всеми, так что pass-профиль должен стоять выше «портящих» — иначе трафик заберут раньше него.
☝️ Второе правило: не смешивайте бездумно IP и домены. Профиль с IP-списком срабатывает с первого же пакета, а профиль с доменами вообще не участвует в выборе, пока движок не увидит имя сайта. Мы проверили по исходному коду: даже когда имя раскрывается, движок ищет профиль заново с самого верха — и верхний IP-профиль выигрывает снова. Домен ниже не сработает никогда. Хотите смешивать — доменные профили ставьте выше IP-профилей.
💀 И третье: pass не «защищает» сайт, а отключает ему обход. Если pass-профиль с широким фильтром случайно перехватит заблокированный ресурс, тот поедет к DPI с открытым SNI и умрёт. Классика «включил исключения — отвалился YouTube» — это ровно оно: стратегия YouTube не сломалась, она просто не запустилась.
🤓 Для умных: в каждом пресете незримо существует служебный профиль №0 — no_action. В файле пресета и в GUI его нет, движок сам дописывает его в конец списка при запуске. Фильтров у него нет, стратегий тоже: именно через него проходят все сайты, которые не сматчились ни в одном профиле пресета, — и уходят нетронутыми. Так что «не попасть ни в один профиль» в Запрете — это тоже исключение, просто по умолчанию.
Вы даже можете выбрать любую другую стратегию для списка исключений — ведь это такой же обычный профиль.
👉 Полный разбор: https://wiki.zapret.moe/Zapret2/exclusions
☺️ Скачать | ☺️ Premium (донаты) | ☺️ Android, MacOS и др. ссылки
