На прошлой неделе на GitHub взлетел проект CleanYourTV: автор попросил ИИ-ассистента почистить телевизор родителей от рекламы и за четыре дня собрал 16 тысяч звёзд и статью в TechCrunch. Я открыл его списки — и не нашёл ни Яндекс ТВ, ни Салют ТВ, ни российских прошивок Xiaomi. Зато мой собственный Xiaomi на Android 9 лагал так, что меню открывалось через пару секунд после нажатия.
Я сделал ЧистыйТВ — скрипт для Windows, который по Wi-Fi находит телевизор, отключает рекламу и телеметрию по проверенным спискам, ставит YouTube без рекламы и откатывает всё одной командой. Ниже — что на самом деле крутится внутри «умного» телевизора, какие пакеты отключать нельзя ни в коем случае (некоторые превращают ТВ в кирпич до сброса) и на какие грабли я наступил при первом запуске.
Что живёт внутри телевизора
На моём Xiaomi MiTV-MSSP0 после покупки стояло 101 приложение. Помимо очевидного — онлайн-кинотеатры, которые я ни разу не открывал, — в фоне работали:
Пакет |
Что делает |
|---|---|
|
Аналитика и статистика Xiaomi |
|
Всплывающие промо-окна |
|
Рекламные ряды на главном экране |
|
Тихая автоустановка партнёрских приложений |
|
«Очистка», которая сама висит в фоне |
На других телевизорах встречается штука похуже — ACR (automatic content recognition): tv.alphonso.alphonso_eula на Xiaomi, tv.anoki.acr.controller на Haier, com.hisense.evservice на Hisense. Она периодически снимает «отпечаток» картинки на экране — неважно, эфир это или HDMI с приставки — и отправляет, чтобы точнее подбирать рекламу.
На слабом железе ТВ (1–2 ГБ памяти) всё это ещё и съедает ресурсы. Отсюда лаги.
Как это убрать без root
У Android TV, как у любого Android, есть ADB. Включаете «Отладку по USB» в меню разработчика — и на большинстве телевизоров вместе с ней открывается порт 5555 в локальной сети. Кабель не нужен.
Дальше всё делает одна команда:
adb shell pm disable-user --user 0 com.miui.tv.analytics
Важно, что это именно отключение, а не удаление: APK остаётся в системном разделе, данные на месте, вернуть можно через pm enable. Удаление pm uninstall --user 0 тоже обратимо (cmd package install-existing), но без флага -k стирает данные — незачем.
Shell без root может переключать только целые пакеты: отдельные компоненты (pm disable pkg/.Activity) упираются в SecurityException. Это ограничение ещё всплывёт ниже.
Что отключать нельзя: грабли с форумов
Это самая ценная часть работы. Списки «что отключить» найти легко, а вот что после этого ломается — разбросано по сотням страниц 4PDA. Собрал самое опасное:
Платформа |
Пакет |
Что будет |
|---|---|---|
Яндекс ТВ |
|
«Entering recovery system» и чёрный экран |
Яндекс ТВ |
|
Перестают переключаться входы и HDMI |
Яндекс ТВ |
|
Это единственная клавиатура в системе |
Салют ТВ |
|
Recovery-петля, даже если поставлен сторонний лаунчер |
TCL |
|
Пропадает меню источников — HDMI не переключить |
Google TV |
|
Циклическая перезагрузка |
Haier/CVTE |
|
Его нельзя даже запускать: включается заводской режим, умирают кнопка Input и HDMI-CEC |
Отдельная история — Google TV 14. Если отключить штатный лаунчер launcherx, кнопку «Домой» перехватывает RecoveryActivity мастера настройки setupwraith, и system_server падает примерно раз в минуту. Отключить один этот компонент shell не может — только весь пакет. А отключение setupwraith удаляет сеть Wi-Fi, сохранённую при первой настройке (она принадлежит ему), и телевизор отваливается от Wi-Fi и от ADB одновременно. Проверить заранее можно так:
adb shell "dumpsys wifi | grep -o 'cname=[^ ]*'"
В ЧистомТВ это зашито в логику: штатный лаунчер отключается только по явной просьбе, только вместе с парными пакетами и никогда — если один из них владеет сетью Wi-Fi. А если после отключения кнопка «Домой» всё равно не открывает новый лаунчер, скрипт сам всё включает обратно.
Плюс есть второй рубеж: пакеты, чьи имена похожи на входы, пульт, клавиатуру, установщик, Wi-Fi или заводские меню, скрипт не тронет, даже если они по ошибке окажутся в базе.
Российские платформы
Яндекс ТВ (Hartens, Leff, DEXP, Hyundai, Novex, Starwind и другие на платах CVTE/Cultraview). Главный источник рекламы — com.yandex.android.advid. Проблема в том, что с прошивок 2025 года из меню разработчика часто пропадает «Отладка по USB». Но у плат CVTE есть сервисное меню: Меню (зажать на секунду) → ← ↑ ← ↑ → Назад → Other options → ADB Mode → On. Больше в этом меню трогать ничего нельзя: Panel Type, LVDS или Shipping Init легко дадут чёрный экран.
И ещё один нюанс с 4PDA: обновление прошивки Яндекс ТВ возвращает рекламные плагины. ЧистыйТВ предлагает отключить обновления отдельным пунктом, но не делает этого молча — без них не придут и исправления.
Салют ТВ. Тут, неожиданно, самый цивилизованный путь: у Сбера есть официальная документация — ADB включается в Sber Studio по ID устройства. Единственное условие — VPN на компьютере не должен перехватывать маршруты (об этом ниже).
YouTube
Отключённая реклама на главном экране не спасает от главной боли — YouTube тормозит и показывает рекламу. Решение из двух частей.
SmartTube — открытый клиент YouTube для ТВ: без рекламы, со SponsorBlock, 4K. Деталь, о которую я споткнулся: в конце 2025 года разработчик сменил ключ подписи после заражения своей сборочной машины, и имена пакетов поменялись — теперь org.smarttube.stable вместо com.teamsmart.videomanager.tv. Старые установки не обновляются поверх, поэтому скрипт их распознаёт и ставит новую версию рядом. Скачивает только с официального GitHub: у релиза с тегом latest постоянные имена файлов под каждую архитектуру, а для ТВ основная сборка — armeabi-v7a.
VPN — без него от замедления не уйти. Скрипт ставит Happ (официальный APK с GitHub) и отправляет подписку командой:
adb shell am start -a android.intent.action.VIEW -p com.happproxy -d 'happ://add/<ссылка>'
Если конкретная сборка Happ не принимает ссылку так, есть официальный путь для ТВ: Happ показывает 5-значный код в «Web Import», а подписка отправляется POST-запросом на check.happ.su/sendtv/<код>. Подписка при этом проходит через сервер Happ, поэтому скрипт спрашивает разрешения.
Ссылка подписки вставляется в shell телевизора внутри одинарных кавычек, поэтому скрипт пропускает только URL из безопасных символов — https://x.ru/'; reboot не пройдёт.
Грабли первого запуска
Тестировал на живом Xiaomi — и сразу поймал две вещи, которых не было ни в одном гайде.
«failed to authenticate». При первом adb connect телевизор показывает окно «Разрешить отладку?», а adb в это время возвращает не «unauthorized», а failed to authenticate. Первая версия скрипта приняла это за ошибку. Теперь — ждёт подтверждения.
VPN на компьютере. Скрипт не находил телевизор, хотя тот был в той же сети. Выяснилось, что AmneziaVPN забирал себе маршрут и к домашней подсети:
Find-NetRoute -RemoteIPAddress 192.168.0.42 | Select InterfaceAlias # InterfaceAlias : AmneziaVPN
Пакеты к телевизору уходили в туннель. Подозреваю, что у половины читателей Хабра на компьютере сейчас включён какой-нибудь VPN, так что скрипт теперь проверяет маршрут и прямо говорит, какой адаптер мешает. Заодно он перестал сканировать сети VPN и виртуальных машин в поисках телевизора.
Итог
После чистки на моём телевизоре отключено 19 пакетов, меню открывается мгновенно, YouTube работает через SmartTube без рекламы и замедления. Всё отключённое записано в журнал, и пункт «Вернуть как было» включает это обратно.
Запустить можно одной строкой в PowerShell:
irm https://raw.githubusercontent.com/by-sonic/chistytv/main/chistytv.ps1 | iex
Что внутри:
поиск ТВ в сети и подключение, включая беспроводную отладку Android 11+ по коду;
бэкап списка приложений,
getpropи системных настроек до любых изменений;база на 132 пакета для 7 платформ: Яндекс ТВ, Салют ТВ, Xiaomi, Haier, TCL, Hisense, Google TV — каждый с пометкой «отключить», «спросить» или «не трогать», с источниками;
ваши приложения (Алиса, Кинопоиск, Okko, ivi…) отключаются только если вы их отметили;
SmartTube, Happ, открытый лаунчер без рекламных рядов и AdGuard DNS — по желанию;
для редких моделей — промпт для Claude Code / Codex, с которым ИИ-ассистент разберёт пакеты конкретного телевизора и сохранит журнал отката в том же формате.
Код и база открыты: github.com/by-sonic/chistytv. Идея и часть данных по Xiaomi, TCL и Haier — из CleanYourTV (MIT), российские платформы — по материалам 4PDA и Хабра.
Больше всего проекту сейчас нужны отчёты с реальных телевизоров: модель, платформа и вывод adb shell pm list packages. Проверено пока на одном Xiaomi — с вашей помощью список будет расти. Если что-то пошло не так — issue на GitHub или Telegram @sonic_h1.