Пилил для себя инструмент обхода DPI, в итоге вырос в отдельный проект. Уже какое-то время тестирую в небольшом комьюнити — работает, люди пользуются.
Решил выложить сюда, может кому ещё пригодится.
Что это: Пакетный процессор на базе netfilter queue. Работает на Linux — десктоп, сервер, роутер (OpenWRT, Entware, Keenetic, Merlin).
В чем прикол:
-
Discovery — автоматический подбор рабочей конфигурации. Вводите домен, жмете кнопку, B4 сам перебирает (ну, как сможет) стратегии и находит что работает у вашего провайдера. Не нужно гадать какие параметры ставить.
-
Веб-морда — всё настраивается через браузер. Сеты конфигураций, мониторинг соединений в реальном времени, добавление доменов прямо из потока трафика. Применение настроек без перезапусков, вот это вот все.
-
Мониторинг - так как веб-морда, выше сказано, б4 отслеживает и позволяет в UI показывать сопутствующие соединения к сервисам. О чень удобно для дебага в моменте отлова DPI.
-
Много стратегий фрагментации — TCP, IP, TLS Record Split, OOB, Disorder, Overlap, Combo и т.д. Можно комбинировать с фейкингом, desync-атаками, манипуляцией TCP window.
-
GeoSite/GeoIP — поддержка v2ray-формата, включая RUNETFREEDOM. Одной категорией
youtubeилиru-blockedпокрывается тысячи доменов и айпи адресов. -
DNS Redirect — перенаправление DNS-запросов на альтернативные серверы для обхода DNS poisoning.
-
Ну и все такое остальное вкусное из DPI.
Установка
Одна команда:
wget -O ~/b4install.sh https://raw.githubusercontent.com/DanielLavrushin/b4/main/install.sh && chmod +x ~/b4install.sh && ~/b4install.sh
После установки веб-интерфейс доступен на http://ip-устройства:7000
Быстрый старт: базовая настройка для РФ
Для тех кто хочет быстро проверить — вот минимальный рабочий конфиг:
1. Качаем геоданные
Идём в Settings → Geodat Settings, выбираем источник RUNET Freedom (рекомендуется для РФ, там актуальные списки блокировок), жмём Download Files.
2. Создаём сет
Settings → Sets → Create New Set
- Название: например “RU Blocked”
- Вкладка Targets:
- Bypass GeoSite Categories: добавляем
ru-blocked - Bypass GeoIP Categories: тоже
ru-blocked
- Bypass GeoSite Categories: добавляем
- Вкладка Fragmentation:
- Strategy: выбираем
Combo
- Strategy: выбираем
Сохраняем.
3. Проверяем
Открываем какой-нибудь заблокированный сайт. Если не работает — пробуем Discovery для конкретного домена, он подберёт оптимальные параметры под вашего провайдера.
Мониторинг
В разделе Domains видно все соединения в реальном времени. Если домен попал под правила сета — рядом будет бейдж с названием. Можно кликнуть на любой домен или IP и добавить его в нужный сет прямо из потока.
Ссылки
- GitHub: GitHub - DanielLavrushin/b4: Network packet processor with a friendly UI for circumventing Deep Packet Inspection (DPI) systems.
- Telegram: Telegram: View @byebyebigbro — тут обсуждаем, помогаем с настройкой, собираем фидбек. Уже есть люди с разных провайдеров, которые подтвердили что работает
- Документация: пока в процессе, основное есть в репо
Написан на Go, собирается под кучу архитектур (amd64, arm64, armv7, mips и т.д.).
Буду рад фидбеку, багрепортам, идеям. Если что-то не работает или нужна помощь с настройкой — пишите сюда или в телегу, разберёмся.
PS
важно отметить возможны конфликты с предустановленными другими подобными шаталками типа youtubeUnblock - для полноценного теста мой совет - остановите остальные dpi сервисы на устройстве.









