В данном гайде я расскажу как исправить проблему зависающего YouTube и заблокированных сайтов с помощью различных программ обхода блокировок DPI (Deep Packet Inspection / Глубокое исследование пакетов).
Warning
В работу DPI погружать не буду, а сразу перейду к делу. Если есть желание узнать об этой технологии, вам сюда, или туда, или here.
- Как обойти DPI
-
Скачайте архив с GoodByeDPI
-
Распаковываем.
-
Заходим в папку с программой и редактируем файл:
- Если вам нужен YouTube рекомендую пользоваться:
1_russia_blacklist_YOUTUBE.cmd 1_russia_blacklist_YOUTUBE_ALT.cmd-
Ну а если нужна раблокировка всех сайтов, но необязательно YouTube, то открываем:
1_russia_blacklist.cmd -
Не рекомендуется использовать скрипты :
service_install_russia_blacklist.cmd service_install_russia_blacklist_dnsredir.cmd service_install_russia_blacklist_YOUTUBE.cmd service_install_russia_blacklist_YOUTUBE_ALT.cmd
Так как они устанавливают службу в Windows, а потом их сложно будет выкорчевывать из системы. В добавок могут не открываться сайты (якобы нет интернета), а также есть вероятность срабатывания античит системы в игре на GoodByeDPI.
- После строчки
goodbyedpi.exeвместо-9вставим цифру в соответствии от вашего провайдера. - Ну а после
--fake-from-hexвсталяем рандомный hex, с помощью hex генератора. В графеHow many digits?вводим 120 и более, а после нажимаемGenerate Hex, копируем и вставляем в файл. - Сохраняем и выходим.
- И запускаем нужный нам скрипт.
- Необходимо скачать программу и необходимые компоненты. Сделаем мы это с помощью Git.
Установка на Linux:
-
Debian / Ubuntu / Debian подобные:
sudo apt-get install git curl ip6tables ipset iptables -
Либо для Ubuntu:
add-apt-repository ppa:git-core/ppasudo apt update && apt install git curl ip6tables ipset iptables -
Arch / Arch подобные:
sudo pacman -S git dnsutils curl ip6tables ipset iptables -
Red Hat / Fedora / Red Hat подобные:
sudo dnf install git curl iptables ipset -
NixOs:
sudo nix-env -i git curl ipset iptables -
Gentoo:
emerge --ask --verbose dev-vcs/git emerge --ask --verbose net-misc/curl emerge --ask --verbose net-firewall/ipset emerge --ask --verbose net-firewall/iptables -
opkg update opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt iptables-mod-conntrack-extra ipset curl ip6tables-mod-nat grep git-http curl gzip ipset iptables nano ca-certificates mkdir /opt # Если директории нет
-
Клонируем архив с программой
git clone https://github.com/bol-van/zapret /opt/zapret -
(OpenWRT/Keenetic пропускаем логин в рут) Переходим в папку с Zapret из под рута
su -Вводим пароль root`аcd /opt/zapret -
Далее запускаем скрипты установки всех нужных компонентов
./install_bin.sh./install_prereq.sh
Note
Если нужна разблокировка других сервисов, то смотрим на этот пункт.
-
Запускаем скрипт установки службы
./install_easy.shИ делаем следующее:
- Select firewall type - Выбираем на свое усмотрение
- enable IPV6 support - Выбираем отталкиваясь от того какой версии IP вы пользуетесь
- select MODE - Рекомендую выбирать между tpws и nfqws. Я буду показывать напримере nfqws, т.к. работает она лучше.
- do you want to edit the options - Да, мы хотим изменить, а потому вводим
Yи изменяем опции:
NFQWS_OPT_DESYNC="" #NFQWS_OPT_DESYNC_SUFFIX= #NFQWS_OPT_DESYNC_HTTP= #NFQWS_OPT_DESYNC_HTTP_SUFFIX= #NFQWS_OPT_DESYNC_HTTPS= #NFQWS_OPT_DESYNC_HTTPS_SUFFIX= #NFQWS_OPT_DESYNC_HTTP6= #NFQWS_OPT_DESYNC_HTTP6_SUFFIX= #NFQWS_OPT_DESYNC_HTTPS6= #NFQWS_OPT_DESYNC_HTTPS6_SUFFIX= NFQWS_OPT_DESYNC_QUIC="" #NFQWS_OPT_DESYNC_QUIC_SUFFIX= #NFQWS_OPT_DESYNC_QUIC6= #NFQWS_OPT_DESYNC_QUIC6_SUFFIX=Всё что за # - комменатрии, их не трогаем. Нужны нам лишь
NFQWS_OPT_DESYNCи (опционально, в зависимости от того будете вы использовать протокол QUIC или нет)NFQWS_OPT_DESYNC_QUIC.Выбираем способ обхода замедления. Теперь вписываем в
NFQWS_OPT_DESYNCпосле=":NFQWS_OPT_DESYNC="ваш способ обходаДля протокола QUIC:
NFQWS_OPT_DESYNC_QUIC="ваш способ обхода"
- После настройки опций сохраняемся и выходим.
- WAN interface - Рекомендую выбрать ANY
- enable http support - Включаем
- enable https support - Включаем
- enable quic support - Можно не включать, опять же в зависимости от того будете ли вы пользоваться протоколом QUIC или нет
- select filtering - Рекомендую выбирать hostlist
- do you want to auto download ip/host list - Скачиваем сам hostlist
- your choice - Рекомендую оставить по умолчанию
- Далее вставим ссылки из файла blacklist.txt В файл
zapret-hosts-user.txt:
nano /opt/zapret/ipser/zapret-hosts-user.txt Сохраняемся и выходим.
- (Если хотите QUIC) В вашем браузере зайдите в доп. настройки:
- Chrome -
chrome://flags/#enable-quic - Vivaldi -
vivaldi://flags/#enable-quic - Opera -
opera://flags/#enable-quic - Yandex -
browser://flags/#enable-quic - FireFox - зайдите в
about:configи в поиске введитеnetwork.http.http3.enable, переставьте значение наtrue.
Important
Желательно перезагрузить компьютер или же перезапустить браузер.
- Запускаем скрипт для выявления стратегии обхода блокировок:
./blockcheck.sh
- specify domain(s) for test - По умолчанию выставлен rutracker.org, можно оставить. Но не выставляйте как тестовый домен YouTube или Google, т.к. они замедлены, но не заблокированы полностью.
- ip protocol version(s) - Выбираем отталкиваясь от того какой версии IP вы пользуетесь.
- check http - Оставляем.
- check https tls 1.2 - Оставляем.
- check https tls 1.3 - Отключаем.
- do not verify server certificate - Отключаем.
- how many times to repeat each test - Выставляем кол-во запросов на сайт с одной стратегией.
- Выбор между quick standart force: Quick - Быстрая проверка (15-30 минут). Standart - Классическая проверка (1-1.5 часов). Force - Максимальная проверка (более 2-ух часов).
- Теперь ожидаем окончание проверки.
- После окончания проверки появится итоговый результат. Выглядит он примерно так (ЭТО НЕ ГОТОВЫЙ КОНФИГ):
ipv4 rutracker.org curl_test_https_tls12:nfqws --dpi-desync=fake,split2 --dpi-desync-ttl=3Важна нам часть после :- nfqws - это MODE, который вы выбираете в скрипте install_easy.sh, у вас может быть и tpws.
- Строку
--dpi-desync=fake,split2 --dpi-desync-ttl=3нам необходимо вставить в опциюNFQWS_OPT_DESYNCилиNFQWS_OPT_DESYNC_QUIC.
- Теперь после найденной стратегии запускаем скрипт
./install_easy.sh, доходим до do you want to edit the options и редактируем конфиг.
- Скачиваем программу из репозитория.
- Распаковываем.
- Зайдём в папку с Zapret и уже там в
zapret-winws. - Запустим файл
preset_russia.cmd.
Warning
Изначальная конфигурация не будет работать, нужно её составить самому. В этом помогут неравнодушные люди с форумов и документация.
Тот же Zapret, но с готовыми конфигами.
- Скачиваем программу с репозитория.
- Распаковываем и запускаем
.cmdфайл в зависимости от того, что вам необходимо:
general.bat- для всех блокировокgeneral (ALT)- альтернативные вариантыgeneral (МГТС)- для провайдера МГТСdiscord.bat- для сервиса Discordservice_install- устанавливает службу в Windows
Это тоже сборка Zapret с готовыми конфигурациями.
Warning
Форум заблокирован на территории РФ, а потому зайти возможно либо с помощью VPN/Прокси, либо обходом DPI.
- Скачиваем программу, если же нет возможности зайти на форум, то я выложу архив с программой в данном репозитории.
- Распаковываем архив в удобное для нас место.
- И запустим программу файлом
.cmd:
preset_russia.cmd- обычный пресет для обхода блокировокpreset_russia_noattl.cmd- пресет с установленным TTLpreset_russia_zl.cmd- не особо понял чем отличается, но по словам автора: "Или вариант _zl если хотите настройки как в zapret launcher.".
Caution
Разработчик временно перестал поддерживать программу. Если она не работает, то дело в долгих выходах обновлений.
- Скачиваем SpoofDPI с помощью комманд:
- MacOS Intel
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s darwin-amd64 - MacOS Apple Silicon
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s darwin-arm64 - Linux amd64 (x86/x64)
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-amd64 - Linux arm
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-arm - Linux arm64
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-arm64
- MacOS Intel
- Далее в зависимости от того какая у вас оболочка терминал Bash или Zsh, редактируем файл
- Zsh -
nano ~/.zshrc - Bash -
nano ~/.bashrc
- Zsh -
Проверить какая у вас стоит оболочка, можно с помощью комманды echo $SHELL
- В конфиге оболочки вставляем строку
export PATH=$PATH:~/.spoofdpi/bin
Чтобы вводя spoofdpi у вас открывалась эта программа. Мы создали некоторую ассоциацию с ней.
-
Необходимо перезапустить терминал, а лучше перезагрузить компьютер.
-
Теперь запускаем программу (можем также добавить пару параметров)
spoofdpi -
Программа запущена, но она не будет работать, т.к. мы должны запустить браузер с параметрами прокси на loopback
google-chrome --proxy-server="http://127.0.0.1:8080"
Вместо google-chrome вводим название своего браузера.
- Скачиваем программу с официального репозитория.
Tip
Также можно скачать продвинутую версию ByeByeDPI.
- Устанавливаем и запускаем.
- Сразу не подключаемся, а заходим в настройки с помощью шестерёнки в правом верхнем углу.
- (Необязательно, т.к. сервера Google медленее (либо и их замедляют)) В графе DNS вводим
8.8.8.8вместо1.1.1.1(то есть вводим DNS Google вместо Cloudflare) - Далее выбираем пункт UI editor.
- Тут уже можно поиграться с настройками и выявить стратегию обхода блокировок.
- После всех мохинаций выходим из настроек программы и нажимаем кнопку Connect / Подключиться
Или же можно вписать параметры в консоли. Найти их можно в ссылках.
Также стоит упомянуть такой способ, как просмотр видео через IPv6. В РФ если вы используете мобильную сеть, то вы являетесь пользователем IPv6, а DPI в свою очередь не особо умеет в данную версию интернет протокола (IPv6 - Internet Protocol version 6). Важно уточнить, хоть и DPI не сильно ладит с данным протоколом, сайты заблокированные в РФ останутся таковыми.
Note
Кстати, можно упомянуть статистику использования IPv6 в разных странах (по версии Google). Мы увидим, что Россия почти впереди планеты всей с 60%. 
В данном разделе вы скорее всего найдёте решение вашей проблемы.
У GoodByeDPI большинство конфигураций пришли в негодность. Тут выходов немного:
- Собрать программу из исходного кода, дабы была возможность пользоваться новыми параметрами.
- Поискать рабочие конфигурации.
- Можно перейти на аналоги по типу: Zapret, SpoofDpi
- Ну или VPN. Тут уже ищите сами :)
Для того чтобы дать скриптам права на исполнение вводим комманду: chmod u+x "путь до скрипта"
Если нужно наделить других пользователей полномочиями запускать скрипт, то вводим следующее: chmod ugo+x "путь до скрипта"
-
Debian / Ubuntu / Debian подобные:
sudo apt-get install bash -
Arch / Arch подобные:
sudo pacman -S base base-devel -
Red Hat / Fedora / Red Hat подобные:
sudo dnf install bash -
Gentoo:
emerge --ask --verbose app-shells/bash -
NixOs:
sudo nix-env -u '*' -
OpenWrt / Keenetic:
opkg install bash
Если служба не запущена, то запускаем её этой коммандой: sudo systemctl start --now zapret.service
Для остановки: sudo systemctl stop --now zapret.service
Для отключения автозагрузки: sudo systemctl disable --now zapret.service
Для добавления в автозагрузку: sudo systemctl enable --now zapret.service
Чтобы узнать статус службы вводим: sudo systemctl status zapret.service
Если же такой службы нет, то переходим к пункту 5 и запускаем скрипт, вчитываясь в логи. Так можно найти ошибку.
Решить это почти никак, т.к. по сути программа висит в фоне и весь ваш траффик пропускает через себя, модифицируя его. Но пару действий можно предпринять:
-
Можно включить оптимизацию батареи для данного приложения
- Переходим в настройки телефона, ищем пункт Приложения, там ищем ByeDPI, нажимаем на приложение.
- Здесь есть пункт Расход батареи / Экономия батареи / Использование батареи / App battery usage
- И выбираем пункт Optimized / Оптимизированый и в таком духе.
-
Могу дать совет, не используйте приложение в фоне постоянно. Посмотрели YouTube, условно говоря, выключили.
Caution
NTC является заблокированным сайтом, как и ветка с ByeDPI на 4PDA (ТОЛЬКО VPN ИЛИ ПРОКСИ). Зайти можно либо с обходом блокировок (DPI), либо с VPN, либо с прокси.
Ссылки на готовые конфиги:
- ByeDPI - 4PDA, GitHub Issue, NTC
- GoodByeDPI - NTC скрипт для нахождения стратегии, GitHub Issue
- Zapret - GitHub Issue, NTC
- SpoofDPI - GitHub параметры
Список заблокированных сайтов позаимствовал от:
Если вы хотите поддержать автора, то поставьте ⭐ (в левом верхнем углу). Автор: 0x201 :3