Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

0x201/DPI

Repository files navigation

Как обойти DPI

В данном гайде я расскажу как исправить проблему зависающего YouTube и заблокированных сайтов с помощью различных программ обхода блокировок DPI (Deep Packet Inspection / Глубокое исследование пакетов).

Warning

В работу DPI погружать не буду, а сразу перейду к делу. Если есть желание узнать об этой технологии, вам сюда, или туда, или here.

GoodByeDPI (Windows)

  1. Скачайте архив с GoodByeDPI

  2. Распаковываем.

  3. Заходим в папку с программой и редактируем файл:

    • Если вам нужен 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.

  1. После строчки goodbyedpi.exe вместо -9 вставим цифру в соответствии от вашего провайдера.
  2. Ну а после --fake-from-hex всталяем рандомный hex, с помощью hex генератора. В графе How many digits? вводим 120 и более, а после нажимаем Generate Hex, копируем и вставляем в файл.
  3. Сохраняем и выходим.
  4. И запускаем нужный нам скрипт.

Zapret для YouTube (Linux / Роутеры)

  1. Необходимо скачать программу и необходимые компоненты. Сделаем мы это с помощью Git.

Установка на Linux:

  • Debian / Ubuntu / Debian подобные: sudo apt-get install git curl ip6tables ipset iptables

  • Либо для Ubuntu: add-apt-repository ppa:git-core/ppa sudo 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
    
  • OpenWrt / Keenetic:

    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 # Если директории нет
    
  1. Клонируем архив с программой git clone https://github.com/bol-van/zapret /opt/zapret

  2. (OpenWRT/Keenetic пропускаем логин в рут) Переходим в папку с Zapret из под рута su - Вводим пароль root`а cd /opt/zapret

  3. Далее запускаем скрипты установки всех нужных компонентов ./install_bin.sh ./install_prereq.sh

Note

Если нужна разблокировка других сервисов, то смотрим на этот пункт.

  1. Запускаем скрипт установки службы ./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 - Рекомендую оставить по умолчанию
  1. Далее вставим ссылки из файла blacklist.txt В файл zapret-hosts-user.txt:

nano /opt/zapret/ipser/zapret-hosts-user.txt Сохраняемся и выходим.

  1. (Если хотите 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

Желательно перезагрузить компьютер или же перезапустить браузер.

Zapret для всех блокировок

  1. Запускаем скрипт для выявления стратегии обхода блокировок: ./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.
  1. Теперь после найденной стратегии запускаем скрипт ./install_easy.sh, доходим до do you want to edit the options и редактируем конфиг.

Zapret (Windows)

  1. Скачиваем программу из репозитория.
  2. Распаковываем.
  3. Зайдём в папку с Zapret и уже там в zapret-winws.
  4. Запустим файл preset_russia.cmd.

Warning

Изначальная конфигурация не будет работать, нужно её составить самому. В этом помогут неравнодушные люди с форумов и документация.

Zapret, но круче (Windows)

Тот же Zapret, но с готовыми конфигами.

  1. Скачиваем программу с репозитория.
  2. Распаковываем и запускаем .cmd файл в зависимости от того, что вам необходимо:
  • general.bat - для всех блокировок
  • general (ALT) - альтернативные варианты
  • general (МГТС) - для провайдера МГТС
  • discord.bat - для сервиса Discord
  • service_install - устанавливает службу в Windows

Zapret не менее крутой (Windows)

Это тоже сборка Zapret с готовыми конфигурациями.

Warning

Форум заблокирован на территории РФ, а потому зайти возможно либо с помощью VPN/Прокси, либо обходом DPI.

  1. Скачиваем программу, если же нет возможности зайти на форум, то я выложу архив с программой в данном репозитории.
  2. Распаковываем архив в удобное для нас место.
  3. И запустим программу файлом .cmd:
  • preset_russia.cmd - обычный пресет для обхода блокировок
  • preset_russia_noattl.cmd - пресет с установленным TTL
  • preset_russia_zl.cmd - не особо понял чем отличается, но по словам автора: "Или вариант _zl если хотите настройки как в zapret launcher.".

SpoofDPI (Linux / MacOS)

Caution

Разработчик временно перестал поддерживать программу. Если она не работает, то дело в долгих выходах обновлений.

  1. Скачиваем 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
  2. Далее в зависимости от того какая у вас оболочка терминал Bash или Zsh, редактируем файл
    • Zsh - nano ~/.zshrc
    • Bash - nano ~/.bashrc

Проверить какая у вас стоит оболочка, можно с помощью комманды echo $SHELL

  1. В конфиге оболочки вставляем строку export PATH=$PATH:~/.spoofdpi/bin

Чтобы вводя spoofdpi у вас открывалась эта программа. Мы создали некоторую ассоциацию с ней.

  1. Необходимо перезапустить терминал, а лучше перезагрузить компьютер.

  2. Теперь запускаем программу (можем также добавить пару параметров) spoofdpi

  3. Программа запущена, но она не будет работать, т.к. мы должны запустить браузер с параметрами прокси на loopback google-chrome --proxy-server="http://127.0.0.1:8080"

Вместо google-chrome вводим название своего браузера.

ByeDPI (Android)

  1. Скачиваем программу с официального репозитория.

Tip

Также можно скачать продвинутую версию ByeByeDPI.

  1. Устанавливаем и запускаем.
  2. Сразу не подключаемся, а заходим в настройки с помощью шестерёнки в правом верхнем углу.
  3. (Необязательно, т.к. сервера Google медленее (либо и их замедляют)) В графе DNS вводим 8.8.8.8 вместо 1.1.1.1 (то есть вводим DNS Google вместо Cloudflare)
  4. Далее выбираем пункт UI editor.
  5. Тут уже можно поиграться с настройками и выявить стратегию обхода блокировок.
  6. После всех мохинаций выходим из настроек программы и нажимаем кнопку Connect / Подключиться

Или же можно вписать параметры в консоли. Найти их можно в ссылках.

YouTube через IPv6

Также стоит упомянуть такой способ, как просмотр видео через IPv6. В РФ если вы используете мобильную сеть, то вы являетесь пользователем IPv6, а DPI в свою очередь не особо умеет в данную версию интернет протокола (IPv6 - Internet Protocol version 6). Важно уточнить, хоть и DPI не сильно ладит с данным протоколом, сайты заблокированные в РФ останутся таковыми.

Note

Кстати, можно упомянуть статистику использования IPv6 в разных странах (по версии Google). Мы увидим, что Россия почти впереди планеты всей с 60%.

Решение возникших проблем

В данном разделе вы скорее всего найдёте решение вашей проблемы.

GoodByeDPI не работает

У GoodByeDPI большинство конфигураций пришли в негодность. Тут выходов немного:

Скрипты Zapret не являются исполняемыми

Для того чтобы дать скриптам права на исполнение вводим комманду: chmod u+x "путь до скрипта"

Если нужно наделить других пользователей полномочиями запускать скрипт, то вводим следующее: chmod ugo+x "путь до скрипта"

Нет Bash

  • 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

Zapret не запущен

Если служба не запущена, то запускаем её этой коммандой: 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 жрет много батареи

Решить это почти никак, т.к. по сути программа висит в фоне и весь ваш траффик пропускает через себя, модифицируя его. Но пару действий можно предпринять:

  • Можно включить оптимизацию батареи для данного приложения

    1. Переходим в настройки телефона, ищем пункт Приложения, там ищем ByeDPI, нажимаем на приложение.
    2. Здесь есть пункт Расход батареи / Экономия батареи / Использование батареи / App battery usage
    3. И выбираем пункт Optimized / Оптимизированый и в таком духе.
  • Могу дать совет, не используйте приложение в фоне постоянно. Посмотрели YouTube, условно говоря, выключили.

Источники / Готовые конфиги

Caution

NTC является заблокированным сайтом, как и ветка с ByeDPI на 4PDA (ТОЛЬКО VPN ИЛИ ПРОКСИ). Зайти можно либо с обходом блокировок (DPI), либо с VPN, либо с прокси.

Ссылки на готовые конфиги:

Список заблокированных сайтов позаимствовал от:

Поддержка

Если вы хотите поддержать автора, то поставьте ⭐ (в левом верхнем углу). Автор: 0x201 :3

About

Обход блокировок(youtube, discord) и DPI

Topics

Resources

Stars

Watchers

Forks

AltStyle によって変換されたページ (->オリジナル) /