Перейти к содержимому

ByeDPI на Android TV: настройка параметров Split Position

Тонкая настройка ByeDPI на Android TV: подбор параметров Split Position, разбиение TLS Client Hello, автозапуск службы и ускорение 4K-стримов без VPN.

Обновлено: (Опубликовано: )

💡︎ Главные мысли статьи:

  • Параметр Split Position в ByeDPI определяет байтовое смещение, по которому разделяется TCP-сегмент с заголовком TLS Client Hello, делая имя домена (SNI) невидимым для сигнатурных фильтров ТСПУ.
  • Начинать подбор удобно с --split 1+s --disorder 1; если не помогает, добавляют --fake с подобранным --ttl. Универсальной стратегии для всех провайдеров нет.
  • В исходном ByeDPIAndroid автозапуска нет: он есть в форке ByeByeDPI. Чтобы служба не выгружалась, отключите для неё оптимизацию батареи, если такой пункт есть в прошивке.
Премиум IPTV
0 ₽ • Без оплаты
Шаровоз: 2 300+ каналов и 4K кинозалы
Все включено
3$/ мес(~240 ₽)
Тест 24ч без оплаты→
ИИ-иллюстрация: Иллюстрация: настройка ByeDPI на ТВ-приставке

Split Position в ByeDPI — это место, где программа разрезает первый пакет TLS-соединения, чтобы система фильтрации провайдера не смогла прочитать имя сайта целиком. Для начала подойдёт --split 1+s: разрез на первом байте имени сайта (SNI). Если не помогло, меняйте смещение и добавляйте --disorder по одному параметру за раз.

ByeDPI (на Android — ByeDPIAndroid) не шифрует трафик и не отправляет его на чужой сервер: он меняет пакеты прямо на приставке. Описание всех ключей — в README ByeDPI.


Таблица совместимости параметров фрагментации ByeDPI с провайдерами

Эффективность фрагментации зависит от конфигурации аппаратных комплексов ТСПУ на узле связи:

Стратегия обходаПараметры командной строки ByeDPIПринцип воздействия на пакетОсобенности
SNI Split (Базовый)--split 1+sРазрезает запрос по первому символу SNIСамый простой вариант, с него стоит начинать
Disorder Split--split 1+s --disorder 1Части запроса отправляются в обратном порядкеЧасто помогает там, где не работает простой split
Fake Packet Injection--fake -1 --split 2+s --ttl 4Перед первым куском отправляется поддельный пакет с коротким TTLTTL приходится подбирать под свою сеть
OOB (Out-of-Band)--oob 1Часть запроса отправляется как OOB-данные TCPРаботает не у всех провайдеров
Mixed Chunking--split 2 --proto http,tlsОграничивает обработку протоколами HTTP и TLSДля смешанного веб-трафика

Описание всех параметров есть в README проекта ByeDPI. Начните с --split 1+s --disorder 1: у многих провайдеров этого достаточно, но универсальной стратегии нет, и параметры подбираются под конкретную сеть.


Что такое Split Position и почему дефолтный сдвиг «1» не всегда работает

Когда клиентское приложение на Android TV (например, SmartTube или веб-браузер) инициирует безопасное HTTPS-соединение, оно отправляет серверу пакет TLS Client Hello. Внутри этого пакета открытым текстом передается расширение SNI (Server Name Indication), содержащее адрес запрашиваемого домена (например, googlevideo.com).

Система глубокого анализа пакетов (DPI) считывает этот заголовок и применяет правило ограничения полосы пропускания.

Механика работы параметров:

  • Параметр --split N: разделяет исходящий TCP-сегмент ровно на N-м байте. Если указать просто --split 1, разделение произойдет в самом начале TCP-нагрузки. Некоторые фильтры умеют склеивать первые два байта обратно в буфер до вынесения вердикта.
  • Модификатор +s (SNI Offset): указывает утилите автоматически вычислить смещение до начала блока SNI внутри рукопожатия TLS и сделать разрез именно там. Запись --split 1+s означает: «найди начало доменного имени и отрежь ровно первый байт».
  • Параметр --disorder 1: отправляет хвост пакета раньше его головы. Сетевой стек целевого сервера Google склеивает пакеты в правильном порядке по номерам sequence number, тогда как фильтр ТСПУ пропускает сессию, не сумев декодировать разорванный заголовок.

Если у вас ранее возникали сбои в базовой конфигурации, сверьтесь с нашей вводной статьей об ускорении YouTube через ByeDPI на Android TV, где описана установка APK-файла.


Пошаговая настройка ByeDPI на телевизоре под пульт ДУ

Для корректной работы без аэромыши используйте адаптированную версию с поддержкой D-Pad навигации:

  1. Запустите ByeDPI Android на вашей приставке.
  2. В главном окне переключите режим работы в положение «Режим VPN» (VPN Service). Это направит системный сетевой стек через локальный туннель без необходимости прописывать прокси вручную в каждом приложении.
  3. Перейдите в раздел «Настройки» (Settings).
  4. Размер буфера (параметр --buf-size) оставьте по умолчанию — 16384 байта по документации ByeDPI. Менять его имеет смысл, только если с другими настройками есть проблемы.
  5. Найдите пункт «Командная строка» (Command line arguments) и активируйте ручной ввод.
  6. Введите стартовую конфигурацию (её подбирают под провайдера):
    --split 1+s --disorder 1 --fake -1 --ttl 5
  7. В поле «DNS-сервер» укажите публичный резолвер, например 1.1.1.1 или 8.8.8.8. Учтите, что обычный DNS на порту 53 не шифруется, и провайдер технически может его перехватывать.
  8. Вернитесь на главный экран и нажмите кнопку «Запустить» (Connect). При появлении системного запроса Android на добавление VPN-конфигурации нажмите кнопку «ОК» на пульте.

Настройка фоновой службы и защита от выгрузки (Autostart)

Главная проблема Android TV при работе с сетевыми утилитами — агрессивный системный демон Low Memory Killer (LMK). Если телевизор переходит в режим сна (Standby) или вы запускаете тяжелый медиаплеер с фильмом в 4K Remux, операционная система выгружает ByeDPI из оперативной памяти.

Как зафиксировать службу в памяти приставки:

  1. Откройте «Настройки» → «Приложения» → «Специальный доступ». В части прошивок этого раздела нет — тогда переходите к шагу 4.
  2. Найдите «Оптимизация батареи» (может называться «Энергосбережение»).
  3. Переключите селектор на «Все приложения», найдите ByeDPI и переведите переключатель в положение «Не оптимизировать».
  4. Автозапуска при включении в исходном ByeDPIAndroid нет. Если он нужен, используйте форк ByeByeDPI, где такая настройка есть, или приложение для автозапуска из отдельной инструкции.

Если вам требуются альтернативные протоколы для обхода ограничений на удаленном зарубежном VDS, ознакомьтесь с нашей инструкцией по настройке VPN на Android TV через VLESS и Shadowsocks. А если после включения службы перестали открываться онлайн-кинотеатры или торренты, изучите руководство по устранению конфликта ByeDPI с NUM и IPTV.

Для точного выбора приставки с достаточным запасом оперативной памяти (от 4 ГБ ОЗУ) используйте наш интерактивный подборщик ТВ-боксов под любые задачи.


Чек-лист проверки и тестирования соединения

  • В командную строку ByeDPI внесены аргументы --split 1+s --disorder 1.
  • Разрешение на создание VpnService подтверждено в диалоговом окне системы.
  • Отключена оптимизация батареи (если пункт есть в прошивке).
  • Проверен плеер: ролики запускаются и не останавливаются на буферизацию.
  • Если нужен автозапуск, проверена работа после перезагрузки.

❓︎ Часто задаваемые вопросы (FAQ)

Что означает значение Split Position 1+s в ByeDPI?

Символ «s» обозначает привязку смещения к началу SNI-расширения внутри рукопожатия TLS, а цифра «1» указывает на разрез первого байта доменного имени. В результате DPI-фильтр видит два разорванных фрагмента пакета и не может сопоставить запрос с черным списком.

Что делать, если с текущими параметрами видео всё равно не грузится?

Подходящие параметры у разных провайдеров разные. Меняйте по одному аргументу: попробуйте другое смещение (--split 2+s), добавьте --disorder 1 или уберите --fake. После каждой правки перезапускайте службу и проверяйте одно и то же видео.

Почему ByeDPI отключается сам на слабой приставке?

Когда памяти мало, Android выгружает фоновые службы. Если в вашей прошивке есть «Оптимизация батареи» (обычно «Приложения» → «Специальный доступ»), отключите её для ByeDPI. Автозапуска в исходном ByeDPIAndroid нет; он есть в форке ByeByeDPI.