Zapret 2
первоисточникgithub.com/bol-van/zapret2
Действующая версия исходного проекта: стратегии вынесены в Lua-скрипты
Открыть на GitHubНа Linux Zapret живёт в своём естественном виде: без bat-файлов и готовых комплектов, зато с полным набором возможностей. Здесь важно с самого начала понимать разницу между двумя компонентами — nfqws работает с пакетами, tpws с потоком, и выбор между ними определяет всю дальнейшую настройку.
nfqws получает пакеты из очереди NFQUEUE и правит их на уровне отдельных пакетов: дробит, подставляет поддельные, меняет порядок. Это основной инструмент, именно он используется в большинстве сценариев, и именно его Windows-версия называется winws в сборках под Windows.
tpws работает иначе: это прозрачный прокси, который принимает соединение и правит поток данных на уровне TCP. Он не требует NFQUEUE и пригождается там, где очередь пакетов недоступна или неудобна.
Практически выбор выглядит так. Если ядро и правила брандмауэра позволяют завернуть трафик в NFQUEUE, берут nfqws. Если нет, остаётся tpws с его ограничениями. В комплекте проекта есть скрипты, которые помогают собрать нужную конфигурацию, но общий принцип полезно понимать заранее.
github.com/bol-van/zapret2
Действующая версия исходного проекта: стратегии вынесены в Lua-скрипты
Открыть на GitHubgithub.com/bol-van/zapret
Исходный проект: nfqws, tpws, winws. Режим EOL, только исправления ошибок
Открыть на GitHubИсходный проект bol-van/zapret переведён в режим EOL: новых возможностей не будет, только исправления ошибок. Автор указывает на bol-van/zapret2 как на действующую версию.
Главное отличие второй версии в архитектуре: приёмы обхода вынесены из кода на C в Lua-скрипты. Раньше добавление новой стратегии означало правку исходников и пересборку, теперь стратегию пишет любой, кто разбирается в сетевых протоколах. Компонент называется nfqws2, для Windows есть winws2.
Для домашней машины это скорее вопрос на будущее: если у вас уже работает первая версия, переезжать срочно незачем. Если настраиваете с нуля и готовы разбираться — логичнее начинать сразу со второй.
Путь, по которому это делается на десктопном Linux
Посмотрите, есть ли пакет в вашем дистрибутиве
Zapret упакован в ряде дистрибутивов и репозиториев сообщества, включая AUR в Arch. Пакет ставится штатным менеджером и приносит с собой юнит для systemd, что избавляет от ручной сборки.
Если пакета нет, берите исходники из репозитория
Скачивать нужно из bol-van/zapret2 или bol-van/zapret, не с зеркал и не из архивов на файлообменниках. В комплекте есть установочный скрипт, который проводит через настройку.
Определитесь с компонентом
nfqws требует поддержки NFQUEUE в ядре и правил брандмауэра, направляющих трафик в очередь. tpws обходится без этого, но работает на уровне потока.
Настройте стратегию под свои сервисы
Параметры описаны в документации проекта, в разделе про nfqws. Принцип тот же, что на Windows: рабочая комбинация подбирается перебором, потому что фильтры у провайдеров разные.
Оформите автозапуск
При установке из пакета обычно приезжает готовый юнит systemd. При ручной установке юнит пишется руками, и это правильнее, чем запускать команду из автозагрузки рабочего стола.
На Linux есть порт популярной Windows-сборки: репозиторий Sergeydigl3/zapret-discord-youtube-linux переносит подход Flowseal на другую систему. Это разумный вариант для тех, кому нужен работающий Дискорд и Ютуб, а не изучение параметров nfqws.
Правила проверки источника здесь те же, что и везде: смотреть на владельца репозитория, историю изменений и живой раздел обсуждений. Разбор проверки — на странице где скачать Zapret.
Сложнее в начале и удобнее потом. На Windows вы получаете готовый комплект bat-файлов, но перебираете чужие стратегии вслепую. На Linux нужно разобраться с компонентами и правилами брандмауэра, зато потом обход работает службой, обновляется пакетным менеджером и не требует внимания месяцами.
По умолчанию nfqws: он даёт больше возможностей и именно вокруг него собраны все актуальные стратегии. tpws берут, когда NFQUEUE недоступна: например, в урезанном ядре или в контейнере без нужных прав.
Работает, но с оговорками: контейнеру нужны права на работу с сетевым стеком хоста, иначе завернуть трафик в очередь не получится. Схема со шлюзом в отдельном контейнере встречается, но это уже администрирование, а не домашняя установка.
Одновременно — нет, и держать их вместе вредно: оба вмешиваются в один трафик и мешают друг другу. Обычно выбирают что-то одно: обход экономит скорость, VPN закрывает случаи, где нужна смена адреса.
Не по факту запущенного процесса, а по результату: откройте заблокированный сервис. Для Ютуба это ролик с перемоткой, а не главная страница. Дополнительно помогает journalctl для юнита: там видно, стартовал ли процесс и не падает ли он сразу после запуска.
Дальше по теме