NetFix Mobile автоматически подбирает обход DPI для YouTube, Discord и Telegram на Android и ТВ
Ограничения доступа к популярным сервисам нарастали постепенно. Discord оказался заблокирован в 2024 году, YouTube сначала замедляли, а в феврале 2026 года он, по сообщениям СМИ, исчез из национальной системы доменных имён. Telegram деградировал поэтапно: перестали работать звонки, почти не загружались фото и видео, а 10 февраля 2026 года Роскомнадзор официально объявил об ограничении.
В какой-то момент мессенджер перестал загружать чаты и зависал на сообщении «Подключение…». Сообщество быстро нашло рабочие инструменты: ByeDPI от hufrea и его форк ByeByeDPI от romanvht для Android, а также tg-ws-proxy для Telegram. Оба решения действительно восстанавливали доступ, но настройка требовала усилий.
Сканирование стратегий в ByeByeDPI занимало много времени, результат был приблизительным, затем приходилось вручную выставлять параметры, проверять работу YouTube и разбираться с DNS. У каждого провайдера и мобильного оператора конфигурация оказывалась своей. Разработчик поставил цель сделать инструмент, которым сможет воспользоваться любой человек без консоли, поиска в интернете и сомнений в том, запустился ли он вообще.
Так появился NetFix Mobile — Android-приложение для телефонов и телевизоров. Важно, что оно не изобретает новые методы обхода, а служит оболочкой, управляющей готовыми open-source компонентами: ByeDPI для обхода DPI, hev-socks5-tunnel для туннелирования и tg-ws-proxy для Telegram. Код проекта открыт.
DPI — это оборудование провайдера, которое анализирует начало TLS-соединения и по имени сайта решает, замедлить его или сбросить. ByeDPI работает как локальный SOCKS-прокси, разбивая и подделывая первые пакеты с помощью таких приёмов, как --split, --disorder или --fake, чтобы DPI не мог их распознать. На Android трафик направляется в этот прокси через системный VPN-режим (VpnService), который не является настоящим VPN: данные не уходят на удалённый сервер, не шифруются, IP-адрес не меняется.
Пакеты из tun-интерфейса забирает hev-socks5-tunnel и передаёт в ByeDPI — эту схему уже реализовал ByeByeDPI, а NetFix Mobile автоматизирует подбор параметров. В приложении два независимых сервиса. Первый — обход DPI: VpnService, туннель и ByeDPI, написанный на C и вызываемый через NDK.
Второй — Telegram-прокси: ядро на Rust, которое поднимает локальный MTProto-сервер на 127.0.0.1, а Telegram подключается к нему сам. Смешивать их в один туннель не имеет смысла, потому что прокси для Telegram работает не на уровне пакетов. Пользователь выбирает режим: только Telegram, только обход для YouTube и других сервисов или оба сразу.
Для обхода DPI можно указать, какие приложения идут через туннель, а само приложение из него исключается, чтобы избежать зацикливания трафика. Автоматический подбор реализован воронкой вместо ручного перебора. Для каждой стратегии приложение поднимает ByeDPI на свободном локальном порту, выполняет настоящие HTTPS-запросы к целевым адресам через этот прокси и читает ответ до конца.
Адрес считается доступным, только если получен весь заявленный объём данных. Сначала быстрый проход по небольшому набору адресов YouTube и Discord для всех стратегий (до 30 запросов параллельно), затем пять финалистов проходят полный набор с большим таймаутом, и наконец десять лучших перепроверяются на конкретной сети, ранжируются, после чего приложение рекомендует оптимальный вариант. Такой подход к автоматизации напоминает другие проекты, например DurovLoh, созданный Константином Соколовым.
Пользователь может вставить и собственную строку аргументов, найденную в чатах, — она проверится и попадёт в рейтинг наравне с остальными. У домашнего провайдера и мобильного оператора DPI часто различается, поэтому стратегия, идеально работающая дома, на улице может не работать. Чтобы проверить мобильную сеть, даже когда телефон подключён к Wi-Fi, приложение запрашивает конкретную сеть через NetworkRequest с флагами TRANSPORT_CELLULAR и NOT_VPN.
Если нужная сеть недоступна, приложение ждёт до 90 секунд и подсказывает её включить. Результаты сохраняются отдельно для Wi-Fi и мобильной сети, а при смене подключения рабочая стратегия переключается автоматически. Telegram-прокси написан на Rust и включает модули proxy, crypto, ws, cfproxy и balancer.
Локально он слушает 127.0.0.1, а наружу ходит по WebSocket через Cloudflare. Из Kotlin вызовы идут через JNA. Три особенности делают его удобным: пул заранее открытых соединений, чтобы первые фото не зависали; сброс пула при смене сети; и обнаружение стороннего VPN — если включён чужой VPN, прокси переключается на прямой режим, а после отключения VPN всё возвращается обратно.
Подключение к Telegram происходит в один тап: приложение формирует ссылку tg://proxy, и мессенджер сам предлагает включить прокси. После остановки NetFix остаётся лишь напомнить отключить его вручную. Приложение работает и на Android TV.
Интерфейс для телевизора собран на Compose: экраны в две колонки, плавающая панель навигации сворачивается через 15 секунд, фокус не теряется при переключении вкладок. После сканирования приложение предлагает проверить YouTube и помогает установить SmartTube прямо с пульта. В фоне работают foreground-сервисы с одним общим уведомлением, watchdog на WorkManager, плитка быстрых настроек и режим стабильного прокси для продолжительной работы.