Специально для тех, кто хочет побыстрее начать, но не хочет слишком углубляться в простыню readme.txt. Предупреждение : не пишите в issue вопросы типа "как скопировать файл", "как скачать", "как запустить", ... То есть все , что касается базовых навыков обращения с ОС linux. Эти вопросы буду закрывать сразу. Если у вас подобные вопросы возникают, рекомендую не использовать данный софт или искать помощь где-то в другом месте. Обход DPI является хакерской методикой. Под этим словом понимается метод, которому сопротивляется окружающая среда, которому автоматически не гарантирована работоспособность в любых условиях и на любых ресурсах, требуется настройка под специфические условия у вашего провайдера. Условия могут меняться со временем, и методика может начинать или переставать работать, может потребоваться повторный анализ ситуации. Могут обнаруживаться отдельные ресурсы, которые заблокированы иначе, и которые не работают или перестали работать. Могут и сломаться отдельные незаблокированные ресурсы. Поэтому очень желательно иметь знания в области сетей, чтобы иметь возможность проанализировать техническую ситуацию. Не будет лишним иметь обходные каналы проксирования трафика на случай, если обход DPI не помогает. Будем считать, что у вас есть система на базе традиционного linux или openwrt. Если у вас традиционный linux - задача обойти блокировки только на этой системе, если openwrt - обойти блокировки для подключенных устройств. Это наиболее распространенный случай. 1) Чтобы процедура установки сработала в штатном режиме на openwrt, нужно раcсчитывать на свободное место около 1-2 Mb для установки самого zapret и необходимых дополнительных пакетов. Если места мало и нет возможности его увеличить за счет extroot, возможно придется отказаться от варианта простой установки и прикручивать в ручном режиме без имеющихся скриптов запуска, либо попробовать засунуть требуемые zapret дополнительные пакеты в сжатый образ squashfs с помощью image builder и перешить этим вариантом роутер. См docs/manual_setup.txt , docs/readme.txt . 2) Скачайте zip архив проекта с github в /tmp, распакуйте его там, либо клонируйте проект через : git clone --depth 1 https://github.com/bol-van/zapret 3) Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и сам zapret. Гарантированно уберет zapret скрипт uninstall_easy.sh. 4) Если вы работаете в виртуальной машине, необходимо использовать соединение с сетью в режиме bridge. nat не подходит 5) Запустите install_bin.sh (1 раз для настройки бинариков правильной архитектуры) 6) На чистой openwrt потребуются дополнительные пакеты. opkg update opkg install curl Требуемые пакеты для iptables : opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra Требуемые пакеты для iptables ipv6 : opkg install ip6tables-mod-nat ip6tables-extra Требуемые пакеты для nftables (с версии 22.03 openwrt перешел на nftables по умолчанию) : opkg install nftables kmod-nft-nat kmod-nft-queue Другой вариант : запустите install_easy.sh, после установки pre-реквизитов откажитесь через ctrl+c. Это надо сделать 1 раз. Без дополнительных пакетов blockcheck.sh не сработает. Сам он ничего не будет устанавливать. 7) Запустите blockcheck.sh. blockcheck позволяет выявить рабочую стратегию обхода блокировок По результатам blockcheck нужно понять какой вариант будете использовать : nfqws или tpws И запомнить найденные стратегии. 8) blockcheck.sh в начале проверяет DNS. Если выводятся сообщения о подмене адресов, то первым делом нужно решить эту проблему, иначе ничего не будет работать. Решение проблемы DNS выходит за рамки проекта. Обычно она решается либо заменой DNS серверов от провайдера на публичные (1.1.1.1, 8.8.8.8), либо в случае перехвата провайдером обращений к сторонним серверам - через специальные средства шифрования DNS запросов, такие как dnscrypt, DoT, DoH. Еще один эффективный вариант - использовать ресолвер от yandex 77.88.8.88 на нестандартном порту 1253. Многие провайдеры не анализируют обращения к DNS на нестандартных портах. Проверить работает ли этот вариант можно так : dig -p 53 @77.88.8.88 rutracker.org dig -p 1253 @77.88.8.88 rutracker.org Если DNS действительно подменяется, и ответ на эти 2 команды разный, значит метод вероятно работает. В openwrt DNS на нестандартном порту можно прописать в /etc/config/dhcp таким способом : config dnsmasq ............. list server '77.88.8.88#1253' Если настройки IP и DNS получаются автоматически от провайдера, в /etc/config/network найдите секцию интерфейса 'wan' и сделайте так : config interface 'wan' ............. option peerdns '0' /etc/init.d/network restart /etc/init.d/dnsmasq restart Если это не подходит, можно перенаправлять обращения на udp и tcp порты 53 вашего DNS сервера на 77.88.8.88:1253 средствами iptables/nftables. В /etc/resolv.conf нельзя прописать DNS на нестандартном порту. 9) Запустите install_easy.sh. Выберите nfqws или tpws, затем согласитесь на редактирование параметров. Откроется редактор, куда впишите найденные стратегии. Для nfqws отдельно настраиваются стратегии на http и https для ipv4 и ipv6. То есть по максимуму 4 разных варианта. NFQWS_OPT_DESYNC - это общая установка, которая применяется, если какой-либо уточняющий параметр не задан NFQWS_OPT_DESYNC_HTTP и NFQWS_OPT_DESYNC_HTTPS заменяют стратегию для http и https. Если у вас включен ipv6, то они так же будут применены и к ipv6. Если для ipv6 нужна другая стратегия, то можно задать уточняющие параметры NFQWS_OPT_DESYNC_HTTP6 и NFQWS_OPT_DESYNC_HTTPS6. Если стратегии для ipv4 и ipv6 отличаются лишь ttl, то в целях экономии ресурсов роутера (меньше процессов nfqws) следует отказаться от использования специфических для ipv6 установок. Вместо них использовать параметры --dpi-desync-ttl и --dpi-desync-ttl6 в общих установках. Таким способом можно заставить один процесс nfqws обрабатывать трафик на ipv4 и на ipv6 с разным ttl. Важным вопросом является вопрос о поддержке http keep alive. Отвечайте N. Если вдруг на http сайтах будут хаотические сбои типа то загружается, то заглушка или сброс, попробуйте включить поддержку keep alive. Если это не помогает, или хаотичное поведение наблюдается и на https, то еще раз прогоните blockcheck с установленным числом попыток проверки не менее 5. Возможно, ваш провайдер использует балансировку нагрузки, где на разных путях установлен разный DPI. Следует понимать, что blockcheck проверяет доступность только конкретного домена, который вы вводите в начале. Вероятно, все остальные домены блокированы подобным образом, но не факт. В большинстве случаев можно обьединить несколько стратегий в одну универсальную, но для этого необходимо понимать "что там за буковки". Если вы в сетях слабо разбираетесь, это не для вас. В противном случае читайте readme.txt. zapret не может пробить блокировку по IP адресу Для проверки нескольких доменов вводите их через пробел. 10) На все остальные вопросы install_easy.sh отвечайте согласно выводимой аннонтации. 11) Если ломаются отдельные незаблокированные ресурсы, следует вносить их в исключения, либо пользоваться ограничивающим ipset или хост листом. Читайте основной толмуд readme.txt ради подробностей. Это минимальная инструкция, чтобы соориентироваться с чего начать. Подробности и полное техническое описание расписаны в readme.txt