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. Чтобы служба не выгружалась, отключите для неё оптимизацию батареи, если такой пункт есть в прошивке.
- 296 кинозалов BCU и 4K новинки
- Матч Премьер 50fps и архив 6 дней
- СБП (+20% бонус), карты РФ, МИР и ЕС
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 | Перед первым куском отправляется поддельный пакет с коротким TTL | TTL приходится подбирать под свою сеть |
| 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 навигации:
- Запустите ByeDPI Android на вашей приставке.
- В главном окне переключите режим работы в положение «Режим VPN» (VPN Service). Это направит системный сетевой стек через локальный туннель без необходимости прописывать прокси вручную в каждом приложении.
- Перейдите в раздел «Настройки» (Settings).
- Размер буфера (параметр
--buf-size) оставьте по умолчанию — 16384 байта по документации ByeDPI. Менять его имеет смысл, только если с другими настройками есть проблемы. - Найдите пункт «Командная строка» (Command line arguments) и активируйте ручной ввод.
- Введите стартовую конфигурацию (её подбирают под провайдера):
--split 1+s --disorder 1 --fake -1 --ttl 5 - В поле «DNS-сервер» укажите публичный резолвер, например
1.1.1.1или8.8.8.8. Учтите, что обычный DNS на порту 53 не шифруется, и провайдер технически может его перехватывать. - Вернитесь на главный экран и нажмите кнопку «Запустить» (Connect). При появлении системного запроса Android на добавление VPN-конфигурации нажмите кнопку «ОК» на пульте.
Настройка фоновой службы и защита от выгрузки (Autostart)
Главная проблема Android TV при работе с сетевыми утилитами — агрессивный системный демон Low Memory Killer (LMK). Если телевизор переходит в режим сна (Standby) или вы запускаете тяжелый медиаплеер с фильмом в 4K Remux, операционная система выгружает ByeDPI из оперативной памяти.
Как зафиксировать службу в памяти приставки:
- Откройте «Настройки» → «Приложения» → «Специальный доступ». В части прошивок этого раздела нет — тогда переходите к шагу 4.
- Найдите «Оптимизация батареи» (может называться «Энергосбережение»).
- Переключите селектор на «Все приложения», найдите ByeDPI и переведите переключатель в положение «Не оптимизировать».
- Автозапуска при включении в исходном 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.