Рубрики
Интернет

Настройка ByeDPI для обхода белых списков: избавляемся от заглушек и блокировок!

Контекст: ByeDPI — это локальный SOCKS5-прокси, который работает на уровне TCP-сессий и манипулирует пакетами так, чтобы обмануть DPI-систему провайдера.

Как это работает?

Провайдеры используют Deep Packet Inspection (DPI) — оборудование, которое анализирует содержимое пакетов в реальном времени. Когда вы открываете сайт из реестра запрещённых (или наоборот из белого списка), DPI перехватывает первый пакет (ClientHello в TLS) и блокирует соединение.

ByeDPI обходит это несколькими способами:

  • Фрагментация — разбивает первый пакет на части, так что DPI не успевает собрать полный ClientHello
  • Десинхронизация — вставляет «мусорные» или фейковые пакеты с некорректным TTL, которые до DPI не доходят, но путают его логику
  • Изменение параметров TCP — манипуляции с Window Size, OOB-данными и другими флагами

Установка

Windows

  1. Скачайте последний релиз с GitHub: ciadpi (Windows-билд ByeDPI)
  2. Распакуйте в удобную папку, например C:\byedpi\
  3. Запустите через командную строку (не двойным кликом — нужны аргументы)
ciadpi.exe --port 1080 --desync-frag --tlsrec 1+s

Linux

git clone https://github.com/hufrea/byedpi.git
cd byedpi
make
./ciadpi --port 1080

Android

Приложение ByeDPI for Android (есть на GitHub как APK) — работает как локальный VPN-интерфейс, не требует root.

Параметры: что реально работает и почему?

Это самая важная часть. Универсального рецепта нет — всё зависит от вашего провайдера и его DPI-оборудования. Но есть логика подбора.

Базовые флаги, с которых стоит начать

ciadpi --port 1080 --desync-frag --tlsrec 1+s --ip-opt -
ФлагЧто делаетКогда помогает
--desync-fragФрагментирует TCP на уровне приложенияБольшинство провайдеров с базовым DPI
--tlsrec 1+sРазбивает TLS-запись по байтамТСПУ (Россия), сложные DPI
--ip-opt -Добавляет IP Options в пакетОборудование Эриксон/Cisco
--fake-sniОтправляет фейковый SNI в первом пакетеБлокировки по SNI
--ttl 5Устанавливает TTL для фейковых пакетовДесинхронизация через TTL-expiry

Продвинутая стратегия подбора

Шаг 1. Сначала проверьте, работает ли простая фрагментация:

ciadpi --port 1080 --split 1+s

Если сайт открылся — у вашего провайдера слабый DPI, достаточно минимальных настроек.

Шаг 2. Если нет — добавляем десинхронизацию:

ciadpi --port 1080 --desync-frag --fake-data --ttl 8

Шаг 3. Для провайдеров с ТСПУ (типичная ситуация для России):

ciadpi --port 1080 --tlsrec 1+s --desync-frag --oob 1 --disorder 1

Шаг 4. Если блокируется именно по SNI (YouTube, Discord):

ciadpi --port 1080 --tlsrec 1+s --split 1 --disorder

Как направить трафик через ByeDPI?

ByeDPI сам по себе — только прокси на 127.0.0.1:1080. Его нужно использовать совместно с другим инструментом.

Вариант 1: Системный прокси (Windows)

Параметры → Сеть → Прокси → Ручная настройка:

  • Хост: 127.0.0.1
  • Порт: 1080
  • Тип: SOCKS5

Вариант 2: Proxifier или Netch

Удобнее, так как можно настроить правила — только заблокированные домены идут через прокси, остальное — напрямую.

Вариант 3: v2ray/sing-box как frontend

{
  "outbounds": [{
    "type": "socks",
    "server": "127.0.0.1",
    "server_port": 1080
  }]
}

Так можно использовать полноценные правила маршрутизации по доменным спискам.

Вариант 4: На роутере (OpenWrt)

Через redsocks перенаправляем трафик нужных хостов в SOCKS5 ByeDPI. Это элегантно — весь домашний трафик обходит блокировки без настройки на каждом устройстве.

Типичные проблемы и их решение

Сайт открывается, но очень медленно Причина: слишком агрессивная фрагментация. Уменьшите --split или уберите --disorder.

Работает в браузере, но не в приложении Приложение, вероятно, не поддерживает SOCKS5. Используйте Proxifier или Netch для перехвата трафика на уровне процессов.

Перестало работать после обновления провайдера DPI-системы обновляются. Нужно менять стратегию — попробуйте добавить --tlsrec или изменить точку разбивки.

YouTube работает, а Discord нет (или наоборот) Разные сервисы могут блокироваться разными методами. Создайте два профиля запуска с разными параметрами и используйте v2ray/sing-box для маршрутизации по домену.

Практический совет по отладке

Лучший способ понять, что происходит — использовать --log-level debug и смотреть вывод при попытке открыть заблокированный сайт. Также полезно параллельно запустить Wireshark и посмотреть, как выглядят пакеты — видно, дошёл ли ClientHello до сервера или был сброшен.

Сообщество в Telegram (поиск по «ByeDPI» или «обход блокировок DPI») — актуальный источник рабочих конфигов под конкретных провайдеров, так как там люди делятся опытом в реальном времени.

Важный момент про белые списки

Если провайдер использует белый список (пропускает только то, что явно разрешено, а остальное блокирует) — ByeDPI здесь не поможет напрямую, так как это не DPI-блокировка, а firewall-уровень. В таком случае нужен либо VPN через разрешённый порт (443, 80), либо туннелирование трафика через разрешённый хост (CDN-проксирование через Cloudflare Workers, например).

ByeDPI эффективен именно против DPI-блокировок по чёрным спискам — когда трафик технически проходит, но оборудование провайдера его режет по содержимому.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *