Skip to main content

Наборы конфигураций (Sets)

Наборы конфигураций (Sets) — ключевая функция B4, позволяющая применять разные стратегии обхода DPI для разных доменов и IP-адресов.

Концепция

Вместо единой глобальной конфигурации B4 позволяет создавать несколько независимых наборов настроек. Каждый набор содержит:

  • Targets — список доменов и IP, к которым применяется набор
  • TCP — параметры обработки TCP-соединений, разделения пакетов и фейковых пакетов (3 подвкладки: General, Splitting, Faking)
  • UDP & QUIC — параметры обработки UDP/QUIC
  • DNS — настройки DNS-обхода
  • Import/Export — импорт и экспорт конфигурации

Зачем нужны разные наборы

Разные сервисы могут требовать разных стратегий обхода:

СервисРекомендуемая стратегия
YouTubeTCP фрагментация + drop QUIC
DiscordМинимальная фрагментация
TelegramGeoIP категории + faking
ТоррентыUDP fake mode
Дополнительно

Подробнее о том, почему DPI применяется по-разному от сайта к сайту, от провайдера к провайдеру, можно почитать в отдельной статье.

Порядок обработки (Matching)

B4 перебирает и сопоставляет наборы сверху вниз по списку:

  1. Для каждого соединения B4 извлекает домен (из SNI) и/или IP назначения
  2. Проверяет каждый набор по порядку
  3. Первый набор, чьи цели (targets) совпадают — применяется
  4. Если ни один не совпал — используется Main Set
Соединение: youtube.com

[Set #1: Discord] → targets: discord.com → НЕ совпадает

[Set #2: YouTube] → targets: youtube, googlevideo → СОВПАДАЕТ ✓

Применяются настройки Set #2
Порядок важен

Размещайте более специфичные наборы выше в списке. Общие наборы (например, ru-blocked) — ниже.

Пользуйтесь кнопками перемещения сетов вниз-вверх

Менеджер наборов

Доступ: Settings → Sets

Интерфейс списка

Каждый набор в списке отображает:

ЭлементОписание
ПереключательВключение/отключение набора
Номер/MAINПозиция в порядке обработки
НазваниеИмя набора
СчётчикКоличество доменов/IP в targets
SNI badgeИндикатор включённого SNI faking
КарточкиКраткая сводка TCP/UDP настроек

Действия с наборами

ДействиеОписание
Переместить вверх/внизИзменить приоритет обработки
ДублироватьСоздать копию набора
РедактироватьОткрыть редактор
УдалитьУдалить набор (кроме Main)

Main Set

Main Set — особый набор, который:

  • Нельзя удалить
  • Используется как fallback для трафика без совпадений
  • Рекомендуется оставлять с минимальными настройками

Создание набора

  1. Нажмите Create New Set
  2. Введите название (например, "YouTube Bypass")
  3. Настройте параметры во вкладках
  4. Нажмите Save Changes

Новый набор создаётся с настройками по умолчанию, оптимизированными для большинства случаев.

Сохранение

Сет, добавленный в список еще не находится в конфигурации сервиса. Не забудьте применить сохранение вверху страницы после добавления сета!

Редактор набора

Редактор содержит пять вкладок: Targets, TCP (с подвкладками General, Splitting, Faking), UDP & QUIC, DNS и Import/Export.

Targets — Цели

Определяет, к какому трафику применяется набор.

Bypass Domains (Домены)

Manual Domains — ручной ввод доменов:

youtube.com
googlevideo.com
Суб домены

Поддомены будут автоматически покрыты, если вы добавите общий домен. То есть совпадение пройдет для поддомена sub2.sub1.example.com если в сет вы добавите example.com.

GeoSite Categories — категории из geosite.dat:

  • Выберите категорию из выпадающего списка
  • Клик по чипу категории показывает превью доменов
  • Отображается количество доменов в категории

Bypass IPs (IP-адреса)

Manual IPs — ручной ввод IP/CIDR:

142.250.0.0/16
208.65.153.238

Поддерживается:

  • Одиночный IP: 1.2.3.4
  • CIDR-диапазон: 10.0.0.0/8
  • Несколько через запятую или пробел

GeoIP Categories — категории из geoip.dat:

  • Двухбуквенные коды стран: ru-blocked, ru
  • Специальные: cloudflare, google, facebook
Если отсутствуют поля geodata

Скорее всего у вас не настроены файлы geodata. Настройте их в настройках сервиса в соотвествующем разделе.


TCP — Настройки TCP

TCP-вкладка объединяет все параметры обработки TCP-соединений и техники обхода DPI. Вкладка разделена на три подвкладки:

ПодвкладкаСодержание
GeneralОсновные параметры: лимиты соединения, задержки, удаление SACK, дупликация пакетов
SplittingСтратегии разделения пакетов (TCP, IP, TLS, OOB фрагментация)
FakingВсе техники обмана DPI: фейковые пакеты, SYN fake, desync, манипуляция окном, мутация

set tabs

Как работает TCP-обработка в B4

Когда B4 перехватывает TCP-пакет, направленный на целевой домен/IP, он может:

  1. Разделить пакет — фрагментация на уровне TCP, IP или TLS (подвкладка Splitting)
  2. Отправить фейковые пакеты — поддельные пакеты перед настоящими (подвкладка Faking)
  3. Манипулировать TCP Window — фейковые ACK с разными размерами окна (подвкладка Faking)
  4. Применить Desync-атаку — инжекция фейковых TCP control-пакетов (подвкладка Faking)

Все эти техники применяются только к первым N байтам соединения (параметр Connection Bytes Limit), после чего трафик идёт без вмешательства.

General — Основные параметры

ПараметрЧто делаетТипичные значения
Connection Bytes LimitСколько первых байт соединения обрабатывать19 / 32
Segment 2 DelayЗадержка между 1-м и 2-м сегментами (мс)0–100 ms
Drop SACK OptionsУдаляет TCP SACK-опции из заголовкаoff
Packet DuplicationОтправка нескольких копий каждого исходящего TCP-пакетаoff

set general

Connection Bytes Limit

B4 применяет фрагментацию, desync и фейкинг только к первым N байтам потока. Остальная часть соединения идёт «как есть», без вмешательства. Это:

  • снижает нагрузку на CPU
  • уменьшает риск странных багов на длинных соединениях

Рекомендуемые значения:

  • 19 — минимально агрессивный вариант, достаточен для большинства случаев
  • 3264 — когда нужно обработать больше данных в начале соединения
Важно
  • Значение Connection Bytes Limit в сете не может быть больше, чем в MAIN Set. MAIN задаёт глобальный верхний предел для всех сетов.
  • Изменения параметра в MAIN требует обязательного рестарта B4.
Segment 2 Delay

Искусственная задержка перед отправкой второго TCP-сегмента:

  • Может повысить эффективность обхода DPI
  • Слишком большие значения увеличивают задержку соединения
совет
  • агрессивный обход: 20–80 ms;
  • чувствительные к задержкам сервисы (игры, голос, Discord): 0–10 ms или вообще 0.
Drop SACK Options

Selective ACK помогает TCP восстанавливать потерянные пакеты. Удаление SACK-опций может помочь при обходе некоторых DPI.

  • Может немного снизить производительность на линиях с потерями
Packet Duplication

При включении B4 отправляет несколько копий каждого исходящего TCP-пакета. Это помогает обойти провайдеров, которые случайным образом дропают пакеты к определённым IP-адресам (например, Telegram).

  • Создайте отдельный сет с целевыми IP
  • Включите Packet Duplication и задайте количество копий (2–5 обычно достаточно)
  • Используется вместо остальных техник обхода DPI для этого сета
  • Расходует дополнительный трафик пропорционально количеству копий

UDP — Настройки UDP и QUIC

UDP-вкладка управляет обработкой UDP-трафика, включая QUIC-протокол (HTTP/3). Основная задача — либо заблокировать QUIC для принудительного fallback на TCP, либо применить DPI bypass техники к UDP-пакетам.

Как работает UDP-обработка в B4

UDP-обработка состоит из двух этапов:

  1. Matching — определение, какой UDP-трафик обрабатывать (QUIC, конкретные порты)
  2. Action — что делать с matched трафиком (drop или fake)

Этап 1: Какой трафик обрабатывать

ПараметрОписаниеПо умолчанию
QUIC FilterРежим фильтрации QUIC-пакетовdisabled
Port FilterФильтр по destination портампусто
Filter STUNИгнорировать STUN-пакетыtrue
QUIC Filter

QUIC — это сетевой протокол на базе UDP, используемый YouTube, Google, Cloudflare и другими. Многие DPI не умеют анализировать QUIC, поэтому его блокируют целиком.

РежимОписание
DisabledQUIC не обрабатывается, проходит как есть
AllВсе QUIC Initial пакеты (слепое сопоставление по структуре, все подряд)
ParseТолько QUIC с SNI из списка доменов сета (умное сопоставление)
совет
  • Disabled — используйте, если QUIC не блокируется провайдером
  • All — агрессивный режим, ловит весь QUIC
  • Parse — точечный режим, требует настроенных доменов в Targets
Parse требует домены

В режиме Parse без настроенных доменов в Targets ничего не будет обработано. B4 парсит SNI из QUIC ClientHello и сверяет с вашим списком.

Port Filter

Фильтрация UDP по destination портам. Формат:

5000-6000,8000,9000-9100

Используйте для:

  • VoIP (discord и тп)
  • Онлайн-игры (зависит от игры)
  • Кастомных UDP-сервисов

Если пусто — фильтрация по портам не производится.

Filter STUN

STUN используется для NAT traversal в VoIP и видеозвонках.

Filter STUN

Рекомендуется оставить включённым — обработка STUN может сломать голосовую связь.


Этап 2: Что делать с выявленым трафиком

Эти настройки появляются только если QUIC Filter ≠ Disabled или задан Port Filter.

ПараметрОписаниеПо умолчанию
Action ModeРежим обработкиfake
Connection Packets LimitСколько первых пакетов соединения обрабатывать8
Action Mode
РежимЧто происходит
DropПакеты дропаются, приложение делает fallback на TCP
FakeПеред реальным пакетом отправляются фейки + фрагментация

Drop — простой и надёжный способ. YouTube, Discord, браузеры автоматически переключаются на HTTPS (TCP) если QUIC недоступен. Минус: теряется преимущество QUIC в скорости.

Fake — пытается обойти DPI для UDP. Сложнее, но сохраняет QUIC. Требует настройки фейковых пакетов.

Connection Packets Limit

Аналог TCP Connection Bytes Limit, но для UDP считается в пакетах, не байтах. B4 обрабатывает только первые N пакетов соединения.

  • 5–8 — рекомендуемое значение
  • 1–3 — минимальная нагрузка, но может не хватить для пробития
Важно
  • Значение Connection Bytes Limit в сете не может быть больше, чем в MAIN Set.
    MAIN задаёт глобальный верхний предел для всех сетов.
  • Изменения параметра в MAIN требует обязательного рестарта B4.

Настройки Fake Mode

Появляются только при Action Mode = Fake.

ПараметрОписаниеПо умолчанию
Faking StrategyКак сделать фейковые пакеты невалиднымиnone
Fake Packet CountКоличество фейков перед реальным пакетом6
Fake Packet SizeРазмер payload фейкового пакета64
Segment 2 DelayЗадержка между сегментами (мс)0
Faking Strategy
СтратегияОписание
NoneБез стратегии (фейки могут дойти до сервера)
TTLНизкий TTL — пакеты не дойдут до сервера
ChecksumБитый UDP checksum — сервер отбросит
  • TTL — безопаснее, работает в большинстве сетей
  • Checksum — альтернативный вариант, но может фильтроваться на пути
Рекомендация

Начните с TTL. Если не помогает — попробуйте Checksum.

Fake Packet Count

Количество фейковых пакетов, отправляемых перед каждым реальным пакетом.

  • 3–6 — базовый уровень
  • 10–20 — агрессивный режим (больше нагрузки)
Fake Packet Size

Размер payload фейкового UDP-пакета в байтах.

  • 64 — небольшие пакеты, меньше нагрузки
  • 256–512 — имитация реального трафика
  • 1200–1400 — близко к MTU, максимальная имитация
UDP: Segment 2 Delay

Задержка между фрагментами/сегментами в миллисекундах.

  • 0 — без задержки
  • 10–50 ms — лёгкий desync
  • 100+ ms — заметно влияет на latency

Типичные сценарии

СценарийРекомендуемые настройки
YouTube блокируется через QUICQUIC Filter: All, Mode: Drop
YouTube + сохранить QUICQUIC Filter: Parse, Mode: Fake, Strategy: TTL
Discord голос лагаетFilter STUN: On, низкий Seg2 Delay
Gaming UDP заблокированPort Filter: порты игры, Mode: Fake
Ничего не блокируетсяQUIC Filter: Disabled
Почему Drop часто лучше Fake

UDP bypass сложнее TCP — нет handshake, нет retransmit. Если Fake не работает стабильно, Drop + fallback на TCP — надёжнее.


Splitting — Стратегия разделения пакетов

Расположение в интерфейсе

Эти настройки находятся во вкладке TCP → Splitting. Ранее они были в отдельной вкладке «Fragmentation».

Разделение пакетов — одна из ключевых техник обхода DPI. B4 поддерживает несколько стратегий разделения на разных уровнях сетевого стека.


Выбор стратегии
СтратегияУровень разрезаСовместимостьЭффективность
TCP SegmentationTCPВысокаяВысокая
IP FragmentationIPСредняяВысокая
TLS Record SplitTLSВысокаяОчень высокая
OOB (Out-of-Band)TCP + URGСредняяВысокая
NoneТолько faking
TCP Segmentation

Разбивает данные на уровне TCP. Один TCP-пакет превращается в 2–3 TCP-сегмента с разными порядковыми номерами.

Плюсы:

  • Работает через NAT и файрволы
  • Не требует особой поддержки от сети
  • Сервер гарантированно соберёт данные

Минусы:

  • Может не помогать против продвинутых DPI
IP Fragmentation

Разбивает пакет на уровне IP-протокола.

Плюсы:

  • Эффективен против многих DPI
  • Работает на более низком уровне, чем TCP

Минусы:

  • Некоторые сети/NAT дропают фрагментированные пакеты
  • Строгие MTU-лимиты могут вызвать проблемы
TLS Record Splitting

Разбивает один TLS record на два отдельных TLS record. Это происходит внутри TLS-протокола, не затрагивая TCP/IP.

Плюсы:

  • Очень эффективен
  • Полностью валидный TLS — сервер обязан поддерживать
  • Не зависит от сетевой инфраструктуры

Минусы:

  • Работает только для TLS handshake
  • Некоторые broken middleboxes могут не понять
OOB (Out-of-Band)

Использует TCP URG (Urgent) механизм для инжекции дополнительного байта в поток данных.

Плюсы:

  • Эффективен против многих DPI
  • Работает на уровне TCP-протокола

Минусы:

  • Старые middleboxes могут некорректно обрабатывать URG
  • Некоторые серверы неправильно реализуют OOB
None

Фрагментация отключена. Пакеты отправляются как есть. Используйте, если полагаетесь только на Faking (фейковые пакеты).


Общие параметры
ПараметрОписаниеПрименимость
Reverse Fragment OrderОтправить фрагменты в обратном порядкеTCP, IP, TLS, OOB
Reverse Fragment Order

По умолчанию фрагменты отправляются в прямом порядке: сначала начало, потом конец. При включении Reverse Fragment Order:

Прямой порядок:    Сегмент 1 → Сегмент 2 → Сегмент 3
Обратный порядок: Сегмент 2 → Сегмент 1 → Сегмент 3

Зачем:

  • Изменяет порядок прибытия фрагментов
  • TCP гарантирует сборку в правильном порядке по sequence number — на работу сервера не влияет
Рекомендация

Включите Reverse Fragment Order по умолчанию. Это увеличивает шансы обхода без побочных эффектов.


Параметры TCP/IP стратегий

Эти параметры появляются при выборе TCP Segmentation или IP Fragmentation.

ПараметрОписаниеПо умолчанию
SNI Split PositionПозиция разреза относительно начала SNI1
Middle SNIРезать посередине SNI автоматическиtrue
SNI Split Position

Определяет, на какой позиции от начала SNI делать разрез.

SNI: youtube.com (11 символов)
^
позиция 0

SNI Position = 1: y|outube.com → "y" + "outube.com"
SNI Position = 3: you|tube.com → "you" + "tube.com"
SNI Position = 6: youtub|e.com → "youtub" + "e.com"
  • 0 — резать перед первым символом SNI
  • 1–3 — резать в начале SNI
  • Большие значения — резать ближе к концу
Middle SNI

Если включено, B4 автоматически находит SNI в ClientHello и режет посередине, игнорируя SNI Split Position.

Когда использовать:

  • Middle SNI = On — универсальный вариант, работает для любых доменов
  • Middle SNI = Off — если нужен точный контроль через SNI Split Position
Приоритет

Если Middle SNI включён, SNI Split Position используется как fallback, если SNI не найден в пакете.


Параметры OOB стратегии

Появляются при выборе OOB (Out-of-Band).

ПараметрОписаниеПо умолчанию
OOB PositionПозиция инжекции OOB-байта (в байтах)1
OOB CharacterСимвол для OOB-данныхx
OOB Position

Определяет, после скольких байт payload вставить OOB-байт.

Payload: [ClientHello...youtube.com...]
^
позиция 0

OOB Position = 1: [C][OOB][lientHello...youtube.com...]
OOB Position = 50: [ClientHello...yout][OOB][ube.com...]
OOB Character

Байт, который будет отправлен с URG-флагом. Сервер его отбросит, но DPI увидит.

  • По умолчанию: x (0x78)
  • Можно использовать любой символ
  • Не влияет на эффективность bypass — важен сам факт URG-флага

Параметры TLS стратегии

Появляются при выборе TLS Record Splitting.

ПараметрОписаниеПо умолчанию
TLS Record Split PositionПозиция разреза внутри TLS record (байты)1
TLS Record Split Position

Определяет, после скольких байт данных handshake разрезать TLS record.

TLS Record: [Header 5 байт][Handshake data N байт]
^
позиция 0

Split Position = 1:
Record 1: [Header][1 байт]
Record 2: [Header][остальные N-1 байт]

Split Position = 50:
Record 1: [Header][50 байт — начало ClientHello]
Record 2: [Header][остальное — включая SNI]

Рекомендации:

  • 1–10 — агрессивный split в начале handshake
  • 50–100 — split ближе к SNI (зависит от размера ClientHello)
  • Слишком большое значение автоматически корректируется до recordLen / 2

Рекомендации по выбору
СитуацияРекомендуемая стратегия
Не знаю, что выбратьTCP + Middle SNI + Reverse
TCP не помогаетTLS Record Split
Нужна максимальная совместимостьTCP Segmentation
TCP и TLS не помогаютOOB или TLS + Desync (подвкладка Faking)
Полагаюсь только на fakingNone
Комбинируйте с Faking

Splitting эффективнее в связке с Faking (подвкладка TCP → Faking).


Faking — Фейковые пакеты и обход DPI

Расположение в интерфейсе

Эти настройки находятся во вкладке TCP → Faking. Ранее часть из них была в отдельной вкладке «Faking», а часть — в основной вкладке TCP.

Faking — это техника отправки поддельных пакетов перед настоящими. DPI видит фейк, пытается его обработать, сбивается с толку — а настоящий пакет проходит незамеченным.

Подвкладка Faking содержит шесть сворачиваемых секций. Каждая секция показывает свой текущий статус (включена/выключена) без необходимости её раскрывать:

  1. Fake SNI Packets — отправка фейковых пакетов с поддельным ClientHello
  2. SYN Fake Packets — фейковые SYN-пакеты при TCP-рукопожатии
  3. TCP Desync Attack — инжекция фейковых RST/FIN/ACK для сбоя state-tracking DPI
  4. Window Manipulation — фейковые ACK с манипулированным размером TCP-окна
  5. Incoming Response Bypass — обработка ответов сервера для обхода блокировки загрузок
  6. ClientHello Mutation — модификация структуры настоящего ClientHello

Концепция фейковых пакетов

B4 отправляет поддельные пакеты перед настоящими. Фейковые пакеты специально делаются невалидными (низкий TTL, битый checksum, неправильный sequence number), чтобы сервер их отбросил, а настоящий пакет прошёл без проблем.


Fake SNI Packets

Управляет отправкой фейковых пакетов с поддельным TLS ClientHello.

ПараметрОписаниеПо умолчанию
Enable Fake SNIВключить отправку фейковых SNI-пакетовtrue
Fake StrategyКак сделать фейк невалидным для сервераpastseq
Fake Payload TypeСодержимое фейкового пакетаDefault
Fake TTLTime-To-Live для фейковых пакетов8
Sequence OffsetСмещение TCP sequence number10000
Fake Packet CountКоличество фейков перед настоящим пакетом1
Enable Fake SNI

Главный переключатель. При включении B4 отправляет фейковые пакеты перед каждым настоящим ClientHello.

  • Включено — фейки отправляются согласно настройкам ниже
  • Выключено — только фрагментация (если настроена), без фейков

Fake Strategy

Определяет, как сделать фейковый пакет невалидным. Сервер должен его отбросить, а DPI — обработать.

СтратегияКак работаетНадёжность
TTLНизкий TTL — пакет «умирает» не дойдя до сервераВысокая
Past SequenceSequence number в прошлом — сервер игнорируетВысокая
Random SequenceСлучайный sequence — сервер не может собрать потокСредняя
TCP ChecksumБитый TCP checksum — сервер отбрасываетСредняя
MD5 SumНеверная MD5 подпись (для TCP-MD5)Низкая
TTL (Time-To-Live)

Каждый IP-пакет имеет счётчик TTL. При прохождении через каждый роутер TTL уменьшается на 1. Когда TTL = 0, пакет уничтожается. Фейковый пакет с низким TTL не дойдёт до сервера.

  • 8–12 — универсальное значение для большинства сетей
  • Подбирайте экспериментально, если значение по умолчанию не работает
Past Sequence

Отправляет фейк с TCP sequence number в прошлом. Сервер игнорирует такие пакеты как устаревшие.

Random Sequence

Отправляет фейк со случайным sequence number далеко в будущем. Сервер не сможет вставить его в поток данных.

TCP Checksum

Намеренно портит TCP checksum. Сервер проверяет checksum и отбрасывает такой пакет.

MD5 Sum

Для соединений с TCP-MD5 (редко используется). Неверная MD5 подпись приводит к отбрасыванию пакета.


Fake Payload Type

Определяет содержимое фейкового пакета — что именно увидит DPI.

ТипСодержимое
DefaultПредзаготовленный ClientHello с фейковым SNI (внутрненний payload B4)
RandomСлучайные байты (мусор)
CustomВаш payload в hex-формате
Default

B4 отправляет валидно выглядящий TLS ClientHello с фейковым доменом. DPI думает, что это реальное соединение к безобидному сайту.

Random

Случайные байты. Некоторые DPI при виде мусора сбрасывают состояние соединения.

Custom

Позволяет задать свой payload в hex-формате. Используйте функцию Capture для захвата реальных ClientHello.

Пример hex: 160301020001000...
Когда использовать Custom

Если Default и Random не работают, попробуйте захватить реальный ClientHello к любому доступному сайту через Capture, и использовать как Custom payload.


Fake TTL

Time-To-Live для фейковых пакетов. Используется только при Strategy = TTL.

  • 5–10 — стандартный диапазон, подходит для большинства сетей
  • Подбирайте экспериментально — слишком высокий TTL может вызвать ошибку соединения

Sequence Offset

Смещение TCP sequence number для стратегий Past Sequence и Random Sequence.

Для Past Sequence:

Реальный seq: 50000
Offset: 10000
Фейковый seq: 50000 - 10000 = 40000 (в прошлом)

Для Random Sequence:

Реальный seq: 50000
Offset: 10000
Фейковый seq: 50000 + 10000 + random = далеко в будущем
Рекомендуемые значения
  • 10000 — стандартное значение
  • 50000–100000 — если DPI отслеживает близкие sequence numbers

Faking Packet Count

Сколько фейковых пакетов отправить перед каждым настоящим пакетом.

Count = 1:  [Фейк] → [Настоящий]
Count = 3: [Фейк1] → [Фейк2] → [Фейк3] → [Настоящий]
  • 1 — минимальная нагрузка, достаточно для большинства DPI
  • 3–5 — если один фейк не помогает
  • 10–20 — агрессивный режим (больше трафика)
Нагрузка

Каждый фейк — это дополнительный пакет. Count = 10 означает 10x больше пакетов на handshake. Используйте минимально необходимое значение, по возможности


SYN Fake Packets

При включении B4 отправляет фейковые SYN-пакеты рядом с реальным TCP-рукопожатием. Фейки используют низкий TTL (не дойдут до сервера) и битый checksum или смещённый sequence number.

ПараметрЧто делает
SYN Fake PacketsВключает отправку фейковых SYN-пакетов во время TCP-рукопожатия
SYN Fake Payload LengthДлина payload в фейковом SYN (0 = только заголовок, >0 = псевдо-TLS)
SYN Fake TTLTTL для фейковых SYN-пакетов
TCP MD5 SignatureДобавляет невалидную MD5-подпись в фейковые пакеты

SYN Fake Payload Length:

  • 0 — только TCP-заголовок
  • >0 — добавляется payload, имитирующий начало TLS ClientHello
Агрессивная техника

Если сервис начинает работать нестабильно (reset, таймауты) — отключите SYN Fake первым делом.


TCP Desync Attack

Desync-атака инжектирует фейковые TCP control-пакеты (RST/FIN/ACK) с битым checksum и низким TTL. Пакеты отбрасываются реальным сервером, но влияют на промежуточные системы анализа трафика.

ПараметрОписаниеПо умолчанию
Desync ModeТип атакиoff
Desync TTLTTL для фейковых пакетов3
Desync CountКоличество фейковых пакетов за атаку3
Post-ClientHello RSTФейковый RST после ClientHellooff

Режимы Desync:

РежимЧто отправляется
offDesync отключён
rstФейковые RST с разными sequence number
finФейковые FIN+ACK с прошлыми sequence
ackФейковые ACK с рандомными future seq/ack
comboRST + FIN + ACK последовательно
fullПолная атака: fake SYN, overlapping RST, PSH, URG

Desync TTL: Низкий TTL гарантирует, что пакеты не дойдут до сервера. 3–8 — рекомендуемый диапазон.

Когда использовать

Начните с combo и TTL 3–5. Если не помогает — попробуйте full.


Window Manipulation

B4 отправляет фейковые ACK-пакеты с изменённым размером TCP-окна перед реальным пакетом.

РежимОписание
DisabledБез манипуляции окном
ZeroСначала ACK с window=0, затем с window=65535
RandomСлучайные значения из списка
OscillateПеребор значений по порядку
EscalateРост: 0 → 100 → 500 → 1460 → 8192 → 32768 → 65535

Все фейковые пакеты отправляются с низким TTL — они не доходят до сервера.

Для режимов Random и Oscillate используется кастомный список значений окна. По умолчанию: 0, 1460, 8192, 65535.


Incoming Response Bypass

Обработка входящих пакетов от сервера. Эта техника помогает в случаях, когда соединение устанавливается нормально, но загрузка данных обрывается.

ПараметрОписаниеПо умолчанию
Incoming ModeРежим обработки входящих пакетовdisabled
StrategyСтратегия для фейковых пакетов (TTL, checksum)ttl
Fake TTLTTL для фейковых пакетов к серверу8
Fake CountКоличество фейковых пакетов3
Threshold MinМинимум байт до начала обработки0
Threshold MaxМаксимум байт, после которых обработка прекращается0

Режимы:

РежимОписание
DisabledВходящие пакеты не обрабатываются
FakeИнжекция фейковых пакетов в направлении сервера
CorruptМодификация входящих пакетов для сбоя анализа DPI
Рекомендация

Если загрузки обрываются вскоре после начала скачивания, включите Incoming Mode = Fake со стратегией TTL.


ClientHello Mutation

Мутация изменяет структуру настоящего ClientHello, делая его непохожим на стандартный, но оставляя валидным для сервера.

Да что вообще такое этот ваш ClientHello

При установке TLS-соединения клиент отправляет ClientHello — сообщение со списком поддерживаемых шифров, расширений и SNI (имя сервера). Мутация добавляет/изменяет расширения, оставляя ClientHello валидным для сервера.


Mutation Mode
РежимЧто делает
DisabledБез мутации
RandomПеремешивает порядок расширений + добавляет шум
GREASEВставляет GREASE-расширения
PaddingДобавляет padding для изменения размера
Fake ExtensionsВставляет неизвестные TLS-расширения
Fake SNIsДобавляет дополнительные фейковые SNI
AdvancedКомбинирует все техники

Mutation: Disabled

Мутация отключена. ClientHello отправляется как есть (но может быть фрагментирован).

Mutation: Random

Перемешивает порядок TLS-расширений в случайном порядке. Сервер обрабатывает расширения независимо от порядка.

Mutation: GREASE (Generate Random Extensions And Sustain Extensibility)

GREASE — это специальные значения, зарезервированные в TLS для тестирования совместимости. Сервер обязан их игнорировать.

GREASE Extension Count — сколько GREASE-расширений добавить:

  • 1–3 — минимальное воздействие
  • 5–10 — агрессивный режим
Padding

Добавляет TLS Padding Extension для увеличения размера ClientHello.

Без padding: ClientHello = 300 байт
С padding (2048): ClientHello = 2048 байт

Padding Size — целевой размер в байтах:

  • 256–512 — небольшое увеличение
  • 1024–2048 — значительное изменение размера
  • 4096–16384 — максимальный padding
Fake Extensions

Вставляет несуществующие или редко используемые TLS-расширения со случайными данными. Сервер игнорирует неизвестные расширения (по спецификации TLS).

Fake Extension Count — количество фейковых расширений:

  • 3–5 — стандартное значение
  • 10–15 — агрессивный режим
Fake SNIs

Добавляет дополнительные SNI-записи в ClientHello. По стандарту SNI должен быть один, но B4 добавляет несколько. Сервер использует первый (настоящий) SNI.

Добавление Fake SNI:

  1. Введите домен в поле "Add Fake SNI"
  2. Нажмите Enter или кнопку +
  3. Домен появится в списке чипов

Рекомендуемые фейковые домены:

  • Популярные незаблокированные сайты: ya.ru, vk.com, mail.ru
  • Государственные сайты: gosuslugi.ru, kremlin.ru
  • Сайты самого провайдера
Advanced (All)

Комбинирует все техники мутации:

  1. Добавляет Fake SNIs
  2. Добавляет стандартные TLS-расширения (supported_groups, signature_algorithms, supported_versions)
  3. Добавляет TLS 1.3 расширения (psk_key_exchange_modes, key_share, status_request)
  4. Добавляет GREASE
  5. Добавляет Fake ALPN с множеством протоколов
  6. Добавляет Fake Extensions
  7. Перемешивает всё
  8. Добавляет Padding

Используйте Advanced, если отдельные режимы не помогают. Это максимально агрессивная мутация.

Размер пакета

Advanced-мутация значительно увеличивает размер ClientHello. Если пакет превышает MTU (~1460 байт), B4 автоматически урезает мутации.