- Created UDP documentation detailing traffic handling and filtering options. - Added backup settings documentation for configuration backup and restoration. - Introduced core settings documentation covering service management, packet processing, and logging. - Added discovery settings documentation for automatic configuration detection. - Created geodata documentation explaining GeoSite and GeoIP databases and their usage. - Added payloads documentation for generating and managing TLS payloads for faking. - Introduced security documentation for web interface authorization and HTTPS setup. - Added domain monitoring documentation for automatic detection of blocked domains and recovery processes. - Created footer and navbar localization files for Russian language support.
7.5 KiB
| sidebar_position | title |
|---|---|
| 3 | UDP |
UDP
Вкладка UDP управляет обработкой UDP-трафика. Два основных сценария:
- Блокировка QUIC - браузер переключается на TCP, где b4 применяет обход DPI
- Обход DPI для UDP - фейковые пакеты и фрагментация для UDP-трафика
Как b4 обрабатывает UDP
flowchart TD
A["UDP-пакет"] --> B{"IP или порт\nсовпал с сетом?"}
B -->|"Нет"| PASS["Пропустить"]
B -->|"Да"| C{"Это QUIC?"}
C -->|"Нет"| STUN{"Это STUN?"}
C -->|"Да"| D{"Фильтр QUIC\n(настройка сета)"}
D -->|"Отключён"| PASS
D -->|"Весь QUIC"| ACTION
D -->|"Парсить SNI"| E{"Домен из SNI\nсовпал с целями?"}
E -->|"Да"| ACTION
E -->|"Нет"| PASS
STUN -->|"Да + фильтр вкл."| PASS
STUN -->|"Нет"| ACTION
ACTION{"Что делать\nс пакетом?"}
ACTION -->|"Drop"| DROP["Отбросить пакет\n→ приложение\nпереключится на TCP"]
ACTION -->|"Reject"| REJECT["Отбросить пакет\n→ отправить ICMP\nPort Unreachable\n→ мгновенный переход\nна TCP"]
ACTION -->|"Fake"| FAKE["Отправить фейки\n→ фрагментировать\nреальный пакет"]
style A fill:#4a9eff,color:#fff,stroke:none
style PASS fill:#666,color:#fff,stroke:none
style DROP fill:#f44336,color:#fff,stroke:none
style REJECT fill:#ff9800,color:#fff,stroke:none
style FAKE fill:#4caf50,color:#fff,stroke:none
style ACTION fill:#9c27b0,color:#fff,stroke:none
Какой UDP-трафик обрабатывать
Чтобы b4 начал обрабатывать UDP, должен быть включён хотя бы один из фильтров: QUIC или порты. Без них все UDP-пакеты проходят без изменений.
Фильтр QUIC
QUIC - протокол поверх UDP, который используют браузеры (YouTube, Google, Discord и др.). Шифрование QUIC отличается от TCP/TLS, поэтому стратегии обхода TCP к нему неприменимы.
| Режим | Описание |
|---|---|
| Отключён | QUIC-трафик не обрабатывается |
| Весь QUIC | Совпадение со всеми QUIC Initial пакетами. Не анализирует содержимое - просто определяет, что пакет является QUIC |
| Парсить SNI | Извлекает домен (SNI) из QUIC ClientHello и обрабатывает только пакеты, домен которых совпадает с целями сета |
:::warning Парсинг SNI требует домены В режиме Парсить SNI необходимо добавить домены в разделе Цели. Без доменов QUIC-трафик обрабатываться не будет. :::
:::tip Когда использовать «Весь QUIC» Если цель - заставить браузер переключиться на TCP (где b4 работает эффективнее), используйте Весь QUIC в режиме Reject. Браузер мгновенно перейдёт на HTTPS/TCP, получив ICMP-ответ о недоступности порта. :::
Фильтр портов
Совпадение с определёнными UDP-портами - для обработки трафика VoIP, игр и других UDP-приложений. Формат: 5000-6000,8000. Оставьте пустым для отключения.
Фильтровать STUN-пакеты
Игнорировать STUN-пакеты - они проходят без обработки. STUN используется для NAT traversal в WebRTC (голосовые/видеозвонки).
:::info Рекомендуется включить, если вы используете голосовые или видеозвонки (Discord, Telegram, WhatsApp). Блокировка STUN нарушит их работу. :::
Как обрабатывать совпавший трафик
Настройки ниже доступны, если включён хотя бы один фильтр (QUIC или порты).
Лимит пакетов соединения
Максимальное количество пакетов в начале UDP-соединения, которые анализируются. Не может превышать глобальный лимит из Настройки → Основные → Очередь.
Режим действия
| Режим | Описание |
|---|---|
| Drop | Отбрасывает совпавшие UDP-пакеты. Приложение вынуждено переключиться на TCP (например, QUIC → HTTPS) |
| Reject | Отбрасывает пакет и отправляет клиенту ICMP Port Unreachable. Клиент сразу понимает, что UDP недоступен, и переключается на TCP без ожидания таймаутов |
| Fake & Fragment | Отправляет фейковые пакеты перед реальными и фрагментирует реальные для обхода DPI |
:::tip Drop vs Reject Drop - клиент ждёт таймаут (обычно 3–10 секунд) перед переходом на TCP. Reject - клиент получает ICMP-ответ и переключается на TCP практически мгновенно. :::
Настройки Fake & Fragment
Доступны при режиме Fake & Fragment.
Стратегия фейка
Определяет, как фейковый пакет станет необрабатываемым для сервера:
| Стратегия | Описание |
|---|---|
| Нет | Без стратегии - фейковые пакеты отправляются как есть |
| TTL | Низкий TTL - фейковые пакеты истекают на промежуточном узле и не доходят до сервера |
| Checksum | Повреждённая контрольная сумма UDP - сервер отбрасывает пакеты с неверной суммой |
Параметры
| Параметр | Описание | Диапазон |
|---|---|---|
| Количество фейковых пакетов | Сколько фейковых пакетов отправить перед реальным | 1–20 |
| Размер фейкового пакета | Размер payload каждого фейкового UDP-пакета в байтах | 32–1500 |
| Задержка между сегментами | Задержка между отправкой фейковых и реальных пакетов. Задаётся как диапазон мин–макс - для каждого соединения выбирается случайное значение | 0–1000 мс |