О программе ByeDpi:
Локальный http/socks-прокси (по умолчанию адрес 0.0.0.0 и порт 1080, в данной сборке изменен на 127.0.0.1 и порт 18090. Это не впн/внешний прокси/, он никуда не перенаправляет сетевые запросы, лишь обрабатывает их). Кроме браузера этот прокси можно прописать в любой др. программе и на уровне системы
- Автор - hufrea (спасибо ему огромное!)
- Офиц. страница: GitHub - hufrea/byedpi: Bypass DPI · GitHub
- Обсуждение десктоп-версии: ByeDPI: обсуждение
- Обсуждение андроид-версии: ByeDPI for Android: обсуждение
О батнике B-Checker.cmd:
- Модификация батника GoodCheck от Ori GoodCheck - блокчек для GDPI, Zapret, ByeDPI (актуальная версия - в профиле)
- Система: Windows7 или новее
- Разрядность: x32/x64
- Язык: русский
Основные фичи:
- Остановка, если нашлась стратегия (аналог режима quic в блокчеке из zapret; не нужно ждать перебора всех стратегий)
- Сохранение успешной стратегии в батник (не нужно искать стратегию в логе)
- Тест на “16КБ” блок включен по умолчанию (взят из блокчека, нужны ссылки > 34КБ в чеклисте)
- Тест на блок по ip и поиск рабочих ip (взят из блокчека)
- Проверка dns на перехват и подмену
- curl-impersonate с имитацией chrome/firefox (мин. несоответствия между curl и браузером)
- Разделение стратегий по протоколам (httpS / http / udp)
- Можно использовать --ipset вместо --hostlist (настройка $ipset=yes в B-Checker.ini)
Инструкция:
1) Скачать и распаковать архив со сборкой
- B-CheckerV6.zip (4,1 МБ) - актуальная версия на основе последнего коммита
- B-CheckerV5.1.zip (2,5 МБ) - устаревшая версия на основе последнего офиц. релиза byedpi v17.3
2) Настроить подключение к локальному прокси byedpi одним из 3 способов :
Через расширение в браузере (SmartProxy/ZeroOmega и т.п.):
- Установить в браузере расширение SmartProxy
Firefox SmartProxy – скачайте это расширение для 🦊 Firefox (ru)
Chrome https://chromewebstore.google.com/detail/smartproxy/jogcnplbkgkfdakgdenhlpcfhjioidoj?hl=ru - Импортировать готовые настройки для SmartProxy: Кликнуть по иконке расширения SmartProxy → Настройки → Резервирование/восстановление → Восстановить из резервной копии → выбрать файл
SmartProxy-FullBackup.jsonиз папкиFiles
Либо вручную добавить прокси сервер тип SOCKS5, адрес 127.0.0.1, порт 18090
В SmartProxy есть 3 основных режима:
1.Напрямую (все сайты без прокси);
2.Умный прокси (прокси для сайтов из списка “Умный прокси” в настройках);
3.Всегда включен (все сайты через выбранный прокси)
Как добавить/изменить прокси-сервер:
Кликнуть по иконке расширения → Настройки → Прокси-серверы
Как добавить/исключить какой-либо домен на сайте:
Кликнуть по иконке расширения → Включить прокси для → Поставить/Снять галку
или
Кликнуть по иконке расширения → Неудачные запросы → Добавить в список правил
или
Кликнуть по иконке расширения → Настройки → Умный прокси
Плюсы: можно использовать свой список проксирования (умный прокси)
Минусы: нужно ставить расширение в каждый браузер
Через Throne:
- Скачать и распаковать архив с программой https://github.com/throneproj/Throne/releases (
Throne-*-windows*.zip- для Windows 10+ ,Throne-*-windowslegacy*.zip- для Windows 7) - Открыть Throne.exe → Вызвать Настройки → Основные настройки → Резервное копирование и восстановление → Восстановить из копии - Выбрать файл
Throne-backup.thrbackupиз папкиFilesв каталоге с B-Checker
В бэкапе настроен локальный прокси byedpi и выбрана маршрутизация “Proxy Russia Blocked” т.е. все заблокированные в Росии сайты через byedpi, остальные напрямую, и само приложение byedpi напрямую, чтобы не было зацикливания - Запустить сервер byedpi и поставить галку “Системный прокси”. Теперь все браузеры будут ходить через byedpi
Плюсы: не нужно ставить расширения в браузер или прописывать прокси в системе/ приложениях, есть маршрутизация, запуск в режиме туннеля и тп.
Минусы: нужно держать запущенной стороннюю программу
Через системный прокси:
- Нажать клавишу Win для вызова меню “Пуск”
- В поле поиска ввести “прокси”.
- Выбрать “Изменение параметров прокси-сервера” → Подключения → Настройка сети → Поставить галку “Использовать прокси сервер” → Дополнительно → Поставить галку “Один прокси сервер для всех протоколов” - > Адрес = 127.0.0.1 Порт=18090 - > ОК
Плюсы: не нужны сторонние программы и расширения
Минусы: все сетевые запросы приложений, поддерживающих прокси, пойдут через byedpi
3) Запустить ByeDpi_Console.cmd либо ByeDpi_Service.cmd и проверить в браузере нужные сайты. Если все ок, дальше можно не читать
Если стоит антивирус/фаерволл/брандмауэр:
- для curl-impersonate.exe: разрешить все исходящие запросы TCP и UDP
- для ciadpi.exe: разрешить все исходящие и входящие запросы TCP и UDP
- для браузера: разрешить исходящие запросы TCP и UDP на 127.0.0.1 и порт 18090
4) Запустить B-Checker.cmd
5) Выбрать протокол (по умолчанию tcp), браузер (по умолчанию chrome150) и чеклист (список адресов для проверки)
6) Если скрипт нашел стратегию - проверить сайт в браузере (ни в коем случае не закрывать консольное окно с byedpi!).
7) Стратегия не устроила - нажать цифру 2 и Enter. Скрипт продолжит поиск.
8) Все открылось - просто нажать Enter. Скрипт сохранит стратегию в ByeDpi_Console.cmd/ByeDpi_Service.cmd и завершит работу. Затем запустить cmd для консоли или службы - как удобнее. Стратегии, найденные чекером, не перезаписываются, а добавляются для каждого чеклиста. Т.е. одним батником запускаются стратегии для всех чеклистов сразу. При повторном подборе прежняя стратегия для чеклиста перезаписывается
Подбор стратегии для android-версии Byebyedpi:
Главное условие: андроид-устройство и пк с windows должны быть в одной сети. К примеру, подключены к одному роутеру. Если это мобильная сеть, то нужно раздать интернет с андроида на windows
Далее нужно подобрать стратегии, скопировать их из B-Checker.log и вставить их в Byebyedpi
Без рут прав файлы хостлистов или фейков использовать не выйдет
Хостлист для веб-страницы ютуба на андроиде будет выглядеть так -H:"youtube.com ggpht.com ytimg.com googleusercontent.com googleapis.com", а для видео так -H:"googlevideo.com gvt1.com"
Фейк для quic или http так -l :строка_hex_в_формате_byedpi_для_домена_из_белого_списка
Обычную строку hex можно получить в генераторе https://sageptr.github.io/mini_quic_generator/
Для перевода этой строки в формат byedpi нужно в текстовом редакторе Notepad++ переключить режим поиска на “регулярное выражение” и заменить все .. на \\x$0
Целиком стратегия для разных протоколов и хостлистов будет примерно такой:
-K u -a 1 -l :строка_hex_в_формате_byedpi -Q r -t 4 -A n `-H:"youtube.com ggpht.com ytimg.com googleusercontent.com googleapis.com" -s 1 -d 7 -A n -K t -f -1 -n 4pda.to -A t,s,c -T 1 -o -5+he -A n
Составление чеклистов:
Чеклистом считается любой файл *.txt в папке CheckLists. В нем можно указывать любые домены и ссылки
Допустим, нужно найти стратегию для сайта example.com
- Создаете в папке CheckLists файл Example.txt
- В него вписываете https:\example.com
- Запускаете B-Checker.cmd , выбираете свой чеклист Example.txt
- Сохраняете успешную стратегию и запускаете byedpi_Console.cmd
- Открываете в браузере https:\example.com
- Если сайт наполовину не грузится, вызываете лог браузера по F12 либо CTRL+SHIFT+J;
- На вкладке Сеть/Network сортируете по url либо доменам и ищете неудачные запросы [красного цвета]
- Копируете эти ссылки (или только домены), вставляете в CheckLists\Example.txt
- Удаляете файл HostLists\Example.txt (чтобы он пересоздался)
- Запускаете B-Checker.cmd с тем же чеклистом Example.txt
Примечание: ищется общая стратегия для всех адресов из чеклиста - если хотя бы один адрес из чеклиста недоступен, стратегия не найдется (т.к. если доступны все домены, кроме главной страницы, сайт не откроется; если доступна только главная страница, сайт откроется, но не будет работать).
Поэтому чеклисты лучше составлять по принципу: “1 сайт + необходимые поддомены” либо “несколько сайтов на одном CDN”
Настройка браузера:
- Если стратегии не работают, то временно отключить все расширения для прокси/впн/блокировки рекламы в “Расширениях”
- Отключить ech https://zomro.com/rus/blog/faq/610-website-access-disable-ech-and-dns-over-https
- Вернуть настройку по умолчанию для параметра kyber. Он включен в Chrome начиная с версии 124 и Firefox начиная с 123, в более ранних версиях отключен
- Отключение Kyber (включение по аналогии)
- Включение безопасного dns (DoH) к примеру, https://dns.google/dns-query или https://cloudflare-dns.com/dns-query Прим.: некоторые сайты вроде Госуслуг могут не открыться с зарубежными dns. Для них можно на время отключить DoH либо прописать рос. https://common.dot.dns.yandex.net/dns-query
Описание файлов B-Checker:
`\x32\ciadpi.exe x64\ciadpi.exe` - приложение byeDPI
ByeDpi_Console.cmd - батник, запускающий консольное окно byeDPI с параметрами по умолчанию
ByeDpi_Service.cmd - батник, устанавливающий byeDPI как службу с параметрами по умолчанию
B-remover.cmd - батник, завершающий все процессы ciadpi.exe и удаляющий все службы byedpi
B-Checker.cmd - батник для авто-подбора стратегии
B-Checker.ini - файл с настройками B-Checker.cmd
B-Checker.log - лог скрипта
ConfigGeneratorTls/Http/Udp.cmd - генератор стратегий byedpi для разных протоколов (с возможностью настроить под себя)
\CheckLists\*.txt - чеклисты (списки сайтов для проверки, можно указывать любые ссылки)
\HostLists\*.txt - хостлисты (списки доменов для byedpi)
\IpSets\*.txt - ipsets (списки ip для byedpi) Источники: https://github.com/lord-alfred/ipranges https://github.com/123jjck/cdn-ip-ranges https://github.com/you-oops-dev/ipranges
\Configs\Configs*.txt - файлы с стратегиями для Tls/Http/Udp
\Files\curl\ - папка утилиты https://github.com/lexiforest/curl-impersonate v1.5.1х32 (форк curl v8.15)
\Files\fakes\ - папка с пейлоадами
\Files\dd\dd.exe - [утилита для копирования и конвертации файлов](http://www.chrysocome.net/downloads/dd-0.6beta3.zip), нужна для FakeGenerator
\Files\netcat\ncat.exe - [сетевая утилита](https://nmap.org/dist/nmap-7.991-setup.exe), нужна для FakeGenerator
\Files\licenses\ - лицензии утилит
\Files\DnsChecker.cmd - батник, проверяющий ответы dns-серверов из файла DNS.txt
\Files\DohChecker.cmd - батник, проверяющий ответы doh-серверов из файла DoH.txt
\Files\FakeSniFinder.cmd - батник, ищущий белый sni для asn
\Files\FakeGenerator.cmd - батник для генерации пейлоадов
\Files\AsnSni.csv - таблица соответствия asn/sni (на основе https://cheburcheck.ru/whitelist/domains.csv)
\Files\IpCache.ini - файл с рабочими ip для доменов
\Files\DNS.txt - файл со списком dns-серверов
\Files\DoH.txt - файл со списком doh-серверов
\Files\SmartProxy-FullBackup.json - файл с готовыми настройками расширения SmartProxy. В них уже задан и сам прокси и мн. популярные сайты
Как скачать видео через ByeDpi:
- Установить бесплатный менеджер закачек https://github.com/mhogomchungu/media-downloader
- Если byedpi не задан как системный прокси, то в настройках media-downloader прописать прокси
socks5://127.0.0.1:18090
P.S. Полезные ссылки:
- Оргинальные сборки byedpi от hufrea для windows/linux
- ByeDPIManager - gui от romanvht для запуска ByeDPI+ProxiFyre на windows (с подбором параметров)
- Byebyedpi - версия для Android от romanvht (с подбором параметров)
- https://byebyedpi.xyz/ - справка по Byebyedpi