мне выдали пермач в /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 и он установит свежайшую версию запрета прямо из гита.
если есть вопрос или нашли ошибку/опечатку - можно прям в каменты написать, но тут нет уведомлений о них так что я их прочитаю когда зайду прям сюда по ссылке.


За инструкцию спасибо. Честно говоря, немного не понял (самое важное), что именно делать, когда у меня есть файл с опциями типа
и куча строк текста в терминале (запускал подробную проверку, так мне выдало 12 страниц текста вида
это - только три строки из 12 листов...
Куда, а главное - в каком виде - я должен вводить эти рекомендуемые параметры?