惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
C
Check Point Blog
博客园 - Franky
V
Visual Studio Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
V2EX - 技术
V2EX - 技术
AI
AI
Hacker News - Newest:
Hacker News - Newest: "LLM"
Jina AI
Jina AI
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
H
Hacker News: Front Page
H
Hackread – Cybersecurity News, Data Breaches, AI and More
O
OpenAI News
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
爱范儿
爱范儿
H
Heimdal Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
Google Developers Blog
G
GRAHAM CLULEY
V
V2EX
The Register - Security
The Register - Security
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
Schneier on Security
Schneier on Security
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
Help Net Security
Help Net Security
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
NISL@THU
NISL@THU
K
Kaspersky official blog
Engineering at Meta
Engineering at Meta
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
宝玉的分享
宝玉的分享
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
博客园_首页
A
Arctic Wolf

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Как заставить Xiaomi TV летать: скрытые настройки, которые вырежут всю рекламу и лаги
ИИшник · 2026-06-07 · via Все публикации подряд на Хабре

Ультрабюджетные Smart TV на базе Android — это вечный компромисс. Производители отдают железо чуть ли не по себестоимости, а потом отыгрываются на пользователях: пичкают систему агрессивной рекламой, партнерским софтом и сбором телеметрии. Всё это крутится в фоне и душит и без того слабые чипсеты.

Купил я тут Xiaomi Mi TV (модель на платформе hermano под управлением Android 11, с гордыми 1.4 ГБ оперативной памяти на борту). Пользоваться им «из коробки» было больно: реакция на пульт занимала секунды, меню дергалось, а приложения открывались целую вечность. Пришлось расчехлить ноутбук, подключиться по ADB и заглянуть «под капот».

Ниже — подробный разбор того, как я убрал конфликт двух лаунчеров в памяти, заморозил PatchWall без риска окирпичить ТВ, разобрался со странным сетевым поведением YouTube и ByeDPI, а также выяснил, почему после апгрейда локальной сети до гигабита скорость интернета на телевизоре не выросла ни на мегабит.

1. Конфликт двух лаунчеров и дефицит оперативной памяти

Начал я с простого: почему оно так тормозит? Подключился к ТВ по ADB, снял слепок распределения памяти через dumpsys meminfo и увидел занятную картину:

Total PSS by process:
    142,689K: com.mitv.tvhome.atv (pid 1991 / activities)
     95,843K: com.google.android.tvlauncher (pid 9200 / activities)
     ...

В системе параллельно крутились сразу два лаунчера (домашних экрана)! С одной стороны — стандартный Google Android TV Launcher (com.google.android.tvlauncher), с другой — фирменный Xiaomi PatchWall (com.mitv.tvhome.atv), забитый рекламой и рекомендациями.

При включении телевизор принудительно запускал PatchWall (минус 140 МБ RAM). Но стоило нажать кнопку «Домой» на пульте, как поверх открывался гугловский лаунчер (еще минус 95 МБ). На устройстве с 1.4 ГБ оперативки, где под нужды Android TV и графического стека выделено менее половины объема, держать две прожорливые оболочки — это просто приговор производительности. Они постоянно дрались за память и процессорное время.


2. Разборки с сетью: YouTube, ByeDPI и загадка гигабита

После первой настройки телевизора я столкнулся с классическим сетевым багом: после перезагрузки ТВ отвалился YouTube. Подключение по Wi-Fi горит как активное, браузер работает, а YouTube уходит в бесконечную загрузку и пишет «Нет подключения к сети».

Пришлось лезть в консоль и копаться в правилах маршрутизации (ip rule и ip route show table all). Вот что там обнаружилось:

12000:	from all fwmark 0x0/0x20000 iif lo uidrange 10067-10067 lookup 1016 
14000:	from all iif lo oif tun0 uidrange 10067-10067 lookup 1016 
...
default dev tun0 table 1016 proto static scope link 

Разбираем эту схему:

  1. YouTube на телевизоре крутится под UID 10067.

  2. Правила Android принудительно заворачивают весь трафик этого UID в отдельную таблицу 1016.

  3. Эта таблица тупо гонит пакеты в интерфейс tun0.

  4. Виртуальный интерфейс tun0 создается локальной службой ByeDPI (io.github.romanvht.byedpi), которая режет TCP-пакеты, чтобы обходить замедления и DPI-блокировки.

На роутере (IP 192.168.188.1) в это время крутится sing-box с включенным Fake-IP DNS (198.18.0.0/15). Когда ТВ резолвит адрес youtube.com, DNS роутера отдает фейковый IP из диапазона 198.18.x.x.

Но при холодной перезагрузке ТВ служба ByeDPI (ByeDpiVpnService) по какой-то причине не запустилась автоматически. В итоге интерфейс tun0 просто не создался. А правила маршрутизации в системе остались! Трафик от YouTube (UID 10067) честно пытался уйти в несуществующий tun0 и падал в бездну. Стоило вручную запустить ByeDPI, как туннель поднялся и видео завелось.

Загадка: гигабит есть, а скорости нет

Вторая сетевая байка произошла во время глобального апгрейда домашней сети. Я заменил старые стомегабитные свитчи на управляемые гигабитные UniFi USW-Lite. Казалось бы, теперь-то Wi-Fi должен летать! Но замер скорости на телевизоре упрямо показывал те же ~60 Мбит/с, что и раньше.

Чтобы локализовать узкое место, я зашел по SSH прямо на роутер OpenWrt и запустил скачивание тестового файла с быстрого зеркала Яндекса:

wget -O /dev/null http://mirror.yandex.ru/debian/ls-lR.gz

И получил скорость ровно 7.87 МБ/с (около 63 Мбит/с). Это расставило все точки над i. Оказалось, что роутер подключен к провайдеру через беспроводной мост AirMax (точка-точка), реальная пропускная способность которого как раз упирается в эти 63 Мбит/с. Замена свитчей ускорила только локальный трафик внутри дома, а интернет-канал остался прежним. Мораль: всегда проверяйте скорость напрямую с WAN-порта роутера, прежде чем грешить на кабели или точки доступа.


3. Хирургическая заморозка: убираем PatchWall и системный софт

Чтобы вернуть телевизору отзывчивость, нужно избавить его от фонового мусора.

⚠️ Важное предупреждение: В интернете полно инструкций, где советуют удалять системные пакеты через команду pm uninstall. Не делайте так! Без root-прав вы удалите приложение только для текущего пользователя (user 0), но если сделать сброс ТВ до заводских настроек (Factory Reset), система попытается восстановить удаленные хвосты, не найдет их и намертво зависнет в вечном циклическом ребуте (bootloop). Наш выбор — безопасное и обратимое отключение через pm disable-user.

Подключаемся к телевизору по сети с компьютера (adb connect <IP-телевизора>:5555) и тушим PatchWall вместе с его рекламными сервисами:

Команды для отключения PatchWall
# Выключаем PatchWall и рекомендательные каналы Xiaomi
adb shell pm disable-user --user 0 com.mitv.tvhome.atv
adb shell pm disable-user --user 0 com.mitv.tvhome.mitvplus
adb shell pm disable-user --user 0 com.mitv.tvhome.michannel

# Принудительно выгружаем их из оперативной памяти
adb shell am force-stop com.mitv.tvhome.atv
adb shell am force-stop com.mitv.tvhome.mitvplus
adb shell am force-stop com.mitv.tvhome.michannel

После этого единственным живым лаунчером останется стандартный com.google.android.tvlauncher. Кнопка «PatchWall» / «Mi» на пульте просто перестанет открывать рекламу, избавляя вас от случайных нажатий.

Дальше отправляем в спячку остальные ненужные фоновые процессы:

Команды для отключения системного мусора
# Избавляемся от мертвого магазина Google Play Фильмы
adb shell pm disable-user --user 0 com.google.android.videos

# Блокируем промо-рекомендации на домашнем экране
adb shell pm disable-user --user 0 com.google.android.tvrecommendations

# Отключаем Live TV (если не используете обычную комнатную антенну)
adb shell pm disable-user --user 0 com.mitv.livetv
adb shell pm disable-user --user 0 com.mitv.livetv.ci_mediatek

# Убираем бесполезные на ТВ игровые сервисы Google Play Games
adb shell pm disable-user --user 0 com.google.android.play.games

# Запрещаем фоновой службе обновлений Xiaomi будить телевизор по ночам
adb shell pm disable-user --user 0 com.xiaomi.mitv.updateservice

Совет: Пакет голосового поиска Google Assistant (com.google.android.katniss) не трогайте. Если его отключить, микрофон на пульте перестанет реагировать на нажатия.


4. Как убрать пустые серые плашки с главного экрана

После заморозки Google Play Фильмов на домашнем экране часто остаются «призраки» — пустые рекламные строки вроде «Топ продаж» или «Рекомендуемое». В настройках каналов тумблеры для них пропадают, и обычным способом их не убрать.

Решается это банальным сбросом кэша лаунчера. Выполняем в консоли:

adb shell pm clear com.google.android.tvlauncher

Экран телевизора на секунду погаснет, лаунчер перезапустится и перестроит свою базу данных с чистого листа. Увидев, что источник рекомендаций отключен, он навсегда сотрет эти рекламные строки.

(Маленький нюанс: порядок иконок в строке быстрого запуска вернется к стандартному. Придется потратить полминуты и заново набрать любимые приложения через кнопку «+»).


5. Борьба за ресурсы: как нас грабило приложение Zona

Даже после заморозки PatchWall телевизор продолжал шуметь и греться как утюг. Я зашел в консоль, ввел uptime и опешил: средняя нагрузка (load average) перевалила за 76 при норме около 1-2!

Запускаем просмотр активных процессов (top -b -n 1) и смотрим на топ пожирателей:

   PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS
  4582 u0_a102      20   0 1.3G 144M  72M S 64.2  10.2   0:08.56 mobi.zona
    61 root         20   0    0    0    0 R 57.1   0.0   0:18.79 [kswapd0]
  4314 50053        30  10 1.2G  69M  31M S 21.4   4.9   0:13.87 dex2oat32 ...

Пазл сложился моментально. Вот три виновника тормозов:

  1. mobi.zona (клиент онлайн-кинотеатра Zona) — виновник торжества. Приложение стартовало вместе с системой и запускало фоновую службу, которая отжирала 64% процессора и 144 МБ оперативки (видимо, фоном раздавала торренты или опрашивала сервера обновлений).

  2. [kswapd0] — системный процесс ядра Linux. Из-за дикого дефицита свободной памяти он тратил 57% процессора на постоянный сброс страниц памяти в ZRAM/Swap (так называемый memory thrashing).

  3. dex2oat32 — фоновый компилятор Android, оптимизирующий байт-код приложений после ОТА-обновления. Процедура штатная, грузит систему первые 10 минут после включения, а потом засыпает.

Тушим Zona одной короткой командой:

adb shell am force-stop mobi.zona

Нагрузка на процессор моментально упала до ~12%, thrashing прекратился, а телевизор выдохнул и стал плавно реагировать на пульт.

Вывод: Для слабых Android-устройств с малым объемом оперативной памяти автозапуск стороннего софта — смерть. Если пользуетесь Zona, не забывайте закрывать её. А еще лучше — перейдите на связку Lampa + TorrServe (ru.yourok.torrserve). TorrServe запускается только тогда, когда вы непосредственно смотрите торрент, и не висит в фоне без вашего ведома.


6. Что получили в итоге

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

Параметр

Как было

Как стало

Свободная память (MemAvailable)

~450 МБ

~530+ МБ (высвободили ~80-100 МБ чистой RAM)

Активные лаунчеры в памяти

PatchWall + Android TV Home

Только Android TV Home

Свободный ресурс CPU в простое (Idle)

~10-15% (из-за фоновой Zona улетал в 0%)

~88-91%

Рекламные каналы на домашнем экране

«Топ продаж», рекомендации Xiaomi

Полностью отсутствуют

Мы не просто убрали раздражающую рекламу, а спасли устройство от постоянного свопинга в ZRAM и перегрева процессора. Теперь телевизор реагирует на пульт без задержек и без проблем тянет 4K-видео через торрент-стриминг.