мне выдали пермач в /s/ за то что рофлил над набросами лахты так что все вопросы задавайте в каментах, тред тамошний я больше не читаю потому что всё равно ничего написать не могу.
инструкция для пользователей федоры и убунты, люди которые пользуются арчем и дебианом в пошаговых инструкциях для домохозяек не нуждаются
sudo dnf install -y curl ipset dnsutils git jq
строчка для федоры
sudo apt install -y curl ipset dnsutils git jq
строчка для убунты
sudo pacman -S --needed curl ipset bind git jq
строчка для манжары ВНИМАНИЕ У МЕНЯ НЕТ МАНЖАРЫ И МНЕ ЛЕНЬ СТАВИТЬ ЕЁ В ВИРТУАЛКУ НО ЛЮДИ УТВЕРЖДАЮТ ЧТО ЭТО ПРАВИЛЬНЫЙ АНАЛОГ ДЛЯ МАНЖАРЫ
Important
ЕСЛИ У ВАС OPENWRT ТО ВМЕСТО КОМАНД ВЫШЕ НАДО ВВЕСТИ ЭТИ
service zapret stop
opkg update
opkg install curl ipset git bind-dig git-http libcurl jq
cd /
mkdir opt
cd /opt
wget $(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest | jq -r '.assets[] | select(.name | contains ("openwrt")) | .browser_download_url') -O /opt/zapret-latest.tar.gz
tar -xvzf /opt/zapret-latest.tar.gz
rm -v /opt/zapret-latest.tar.gz
cp -vr /opt/zapret-v*/* /opt/zapret/
rm -rfv zapret-v*
cd /opt/zapret
./install_bin.sh
./install_prereq.sh
если у вас openwrt то я настоятельно советую сначала сделать возможность подключить флешку к роутеру как внешний носитель по официальной инструкции чтобы не трястись за каждый килобайт свободного места на роутере.
Note
КОНЕЦ КОМАНД ДЛЯ OPENWRT ЕСЛИ У ВАС ЕГО НЕТ ДАЛЬШЕ НАДО ВВЕСТИ
sudo apt-get update
sudo apt-get install jq -y
sudo dnf --assumeyes install jq
cd /opt
sudo wget $(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest | jq -r '.assets[] | .browser_download_url' | grep zapret-v[0-9\.]*.tar.gz | head -n 1) -O /opt/zapret-latest.tar.gz
sudo tar -xvzf /opt/zapret-latest.tar.gz
sudo rm -v /opt/zapret-latest.tar.gz
sudo cp -vr /opt/zapret-v*/* /opt/zapret/
sudo rm -rfv zapret-v*
cd /opt/zapret
sudo ./install_bin.sh
sudo ./install_prereq.sh
это установит все пакеты и сделает предварительную настройку.
адрес кеширующего сервера вы будете вставлять в блокчек чтобы найти способ обхода блокировки именно ютуба а не рутрекера (по умолчанию в скрипте блокчека стоит именно адрес рутрекера) инструкция на примере хромоподелий:
- тыкаете на страничке ютуба правой кнопкой -> инструменты разработчика -> инспектировать
- справа открывается панелька, вверху тыкайте на сеть
- пишите в фильтре googlevideo
- тыкайте на один из запросов
- справа будет виден полный адрес
- копируйте домен кеширующего сервера без
https://
вот как это должно выглядеть - стрелками показал в каком порядке куда тыкатьтеперь адрес можно вставлять в блокчек для поиска стратегии обхода блокировки ютуба - вставлять любой другой домен не поможет обойти блокировку ютуба, но поможет обойти блокировку того домена который вставлен в блокчек.
потом надо запустить в терминале блокчек - скрипт который подберёт методы обхода конкретно под ваш провайдер
/opt/zapret/blockcheck.sh
БЛОКЧЕК НАДО ЗАПУСКАТЬ ТОЛЬКО КОГДА ПРОГРАММА НЕ РАБОТАЕТ. ЕСЛИ ПРОГРАММА УЖЕ РАБОТАЕТ НАДО ПЕРЕД ЗАПУСКОМ БЛОКЧЕКА ВЫПОЛНИТЬ sudo systemctl stop zapret
а на openwrt service zapret stop
или /opt/zapret/uninstall_easy.sh
Блокчек будет спрашивать доступ к какому серверу будем тестировать (не надо указывать googlevideo.com потому что он даёт редирект который вызывает ложноe срабатывание блокчека, лучше вбить добытый по инструкции выше адрес кеширующего сервера гугла если надо обойти именно блокировку ютуба или оставить по дефолту рутрекер), количество повторений теста - тут я советую указать 2-3 повторения, это будет в разы медленней но зато не будет ложных срабатываний как если бы стратегия обхода блокировки была рабочая, а на самом деле это единичный сбой ТСПУ. Но у меня мелкий провайдер с посредственными айтишниками, может на крупных провайдерах ТСПУ не даёт сбоев и одного повторения достаточно.
Блокчек напишет какая стратегия обхода оптимальная, выглядеть это будет примерно так:
- SUMMARY
ipv4 rr2---sn-4gxxqvh-8v1s.googlevideo.com curl_test_https_tls12 : nfqws --dpi-desync=split2
ipv4 rr2---sn-4gxxqvh-8v1s.googlevideo.com curl_test_http3 : nfqws -dpi-desync=fake,split2 —dpi-desync-ttl=3
значит при установке или переустановке запрета надо выбрать режим nfqws
и в параметр NFQWS_OPT_DESYNC_HTTPS
вставить --dpi-desync=split2
а в параметр NFQWS_OPT_DESYNC_QUIC
вставить -dpi-desync=fake,split2 —dpi-desync-ttl=3
. у вас могут быть другие параметры, но делать надо примерно так же по аналогии - что советует блокчек в строке с curl_test_https_tls12
суём в NFQWS_OPT_DESYNC_HTTPS
что советует блокчек в строке с curl_test_http3
суём в NFQWS_OPT_DESYNC_QUIC
.
Note
ДЛЯ ТОГО ЧТОБЫ ТЕСТ ПРЕДЛАГАЮЩИЙ ПАРАМЕТРЫ ДЛЯ ОБХОДА ЗАМЕДЛЕНИЯ ЮТУБА ЗАРАБОТАЛ ВАМ МОЖЕТ ПОТРЕБОВАТЬСЯ CURL С ПОДДЕРЖКОЙ HTTP3/QUIC ЕГО МОЖНО СКАЧАТЬ ТУТ https://curl.se/download.html И СУНУТЬ В /USR/BIN НО СНАЧАЛА ПЕРЕИМЕНУЙТЕ СТАРЫЙ CURL ЧТОБЫ НЕ ПЕРЕЗАПИСАТЬ ЕГО И ВОССТАНОВИТЬ В СЛУЧАЕ ЧЕГО НО НА НОВЫХ ДИСТРИБУТИВАХ ЭТО МОЖЕТ БЫТЬ УЖЕ НЕ НУЖНО
- открываете blockcheck.sh в текстовом редакторе
- находите там строчку вида
[ "$SCANLEVEL" = quick ] && break
- меняете её на
break
- запускаете блокчек, выбираете режим
standard
и несколько повторений - теперь в режиме
standard
блокчек будет переходить к следующему тесту после первой же неудачи, поэтому даже если вы укажете 10 повторений теста это будет быстрее чем обычныйstandard
но найдёт гарантированное рабочие стратегии обхода если они вообще в принципе могут быть. - подробнее об ускорении блокчека можно почитать здесь.
затем надо выполнить
sudo /opt/zapret/install_easy.sh
скрипт может спросить что у вас - iptables
или nftables
. современные убунты и федоры насколько мне известно используют nftables
. но если укажете неправильно - ничего страшного, запустите ещё раз install_easy.sh
и укажете параметры по другому.
и при установке включить режим nfqws
который посоветовал блокчек (или другой режим из списка если блокчек посоветовал другой), выглядеть этот список будет так:
enable tpws socks mode on port 987 ? (default : N) (Y/N) ?
enable tpws transparent mode ? (default : N) (Y/N) ?
enable nfqws ? (default : Y) (Y/N) ?
если блокчек посоветовал другой режим надо вбить другую циферку.
далее установщик спросит надо ли вам запускать с определёнными параметрами программу, выглядеть это будет так:
do you want to edit the options (default : N) (Y/N) ?
надо будет вбить Y и откроется файлик примерно такого вида
NFQWS_OPT=
"--filter-tcp=80 --dpi-desync=split --dpi-desync-ttl=7 --hostlist=/opt/zapret/lists/rest.txt --new
--filter-tcp=443 --dpi-desync=fake,split2 --dpi-desync-ttl=7 --hostlist=/opt/zapret/lists/rest.txt --new
--filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=10 --hostlist=/opt/zapret/lists/discord.txt --new
--filter-tcp=443 --dpi-desync=split --dpi-desync-fooling=badseq --wssize 1:6 --hostlist=/opt/zapret/lists/yt.txt --new
--filter-tcp=443 --dpi-desync=fake --dpi-desync-ttl=2 --hostlist=/opt/zapret/lists/discord.txt --new
--filter-tcp=443 --dpi-desync=fake --dpi-desync-ttl=2"
как это работает - --filter-tcp=80
это к какому протоколу и порту будут применяться параметры обхода, --hostlist=
это путь к хостлисту в котором перечислены домены (хостлист это текстовый файл в котором указываете домены в столбик по одному на строчку) к которым будут применяться параметры обхода, а между ними надо вставить те параметры обхода которые предложит блокчек.
Note
НА ВСЯКИЙ СЛУЧАЙ ЧТО ТАКОЕ "СОХРАНИТЬ И ВЫЙТИ"
параметры вы будете вбивать в редакторе nano
когда вобьёте нажимаете CTRL+X
потом Y
потом ENTER
.
я это добавил потому что такой вопрос уже был.
остальные опции мне менять не потребовалось, просто тыкал enter. вообще не бойтесь тыкать энтер во всех случаях кроме того когда спрашивают про выбор режима (который SELECT MODE
выше) и про выбор параметров обхода (их должен подобрать блокчек и они у каждого провайдера свои), во всех остальных случаях запрет имеет такие настройки которые почти всем подойдут, а если напортачите при настройке то можно будет заново запустить install_easy.sh
и заново всё настроить.
для пк
sudo cp /opt/zapret/init.d/openwrt/custom.d.examples/50-discord /opt/zapret/init.d/openwrt/custom.d
для опенврт
cp /opt/zapret/init.d/openwrt/custom.d.examples/50-discord /opt/zapret/init.d/openwrt/custom.d
и потом перезапускаем запрет через
/opt/zapret/install_easy.sh
или
service zapret restart
(для опенврт) или
sudo systemctl restart zapret
(для пк).
start : sudo systemctl start zapret
stop : sudo systemctl stop zapret
enable auto start : sudo systemctl enable zapret
disable auto start : sudo systemctl disable zapret
cd /opt
sudo wget $(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest | \
jq -r '.assets[] | select(.name | contains ("tar.gz")) | .browser_download_url')
sudo tar -xvzf zapret*.tar.gz
sudo rm zapret-v*.tar.gz
sudo mv -f zapret-v* zapret
cd /opt/zapret
но можно просто скачать руками из https://github.com/bol-van/zapret/releases/latest
cd /opt/zapret
sudo git checkout master
sudo git fetch --all
sudo git reset --hard
sudo git pull
status, output messages : sudo systemctl status zapret
timer info : sudo systemctl list-timer
delete service : sudo systemctl disable zapret ; sudo rm /lib/systemd/system/zapret.service
delete timer : sudo systemctl disable zapret-list-update.timer ; sudo rm /lib/systemd/system/zapret-list-update./*
как скомпилировать из исходников самый свежак из гитхаба? сначала надо установить пакеты которые могут пригодиться
kde deb12.8
sudo apt install git python3-distutils ncurses-dev gawk wget libcap-dev
kubuntu22.04
sudo apt install git make build-essential unzip libncurses-dev
fedora41
sudo dnf install git perl patch ncurses-devel libcap-devel
затем можно следовать инструкции но надо понимать что там указан SDK для openwrt 23.5.5 а у вас может быть другая, например я использую такую команду
curl -o - https://downloads.openwrt.org/releases/23.05.4/targets/x86/64/openwrt-sdk-23.05.4-x86-64_gcc-12.3.0_musl.Linux-x86_64.tar.xz | tar -Jxvf -
cd openwrt-sdk-23.05.4-x86-64_gcc-12.3.0_musl.Linux-x86_64
а в остальном то же самое
curl -o - https://downloads.openwrt.org/releases/23.05.4/targets/x86/64/openwrt-sdk-23.05.4-x86-64_gcc-12.3.0_musl.Linux-x86_64.tar.xz | tar -Jxvf -
cd openwrt-sdk-23.05.4-x86-64_gcc-12.3.0_musl.Linux-x86_64
./scripts/feeds update base packages
./scripts/feeds install libnetfilter-queue zlib libcap
cp -R /opt/zapret/docs/compile/openwrt/. .
cp -R /opt/zapret/tpws package/zapret/tpws
cp -R /opt/zapret/nfq package/zapret/nfqws
cp -R /opt/zapret/mdig package/zapret/mdig
cp -R /opt/zapret/ip2net package/zapret/ip2net
rm -f package/zapret/tpws/tpws/tpws package/zapret/nfqws/nfq/nfqws package/zapret/mdig/mdig/mdig package/zapret/ip2net/ip2net/ip2net
make package/{tpws,nfqws,mdig,ip2net}/compile
ls -l bin/packages/*/base
последняя команда покажет есть ли скомпилированные ipk/apk файлы или нет. если нет значит что-то пошло не так и надо читать какие ошибки пишет компилятор. если они там есть значит надо их закинуть в роутер (mc очень удобно перекидывать файлы через ssh) и установить в опенврт роутера, а потом запустить скрипт install_easy.sh
и он установит свежайшую версию запрета прямо из гита.
если есть вопрос или нашли ошибку/опечатку - можно прям в каменты написать, но тут нет уведомлений о них так что я их прочитаю когда зайду прям сюда по ссылке.
На openwrt по этой команде какая-то ерунда скачивается вида абракадабра. Архивом даже не пахнет.
wget $(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest | jq -r '.assets[] | select(.name | contains ("openwrt")) | .browser_download_url')