Установка и конфигурирование bol-van/zapret в linux
- Aleksej
-
Автор темы
- Не в сети
- Модератор
-
Less
Больше
6 ч. 40 мин. назад - 6 ч. 30 мин. назад #1
от Aleksej
Aleksej создал тему: Установка и конфигурирование bol-van/zapret в linux
Скажу честно, петля затягивается. То, что
работало
вчера, сегодня уже может не работать. Именно потому ищем новые решения; как говорят шлюшки-айтишники Роспотребнадзора - "мне просто было интересно решить техническую проблему". Ок.
Тестировал на Leap OpenSUSE 15.6. Сделал ряд скриптов, значительно облегчающих работу с этим автономным средством противодействия DPI, выложу в ближайшее время на гитхабе. А пока - вот так, короткой строкой. Понеслось:
Дальше, опять же по-быстрому, делаем ряд симлинков:
Теперь (всё работает до ребута только):
Далее.
Если были неудачные попытки инсталляции, оптимально:
Проверяем:
у меня, таким образом, nftables v0.9.8 (E.D.S.).
Тестируем; после ввода команды второй раз счетчики должны меняться:
Теперь запускаем скрипт тестирования стратегий обхода блокировок (лежит в корне каталога zapret), предварительно сделав исполняемым:
Скрипт, в качестве итога работы, выведет в консоль несколько стратегий, в результате применения которых ему удалось через curl достучаться до rutracker.org (по умолчанию). Выбираем любую и запускаем софтину, например:
Выход как-то так:
Но, повторюсь, неудобно и хлопотно. Действительно заработал nfqws у меня лишь только после того, как удалось автоматизировать рутину, чтобы не тратить на нее время. Об этом - в самое ближайшее время.
Тестировал на Leap OpenSUSE 15.6. Сделал ряд скриптов, значительно облегчающих работу с этим автономным средством противодействия DPI, выложу в ближайшее время на гитхабе. А пока - вот так, короткой строкой. Понеслось:
Code:
sudo zypper install -t pattern devel_basis
sudo zypper install -y gcc make libmnl-devel zlib-devel libcap-devel libnetfilter_queue-devel libnfnetlink-devel
Дальше, опять же по-быстрому, делаем ряд симлинков:
Code:
sudo ln -s /usr/include/libmnl/libmnl/libmnl.h /usr/include/libmnl/libmnl.h
sudo ln -s /usr/include/libnetfilter_queue/libnetfilter_queue/libnetfilter_queue.h /usr/include/libnetfilter_queue/libnetfilter_queue.h
sudo ln -s /usr/include/libnfnetlink/libnfnetlink/libnfnetlink.h /usr/include/libnfnetlink/libnfnetlink.h
sudo ln -s /usr/include/libnfnetlink/libnfnetlink/linux_nfnetlink.h /usr/include/libnfnetlink/linux_nfnetlink.h
sudo ln -s /usr/include/libnfnetlink/libnfnetlink/linux_nfnetlink_compat.h /usr/include/libnfnetlink/linux_nfnetlink_compat.h
sudo ln -s /usr/include/libnetfilter_queue/libnetfilter_queue/linux_nfnetlink_queue.h /usr/include/libnetfilter_queue/linux_nfnetlink_queue.h
Теперь (всё работает до ребута только):
Code:
sudo modprobe nfnetlink_queue
sudo modprobe nf_conntrack
sudo modprobe nf_defrag_ipv6 # для IPv6, если используется
sudo sysctl -w net.netfilter.nf_conntrack_tcp_be_liberal=1 # либеральный TCP-трекинг
sudo sysctl -w net.netfilter.nf_conntrack_checksum=0 # badsum в desync
sudo nft add table inet zapret
sudo nft add chain inet zapret output '{type filter hook output priority 0; }'
sudo nft add rule inet zapret output \
meta mark and 0x40000000 == 0 \
tcp dport { 80, 443 } \
ct original packets 1-6 \
counter queue num 100 bypass
Далее.
Code:
git clone https://github.com/bol-van/zapret.git
cd zapret
./install_easy.sh
Если были неудачные попытки инсталляции, оптимально:
Code:
make clean
Проверяем:
Code:
sudo nft -v
у меня, таким образом, nftables v0.9.8 (E.D.S.).
Тестируем; после ввода команды второй раз счетчики должны меняться:
Code:
sudo nft list table inet zapret
curl -4 https://rutracker.org
sudo nft list table inet zapret
Теперь запускаем скрипт тестирования стратегий обхода блокировок (лежит в корне каталога zapret), предварительно сделав исполняемым:
Code:
chmod +x blockcheck.sh
./blockcheck.sh
Скрипт, в качестве итога работы, выведет в консоль несколько стратегий, в результате применения которых ему удалось через curl достучаться до rutracker.org (по умолчанию). Выбираем любую и запускаем софтину, например:
Code:
sudo ~/zapret/nfq/nfqws --qnum=100 --dpi-desync=fake --dpi-desync-ttl=4 --debug=1
Выход как-то так:
Code:
sudo kill $(cat /var/run/nfqws.pid)
Но, повторюсь, неудобно и хлопотно. Действительно заработал nfqws у меня лишь только после того, как удалось автоматизировать рутину, чтобы не тратить на нее время. Об этом - в самое ближайшее время.
Последнее редактирование: 6 ч. 30 мин. назад пользователем Aleksej. Причина: Небольшие исправления
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.