Автономное, без задействования сторонних серверов, средство противодействия DPI. Может помочь обойти блокировки или замедление сайтов http(s), сигнатурный анализ tcp и udp протоколов, например с целью блокировки VPN.
Проект нацелен прежде всего на маломощные embedded устройства - роутеры, работающие под openwrt. Поддерживаются традиционные Linux системы, FreeBSD, OpenBSD, частично MacOS. В некоторых случаях возможна самостоятельная прикрутка решения к различным прошивкам. Большая часть функционала работает на windows.
Простая установка Zapret на Linux на примере моего Debian 12 (by kmk): -------------------------------------------------------------------------------
1.Устанавливаем необходимые зависимости: $ sudo apt-get install libnetfilter-queue-dev zlib1g-dev iptables
2.Копируем исполняемые файлы в соответствии с разрядностью вашей системы: $ cd x86_64/ $ sudo cp ip2net /usr/local/bin/ip2net $ sudo cp mdig /usr/local/bin/mdig $ sudo cp nfqws /usr/local/bin/nfqws $ sudo cp tpws /usr/local/bin/tpws
3.Копируем файл youtube-domain.txt в домашнюю папку своего пользователя. $ cd ../ $ cp youtube-domain.txt ~/ ("~/" - тоже самое, что и "/home/UserName/")
В этом файле указаны заблокированные сайты: googlevideo.com youtube.com ytimg.com
Последний, для загрузки картинок-предпросмотра роликов. (с 08.08.2024 тоже стали блокировать.)
4.Редактируем скрипты включения и отключения Zapret. Скрипты добавляют (-I - Insert) или удаляют (-D - Delete) правила в iptables.
Открываем любым текстовым редактором файл Zapret_ON.sh. - В четвертой строчке, в пути "/home/UserName/youtube-domain.txt", вместо "UserName" вставляем имя своего пользователя. - В шестой и восьмой строке вместо "NetworkInterface" указываем свой сетевой интерфейс, с помощью которого выходим в интернет.
В файле Zapret_OFF.sh, в шестой и восьмой строке, так же вместо "NetworkInterface" указываем свой сетевой интерфейс.
Свой сетевой интерфейс можно узнать с помощью утилиты ip: $ ip link
Например, enp1s0, или wlp2s0, или wlx0007324d4d34 итп.
В полученом списке работающий сетевой интерфейс будет помечен как "state UP mode", не работающий "state DOWN mode".
Нагляднее будет вывод такой команды: $ ip -br link
5.Запускаем скрипт и пользуемся Ю-Тюб без ограничений и блокировок.
Включение: $ sudo sh '/PathToFile/Zapret_ON.sh' (PathToFile - Путь к файлу)
Отключение: $ sudo sh '/PathToFile/Zapret_OFF.sh'
Просмотр запущен ли процесс nfqws: $ ps -ax | grep nfqws
Можно посмотреть, добавилось ли новое правило в iptables. Список правил: $ sudo iptables -L -n
После запуска скрипта, должна добавиться/удалиться строка правил в iptables:
Chain OUTPUT (policy ACCEPT) target prot opt source destination NFQUEUE 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 connbytes 1:6 connbytes mode packets connbytes direction original mark match ! 0x40000000/0x40000000 NFQUEUE num 200 bypass
Если у вас этот способ не работает, смотрим чуть более сложный здесь:
Если и он не работает, копайте глубже и читайте документацию.