Goodbye DPI — обход замедления YouTube (инструкция)
-

Goodbye DPI — это небольшая утилита для Windows, которая помогает обойти Deep Packet Inspection (DPI) и другие методы ограничения YouTube, применяемые провайдерами в России.
Она работает на уровне сетевого драйвера и «маскирует» трафик к YouTube, чтобы провайдер не мог его распознать и замедлить.
Где скачать Goodbye DPI
Официальный репозиторий и релизы находятся на GitHub:
Страница релизов (актуальные версии):
https://github.com/ValdikSS/GoodbyeDPI/releasesНа момент написания актуальна версия
0.2.3rc3(последний релиз-кандидат).или скачайте по ссылкам:
Как установить и запустить
-
Перейдите на страницу релизов и скачайте архив с последней версией, например:
goodbyedpi-0.2.3rc3.zip -
Распакуйте архив в любую папку (например,
C:\GoodbyeDPI). -
Запустите от имени администратора один из готовых скриптов для YouTube:
0_russia_update_blacklist_file- обновление черного списка, запускаем вначале1_russia_blacklist— для обычного запуска (проверено работает в том числе и для ytube)1_russia_blacklist_YOUTUBE.cmd— для обычного запуска (возможно не заработает, на текущий момент работоспособность не подтверждена).service_install_russia_blacklist_YOUTUBE_ALT.cmd— если нужно запустить как службу (работает в фоне).
-
После запуска скрипта появится чёрное окно — его нельзя закрывать, иначе YouTube снова начнёт тормозить.
-
Откройте браузер и проверьте YouTube — видео должны идти без лагов и ограничений по скорости.
Если YouTube не заработал
Если после запуска YouTube всё равно не работает или тормозит:
- Убедитесь, что используется последняя версия (0.2.3rc3 или новее).
0_russia_update_blacklist_file- обновление черного списка, запускаем перед запуском других скриптов- Попробуйте запустить другой скрипт, например
1_russia_blacklist_YOUTUBE_ALT.cmdили1_russia_blacklist - Некоторым помогает изменение параметров в скрипте (например, замена
-9на-6или-5) — подробности в инструкции по обходу YouTube.
Полезные ссылки
-
Релизы Goodbye DPI (GitHub):
https://github.com/ValdikSS/GoodbyeDPI/releases -
Инструкция по обходу YouTube (на GitHub):
https://github.com/ValdikSS/GoodbyeDPI/issues/378 -
Альтернативный UI (GoodbyeDPI UI):
https://github.com/Storik4pro/goodbyeDPI-UI — графический интерфейс для более удобного управления.
Важно
- Goodbye DPI работает только на Windows (не подходит для Linux/Android напрямую).
- Антивирус может ругаться на
goodbyedpi.exe— его нужно добавить в исключения. - После перезагрузки компьютера скрипт нужно запускать заново (или настроить автозапуск).
Если нужна помощь с конкретным провайдером или настройкой — пишите в ответ, помогу подобрать нужный режим.
-
-
Описание библиотеки на русском
Быстрый старт
- Для России: Загрузите последнюю версию со страницы Releases, распакуйте файл и запустите скрипт 1_russia_blacklist_dnsredir.cmd.
- Для других стран: Загрузите последнюю версию со страницы Releases, распакуйте файл и запустите 2_any_country_dnsredir.cmd.
Эти скрипты запускают GoodbyeDPI в рекомендуемом режиме с перенаправлением DNS-резолвера на Yandex DNS на нестандартный порт (чтобы предотвратить отравление DNS). Если это сработает — поздравляем! Вы можете использовать его как есть или настроить дополнительно.
Как использовать
Загрузите последнюю версию со страницы Releases и запустите.
Поддерживаемые параметры
Чтобы получить информацию о возможностях вашей версии программы, используйте параметр -h (–help) при запуске.
Использование: goodbyedpi.exe [ОПЦИЯ...] -p блокировать пассивный DPI -q блокировать QUIC/HTTP3 -r заменить Host на hoSt -s убрать пробел между заголовком host и его значением -m смешивать регистр заголовка Host (test.com -> tEsT.cOm) -f <значение> установить фрагментацию HTTP на значение -k <значение> включить фрагментацию HTTP persistent (keep-alive) и установить на значение -n не ждать первого ACK сегмента при включённой опции -k -e <значение> установить фрагментацию HTTPS на значение -a дополнительный пробел между Method и Request-URI (включает -s, может сломать сайты) -w пытаться найти и разбирать HTTP-трафик на всех обработанных портах (не только на порту 80) --port <значение> дополнительный TCP-порт для выполнения фрагментации (и HTTP-трюки с -w) --ip-id <значение> обрабатывать дополнительный IP ID (десятичный, отбрасывать редиректы и TCP RST с этим ID). Эту опцию можно использовать несколько раз. --dns-addr <значение> перенаправить UDP DNS-запросы на указанный IP-адрес (экспериментально) --dns-port <значение> перенаправить UDP DNS-запросы на указанный порт (по умолчанию 53) --dnsv6-addr <значение> перенаправить UDPv6 DNS-запросы на указанный IPv6-адрес (экспериментально) --dnsv6-port <значение> перенаправить UDPv6 DNS-запросы на указанный порт (по умолчанию 53) --dns-verb выводить подробные сообщения перенаправления DNS --blacklist <txtfile> применять трюки обхода только к именам хостов и поддоменам из указанного текстового файла (HTTP Host/TLS SNI). Эту опцию можно использовать несколько раз. --allow-no-sni выполнять обход, если TLS SNI не может быть обнаружен при --blacklist включённом. --frag-by-sni если SNI обнаружен в TLS-пакете, фрагментировать пакет прямо перед значением SNI. --set-ttl <значение> активировать режим поддельного запроса и отправить с указанным значением TTL. ОПАСНО! Может сломать веб-сайты неожиданными способами. Используйте с осторожностью (или --blacklist). --auto-ttl [a1-a2-m] активировать режим поддельного запроса, автоматически определять TTL и уменьшать его на основе расстояния. Если расстояние меньше a2, TTL уменьшается на a2. Если оно больше, используется шкала (a1; a2) с расстоянием как вес. Если итоговый TTL больше m(ax), установить его на m. По умолчанию (если установлено): --auto-ttl 1-4-10. Также устанавливает --min-ttl 3. ОПАСНО! Может сломать веб-сайты неожиданными способами. Используйте с осторожностью (или --blacklist). --min-ttl <значение> минимальное расстояние TTL (128/64 - TTL) для отправки поддельного запроса в режимах --set-ttl и --auto-ttl. --wrong-chksum активировать режим поддельного запроса и отправить с неправильной контрольной суммой TCP. Может не работать в ВМ или с некоторыми маршрутизаторами, но безопаснее, чем set-ttl. --wrong-seq активировать режим поддельного запроса и отправить с TCP SEQ/ACK в прошлое. --native-frag фрагментировать (разделить) пакеты путём отправки их меньшими пакетами, без уменьшения размера окна. Работает быстрее (не замедляет соединение) и лучше. --reverse-frag фрагментировать (разделить) пакеты как --native-frag, но отправить их в обратном порядке. Работает с веб-сайтами, которые не могут обработать фрагментированный HTTPS TLS ClientHello (потому что они получают TCP поток "объединённым"). --fake-from-hex <значение> загрузить поддельные пакеты для режима поддельного запроса из HEX-значений (как 1234abcDEF). Эту опцию можно использовать несколько раз, в этом случае каждый поддельный пакет будет отправлен при каждом запросе в порядке аргументов командной строки. --fake-with-sni <значение> генерировать поддельные пакеты для режима поддельного запроса с заданным SNI доменом. Пакеты имитируют Mozilla Firefox 130 TLS ClientHello пакет (со случайно сгенерированным поддельным SessionID, key shares и ECH grease). Может быть использовано несколько раз для нескольких поддельных пакетов. --fake-gen <значение> генерировать случайно заполненные поддельные пакеты для режима поддельного запроса (до 30). --fake-resend <значение> отправлять каждый поддельный пакет указанное количество раз. По умолчанию: 1 (отправить каждый пакет один раз). --max-payload [значение] пакеты с полезной нагрузкой TCP более [значение] не будут обработаны. Используйте эту опцию для уменьшения использования CPU путём пропуска большого количества данных (например, передача файлов) в уже установленных сессиях. Может пропустить некоторые большие HTTP-запросы из обработки. По умолчанию (если установлено): --max-payload 1200. УСТАРЕВШИЕ наборы режимов: -1 -p -r -s -f 2 -k 2 -n -e 2 (наиболее совместимый режим) -2 -p -r -s -f 2 -k 2 -n -e 40 (лучшая скорость для HTTPS с сохранением совместимости) -3 -p -r -s -e 40 (лучшая скорость для HTTP и HTTPS) -4 -p -r -s (наилучшая скорость) Современные наборы режимов (более стабильны, более совместимы, быстрее): -5 -f 2 -e 2 --auto-ttl --reverse-frag --max-payload -6 -f 2 -e 2 --wrong-seq --reverse-frag --max-payload -7 -f 2 -e 2 --wrong-chksum --reverse-frag --max-payload -8 -f 2 -e 2 --wrong-seq --wrong-chksum --reverse-frag --max-payload -9 -f 2 -e 2 --wrong-seq --wrong-chksum --reverse-frag --max-payload -q (это режим по умолчанию) Примечание: комбинация --wrong-seq и --wrong-chksum генерирует два разных поддельных пакета.Как проверить работоспособность
Чтобы проверить, может ли DPI вашего провайдера быть обойден, сначала убедитесь, что ваш провайдер не отравляет DNS-ответы, включив опцию “Secure DNS (DNS over HTTPS)” в вашем браузере.
- Chrome: Настройки → Конфиденциальность и безопасность → Использовать защищённый DNS → С провайдером: NextDNS
- Firefox: Настройки → Сетевые параметры → Включить DNS over HTTPS → Использовать провайдера: NextDNS
Затем запустите:
goodbyedpi.exeисполняемый файл без каких-либо опций. Если это сработает — поздравляем! Вы можете использовать его как есть или настроить дополнительно, например используя опцию
--blacklistесли список заблокированных веб-сайтов известен и доступен для вашей страны.
Если ваш провайдер перехватывает DNS-запросы, вы можете использовать
--dns-addrдля открытого DNS-резолвера, работающего на нестандартном порту (такого как Yandex DNS
77.88.8.8:1253) или настроить DNS over HTTPS/TLS используя сторонние приложения.
Проверьте .cmd скрипты и модифицируйте их согласно вашим предпочтениям и условиям сети.
Как это работает
Пассивный DPI
Большинство пассивных DPI отправляют HTTP 302 редирект при попытке доступа к заблокированному веб-сайту по HTTP и TCP Reset в случае HTTPS, быстрее, чем целевой веб-сайт. Пакеты, отправленные DPI, обычно имеют поле IP Identification, равное
0x0000или
0x0001, как видно на примере российских провайдеров. Эти пакеты, если они перенаправляют вас на другой веб-сайт (страница цензуры), блокируются GoodbyeDPI.
Активный DPI
Активный DPI сложнее обманывать. В настоящее время программное обеспечение использует 7 методов для обхода активного DPI:
- Фрагментация на уровне TCP для первого пакета данных
- Фрагментация на уровне TCP для постоянных (keep-alive) HTTP сессий
- Замена заголовка
наHosthoSt - Удаление пробела между именем заголовка и значением в заголовке
Host - Добавление дополнительного пробела между HTTP методом (GET, POST и т.д.) и URI
- Смешивание регистра значения заголовка Host
- Отправка поддельных HTTP/HTTPS пакетов с низким значением Time-To-Live, неправильной контрольной суммой или неправильными номерами TCP Sequence/Acknowledgement для обмана DPI и предотвращения их доставки на целевой сервер
Эти методы не должны сломать какой-либо веб-сайт, так как они полностью совместимы со стандартами TCP и HTTP, но этого достаточно, чтобы предотвратить классификацию данных DPI и обойти цензуру. Дополнительный пробел может сломать некоторые веб-сайты, хотя это допустимо спецификацией HTTP/1.1 (смотрите раздел 19.3 Tolerant Applications).
Программа загружает драйвер WinDivert, который использует Windows Filtering Platform для установки фильтров и перенаправления пакетов в пространство пользователя. Она работает столько, сколько видно консольное окно, и завершает работу при его закрытии.
Как собрать из исходного кода
Этот проект может быть собран с использованием GNU Make и mingw. Единственной зависимостью является WinDivert.
Для сборки x86 exe запустите:
make CPREFIX=i686-w64-mingw32- WINDIVERTHEADERS=/path/to/windivert/include WINDIVERTLIBS=/path/to/windivert/x86И для x86_64:
make CPREFIX=x86_64-w64-mingw32- BIT64=1 WINDIVERTHEADERS=/path/to/windivert/include WINDIVERTLIBS=/path/to/windivert/amd64Как установить как Windows Service
Проверьте примеры в скриптах:
service_install_russia_blacklist.cmd,
service_install_russia_blacklist_dnsredir.cmdи
service_remove.cmd.
Модифицируйте их согласно вашим собственным нуждам.
Известные проблемы
- Ужасно устаревшие установки Windows 7 не могут загрузить драйвер WinDivert из-за отсутствия поддержки цифровых подписей SHA256. Установите KB3033929 x86/x64, или лучше обновите всю систему с помощью Windows Update.
- Сетевые карты Intel/Qualcomm Killer:
в Killer Control Center несовместимы с GoodbyeDPI, отключите эту опцию.Advanced Stream Detect - Торговое программное обеспечение QUIK может вмешиваться в работу GoodbyeDPI. Сначала запустите QUIK, затем GoodbyeDPI.
- Некоторые SSL/TLS стеки не могут обработать фрагментированные ClientHello пакеты, и HTTPS веб-сайты не откроются. Баг: #4, #64. Проблемы с фрагментацией исправлены в v0.1.7.
- Антивирус ESET несовместим с драйвером WinDivert #91. Это, вероятно, баг антивируса, а не WinDivert.
Похожие проекты
- zapret от @bol-van (для MacOS, Linux и Windows)
- Green Tunnel от @SadeghHayeri (для MacOS, Linux и Windows)
- DPI Tunnel CLI от @zhenyolka (для Linux и маршрутизаторов)
- DPI Tunnel for Android от @zhenyolka (для Android)
- PowerTunnel от @krlvm (для Windows, MacOS и Linux)
- PowerTunnel for Android от @krlvm (для Android)
- SpoofDPI от @xvzc (для macOS и Linux)
- SpoofDPI-Platform от @r3pr3ss10n (для Android, macOS, Windows)
- GhosTCP от @macronut (для Windows)
- ByeDPI для Linux/Windows + ByeDPIAndroid / ByeByeDPI для Android (без root)
- youtubeUnblock от @Waujito (для OpenWRT/Entware маршрутизаторов и Linux)
-
ByeDPI для Android — аналог для мобильных устройств
Для пользователей Android есть отличная альтернатива Goodbye DPI — ByeDPIAndroid, которая работает по аналогичному принципу на мобильных устройствах.
ByeDPI для Android — это приложение для Android, которое запускает локальный VPN-сервис для обхода DPI (Deep Packet Inspection) и блокировок по цензуре. Приложение запускает SOCKS5 прокси ByeDPI и перенаправляет через него весь трафик устройства.
Ссылки для скачивания:
Основные характеристики
- Не требует прав администратора (root) — все функции работают без root-доступа
- Не отправляет данные на серверы — весь трафик обрабатывается локально на устройстве
- Не шифрует и не скрывает IP — приложение использует VPN-режим Android для перенаправления трафика, но не отправляет никуда данные
- На основе ByeDPI — использует ту же технологию, что и версия для Windows
Установка
- Скачайте приложение со страницы релизов: https://github.com/dovecoteescapee/ByeDPIAndroid/releases
- Установите APK-файл на Android-устройство
- Откройте приложение и запустите сервис
- При необходимости измените настройки
Альтернативно через Obtainium:
- Установите приложение Obtainium
- Добавьте приложение по URL:
https://github.com/dovecoteescapee/ByeDPIAndroid
Интеграция с AdGuard
Можно использовать ByeDPIAndroid вместе с AdGuard:
- Запустите ByeDPI в режиме прокси
- Добавьте ByeDPI в исключения AdGuard
- В настройках AdGuard укажите прокси (тип: SOCKS5, хост: 127.0.0.1, порт: 1080)
Часто задаваемые вопросы
Q: Это VPN?
A: Нет. Приложение использует не отправляет данные на удаленный сервер и не шифрует трафик.Q: Требуются ли права администратора?
A: Нет. Все функции работают без root-доступа.Q: Собирает ли данные?
A: Нет. Весь трафик обрабатывается локально на устройстве.Полезные ссылки
- Официальный репозиторий: https://github.com/dovecoteescapee/ByeDPIAndroid
- Страница релизов: https://github.com/dovecoteescapee/ByeDPIAndroid/releases
- Оригинальный ByeDPI (Windows): https://github.com/ValdikSS/GoodbyeDPI
- Обсуждения: https://github.com/dovecoteescapee/ByeDPIAndroid/discussions
Спасибо разработчикам за отличный проект!

-
декабрь 2025 года, скрипт работает в windows, хотя видеопоток грузит нестабильно, сайты открываются быстро.
сначала запскаю 0_russia_update_blacklist_file
1_russia_blacklist
ютуб работает -
A Aladdin удалил эту тему в
-
K kirilljsx переместил эту тему из Программы в
-
A Aladdin переместил эту тему из Программы в
-
A Aladdin восстановил эту тему в
-
A Aladdin переместил эту тему из Программы закрытый доступ в
-
A Aladdin переместил эту тему из Программы в
-
A Aladdin переместил эту тему из Программы закрытый доступ в
© 2024 - 2026 ExLends, Inc. Все права защищены.