Читати: English · 简体中文 · 正體中文 · Tiếng Việt · 日本語 · Italiano · Nederlands · Deutsch · Українська
## З чого почати
| У вас є | Перейдіть до |
|---|---|
| **Android TV або Google TV** | [Швидкий старт](#швидкий-старт): асистент із програмування зробить усе за приблизно п'ятнадцять хвилин. |
| **Samsung, LG, Roku, Vizio або Hisense VIDAA** | [cleanyour.tv/not-android](https://cleanyour.tv/not-android): CleanYourTV там не працює, але стеження можна вимкнути пультом. |
| **Лише телефон на Android** | Створений спільнотою [застосунок Clean Your TV](https://cleanyour.tv/app): без ноутбука й без агента. |
| **Хочете спершу подивитися** | [Що ви отримаєте](#що-ви-отримаєте): знімки нового головного екрана. |
**Офіційні посилання:** [cleanyour.tv](https://cleanyour.tv) і цей репозиторій. Інші домени з цією назвою,
як-от cleanyourtv.com, до цього проєкту не належать ([#1004](https://github.com/Gathin23/cleanyourtv/issues/1004)).
[Як це працює](#як-це-працює) · [Швидкий старт](#швидкий-старт) · [Що ви отримаєте](#що-ви-отримаєте) ·
[Підтримувані телевізори](#підтримувані-телевізори) · [Зробити вручну](#зробити-вручну) · [Лончер](#лончер) ·
[Відновлення](#відновлення-телевізора) · [Оновлення прошивки](#після-оновлення-прошивки) ·
[Запитання](#часті-запитання) · [Долучитися](#долучитися)
## Як це працює
В Android TV такий самий налагоджувальний місток, як в Android-телефонів. Увімкніть налагодження USB
в опціях для розробників на телевізорі, один раз дозвольте своєму комп'ютеру — і далі все стандартними
засобами Android:
| Крок | Що відбувається |
|---|---|
| **Резервна копія** | Список встановлених пакетів і налаштувань. |
| **Вимкнення** | Телеметрія виробника, рекламні сервіси, контентні рядки та передвстановлений мотлох — через `pm disable-user`. Нічого не видаляється, тож скрипт відкату повертає все назад. |
| **Встановлення** | Невеликий нативний лончер, який стає головним екраном. |
**Без root, без кабелю, нічого не видаляється, а відкат — один рядок, якщо передумаєте.**
Зайве ПО відрізняється за брендами, тому промпт змушує вашого асистента знайти його саме на вашому
телевізорі й спитати, перш ніж чіпати щось, чим ви могли б користуватися.
## Швидкий старт
| У вас є | Зробіть це |
|---|---|
| **Комп'ютер** | Скористайтеся промптом з асистентом із програмування: три кроки нижче. |
| **Комп'ютер без асистента** | Виконайте три кроки самі: команди є в розділі [Зробити вручну](#зробити-вручну). |
| **Лише телефон на Android** | Скористайтеся створеним спільнотою [застосунком Clean Your TV](https://cleanyour.tv/app) від [@udhaykumarbala](https://github.com/udhaykumarbala): під'єднатися, проаналізувати, очистити — приблизно за п'ять хвилин. Без ноутбука й без агента. |
Три кроки нижче розраховані на асистента із програмування: комп'ютер має бути в тій самій мережі Wi-Fi, що
й телевізор, із доступом до оболонки, а також мати Python 3, JDK версії від 17 до 22 та Android SDK
platform 34 із build-tools 34 (там асистент збирає лончер).
Без асистента [Зробити вручну](#зробити-вручну) — це та сама робота, виконана вами, і там є команди
встановлення.
Підійде будь-що з цього: Claude Code (на [0G Private Computer](https://pc.0g.ai/?utm_source=cleanyourtv&utm_medium=github&utm_campaign=readme) або з [тарифом Anthropic](https://claude.com/pricing)), [Codex](https://github.com/openai/codex), [Gemini CLI](https://github.com/google-gemini/gemini-cli) чи [Antigravity CLI](https://antigravity.google/product/antigravity-cli).
| Де | Що робити |
|---|---|
| **1. На телевізорі** | Налаштування → Налаштування пристрою → Про пристрій → натисніть OK на **Збірці (Build)** сім разів → назад → Опції для розробників → увімкніть **Налагодження USB**. Якщо бачите перемикач налагодження мережі чи ADB, увімкніть і його. Не вимикайте телевізор. |
| **2. На комп'ютері** | Склонуйте репозиторій і відкрийте цю теку в асистенті (`git clone https://github.com/Gathin23/cleanyourtv`), потім вставте [`PROMPT.md`](PROMPT.md) і впишіть модель свого телевізора. |
| **3. Ідіть за кроками** | Прийміть «Дозволити налагодження USB?» на телевізорі, далі дайте відповіді в чеклісті: якими застосунками користуєтеся, розмір док-панелі та порядок застосунків, чи лишати голосового асистента, Chromecast і оновлення. |
Клонування важливе: асистент використовує `tools/disable.sh` і `launcher/build-and-install.sh` із цього
репозиторію, а не пише власні, і саме там зберігаються резервна копія, захист Home і запис для відкату.
Асистент робить резервну копію, прибирає зайве, збирає й встановлює лончер і перевіряє кожен крок
знімками екрана, знятими з телевізора. Із цим репозиторієм як контекстом це займає близько п'ятнадцяти
хвилин.
## Що ви отримаєте
Головний екран, схожий на Apple TV, який не заважає:
| Частина | Як воно виглядає |
|---|---|
| **Цілком чорний головний екран** | Док-панель із вашими чотирма улюбленими застосунками в заокругленій смузі — там, де її розміщує Apple TV. |
| **Верхня полиця** | Називає застосунок у фокусі великим шрифтом, з навколишнім свіченням у кольорі, взятому з його обкладинки. |
| **Решта застосунків у сітці** | Виїжджає вгору, коли натиснути «Вниз». |
| **Один плаваючий скляний підсвіт** | Перестрибує з плитки на плитку. Плитка у фокусі піднімається й показує свою назву. |
| **Три матові кнопки** | Входи (порти HDMI під назвами, які ви дали їм у налаштуваннях телевізора, AV, ефірне ТБ), Wi-Fi або Ethernet із назвою мережі, Налаштування. |
| **Привітання, тонкий годинник і дата** | Шрифтом [Outfit](https://fonts.google.com/specimen/Outfit), і відповідний екран-заставка з годинником. Увімкніть `show_stats` у конфігурації або в темі, щоб під годинником з'явився один рядок: CPU, вільна пам'ять і вільне сховище. Він вимкнений, доки ви його не увімкнете, і оновлюється лише коли головний екран на екрані. |
| **Теми та картки-модулі** | Теми змінюють кольори, шпалери, док-панель і кількість стовпців без перезбирання, а картки-модулі дають іншим застосункам додати свою плитку — лише з вашого дозволу. |
І телевізор, який перестає працювати проти вас: без спонсорських рядків, без набридливого «Discover»,
без аналітики, що дзвонить додому, без застосунків, яких ви не просили.
| | |
|---|---|
|  |  |
| *Верхня полиця та навколишнє свічення* | *Входи: HDMI зі станом під'єднання, AV, ефірне ТБ* |
|  |  |
| *Сітка, один скляний підсвіт, назва плитки* | *Екран-заставка з годинником пливе, щоб нічого не вигоріло* |
|  |  |
| *Тема Aurora, надіслана через `tools/theme.sh`* | *Шість стовпців і док на шість застосунків, той самий лончер* |
|  |  |
| *З `tile_menu` утримайте OK на плитці, «Перемістити»: стрілки переносять її, «Назад» ставить на місце* | *Бібліотека застосунків: одне натискання повертає прибраний застосунок на головний екран* |
## Підтримувані телевізори
Будь-що на **Android TV** або **Google TV**.
| Платформа | Що працює |
|---|---|
| **Android TV, Google TV** | Прибирання зайвого і лончер. |
| **Fire TV** | Лише частина з прибиранням, бо Fire OS не віддає головний екран сторонньому лончеру. А на Fire TV Box 2015 року (Fire OS 5) не працює й ця частина: будь-який шлях через `pm` відхиляється. |
| **Деякі TCL для ринку Китаю** | Вони відмовляються встановлювати будь-який лончер; у їхніх списках це зазначено в заголовку. |
| **Samsung (Tizen), LG (webOS), Roku, Vizio, Hisense VIDAA** | Не підтримуються (немає ADB). Натомість вимкніть стеження: [cleanyour.tv/not-android](https://cleanyour.tv/not-android). Дивіться [SHOWCASE.md](SHOWCASE.md#other-platforms-fire-tv-and-lg-webos) — там чотири порти для webOS, і [docs/devices/samsung-tizen.md](docs/devices/samsung-tizen.md) про те, що відповідає телевізор Samsung 2021 року через Wi-Fi (без ADB, тож без `pm disable-user`), якщо ви міркуєте над портом для Tizen. |
Перевірені списки від учасників — по теці на модель у [`examples/`](examples/). Бренди з найбільшою
кількістю списків, кожен з посиланням на свої моделі на сайті:
| | | | | | |
|---|---|---|---|---|---|
| [TCL](https://cleanyour.tv/tvs?q=TCL) · 78 | [Sony](https://cleanyour.tv/tvs?q=Sony) · 42 | [Xiaomi](https://cleanyour.tv/tvs?q=Xiaomi) · 35 | [Philips](https://cleanyour.tv/tvs?q=Philips) · 21 | [Skyworth](https://cleanyour.tv/tvs?q=Skyworth) · 15 | [Hisense](https://cleanyour.tv/tvs?q=Hisense) · 14 |
| [Amazon Fire TV](https://cleanyour.tv/tvs?q=Amazon%20Fire%20TV) · 8 | [SHARP](https://cleanyour.tv/tvs?q=SHARP) · 8 | [BenQ](https://cleanyour.tv/tvs?q=BenQ) · 6 | [JVC](https://cleanyour.tv/tvs?q=JVC) · 6 | [Panasonic](https://cleanyour.tv/tvs?q=Panasonic) · 6 | [OnePlus](https://cleanyour.tv/tvs?q=OnePlus) · 4 |
| [Thomson](https://cleanyour.tv/tvs?q=Thomson) · 4 | [Google](https://cleanyour.tv/tvs?q=Google) · 3 | [Grundig](https://cleanyour.tv/tvs?q=Grundig) · 3 | [Haier](https://cleanyour.tv/tvs?q=Haier) · 3 | [Motorola](https://cleanyour.tv/tvs?q=Motorola) · 3 | [NVIDIA Shield](https://cleanyour.tv/tvs?q=NVIDIA%20Shield) · 3 |
| [RCA](https://cleanyour.tv/tvs?q=RCA) · 3 | [Redmi](https://cleanyour.tv/tvs?q=Redmi) · 3 | [Toshiba](https://cleanyour.tv/tvs?q=Toshiba) · 3 | [Vu](https://cleanyour.tv/tvs?q=Vu) · 3 | [Acer](https://cleanyour.tv/tvs?q=Acer) · 2 | [CHiQ](https://cleanyour.tv/tvs?q=CHiQ) · 2 |
| [EKO](https://cleanyour.tv/tvs?q=EKO) · 2 | [FFalcon](https://cleanyour.tv/tvs?q=FFalcon) · 2 | [Hitachi](https://cleanyour.tv/tvs?q=Hitachi) · 2 | [Insignia Fire TV](https://cleanyour.tv/tvs?q=Insignia%20Fire%20TV) · 2 | [Kalley](https://cleanyour.tv/tvs?q=Kalley) · 2 | [Kogan](https://cleanyour.tv/tvs?q=Kogan) · 2 |
+57 more brands and 14 projector brands
**Master-G** 2 · **Nokia** 2 · **onn** 2 · **PRISM+** 2 · **RockTek** 2 · **Sankey** 2 · **Sber** 2 · **Vidda** 2 ·
AiPro2K · AIWA · AQUA · Artel · ASUS · Beko · BGH · Caxium · Cecotec · Challenger · Compac · Dcolor · DEXP · Dialog ·
DYON · Freebox · Hikeen · Home+ · Impex · INCLO · Karbonn · Koryo · KTC · Liberton · Lumio · Magyar Telekom · MECOOL ·
MTC · Next · Noblex · OK. · OPPO · Panavox · PEAQ · Polytron · PPTV · Prosonic · Salora · SANYO · Seleco ·
Super General · Síragon · Tele System · TiVo · Tornado · Turkcell · Tuvio · Verizon · Vision ·
Alwtniet, Anker Nebula, BYINTEK, Epson, Formovie, Gadnic, HOTACK, HY320, JMGO, Magcubic, Portronics, Stellamore, Wanbo and XGIMI projectors
**Знайдіть свій телевізор:** пошук на [cleanyour.tv/tvs](https://cleanyour.tv/tvs) або повна таблиця в
[examples/README.md](examples/README.md).
Вашого телевізора тут немає? Промпт знаходить зайве ПО сам. Додайте свій список потім — і наступна
людина з такою моделлю пропустить цей крок: [CONTRIBUTING.md](CONTRIBUTING.md).
## Зробити вручну
Усе, що робить асистент, ви можете виконати самі. Спершу на комп'ютері має бути дві речі:
| Потрібно | Для чого |
|---|---|
| **Python 3** (будь-який 3.x) | Інструменти. Команда venv нижче встановить те, що вони імпортують. |
| **JDK від 17 до 22** (повний JDK, включно з `jlink`) та **Android SDK platform 34** з **build-tools 34.0.0 або будь-яким новішим 34.x** | Збирання лончера. JDK 23 і новіші ламають Gradle 8.9. Platform 34 — саме той, який читає збирання; новіша платформа його не замінює. На macOS, якщо нічого з цього не встановлено: `brew install openjdk@17 android-commandlinetools`, потім `sdkmanager "platforms;android-34" "build-tools;34.0.0"`. У Linux скрипт встановлення шукає в `~/Android/Sdk` і `java` у вашому PATH. |
`tools/tv.py` спілкується з мережевим ADB на порту 5555. Якщо цей порт лишається закритим, а телевізор
пропонує бездротове налагодження з кодом спарювання (так роблять Chromecast with Google TV і Google TV
Streamer), спаруйте його один раз штатним `adb` і виконайте `adb tcpip 5555`, як описано в
[Усунення несправностей](docs/TROUBLESHOOTING.md#connecting).
```bash
python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50 # IP-адреса вашого телевізора
tools/venv/bin/python -I tools/tv.py --probe # модель, версія Android, прошивка
tools/venv/bin/python -I tools/tv.py 'pm list packages' # одна команда оболонки на телевізорі
tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt # застосувати список прибирання
tools/restore.sh examples/xiaomi-mi-tv-4a/debloat.txt # скасувати його, повернути штатний лончер
tools/venv/bin/python -I tools/check.py examples/xiaomi-mi-tv-4a/debloat.txt # що скасувало оновлення прошивки
TV_HOST=192.168.1.50 launcher/build-and-install.sh # зібрати лончер і зробити його головним
tools/theme.sh themes/aurora # надіслати тему; --reset прибирає її
```
| Інструмент | Що робить |
|---|---|
| [`tools/tv.py`](tools/tv.py) | Клієнт ADB чистим Python: оболонка, пакетні команди, push, pull, перезавантаження та знімки екрана, за потреби з попереднім натисканням клавіш пульта. Працює там, де штатний бінарник `adb` заблоковано. Необов'язковий [спарений бекенд Google ADB](tools/native-adb.md) для зашифрованого бездротового налагодження. |
| [`tools/docker-build.sh`](tools/docker-build.sh) | Збирає лончер або додаток у Docker (JDK 17, Android SDK 34), тож на цьому комп'ютері потрібен лише Docker. Встановіть результат через `SKIP_BUILD=1`. [Посібник](tools/docker-build.md). |
| [`tools/b64push.py`](tools/b64push.py) | Завантажує великі файли, як-от APK, частинами в base64 і перевіряє контрольну суму. |
| [`tools/relay.py`](tools/relay.py) | Переспрямовує локальний порт на порт ADB телевізора — для асистентів, чия пісочниця не бачить вашої мережі. Слухає лише на цьому комп'ютері. [Посібник](tools/relay.md). |
| [`tools/disable.sh`](tools/disable.sh), [`restore.sh`](tools/restore.sh) | Застосовують або скасовують список прибирання; скасування — за станом, записаним до змін. |
| [`tools/recovery.py`](tools/recovery.py) | Записує стан, потрібний `disable.sh` для самовідкату, і друкує пакет команд відновлення. |
| [`tools/check.py`](tools/check.py) | Порівнює телевізор зі списком, який було застосовано, — щоб побачити, що скасувало оновлення прошивки; `--fix` повертає все назад. |
| [`tools/adb-closed.py`](tools/adb-closed.py) | Перевіряє, що мережевий порт ADB телевізора закрито після вимкнення налагодження: код виходу 0, коли телевізор відхиляє з'єднання, 1 — поки порт відкритий, 2 — коли ніхто не відповів або сама перевірка не виконалася. `nc` не потрібен. |
| [`tools/privacy.py`](tools/privacy.py) | Перевіряє телевізор на кандидатів щодо голосу, ACR і телеметрії та друкує докази для кожного; `--write` перетворює знайдене на список, який уже розуміють `disable.sh` і `restore.sh`. |
| [`tools/theme.sh`](tools/theme.sh), [`theme_restart.py`](tools/theme_restart.py) | Надсилає теку з [`themes/`](themes/) до лончера й перезапускає головний екран. |
| [`tools/manage.py`](tools/manage.py) | Показує всі додатки, теми й перемикачі з їхніми знімками, що вже на телевізорі, і дає встановити, оновити чи прибрати щось, запустивши власний скрипт автора. |
| [`tools/bench.py`](tools/bench.py) | Вимірює лончер, який відповідає на HOME: затримку клавіш, наскільки перемістився фокус, «рвані» кадри, холодний старт, повернення на головний екран і спожиті CPU та PSS у простої. Нічого не змінює на телевізорі й записує сирі показники по кожній клавіші в JSON; без додаткового встановлення. |
| [`tools/trace.py`](tools/trace.py), [`trace_report.py`](tools/trace_report.py) | Записує трейси Perfetto для лончера (повернення на головний, холодний старт, D-pad) і звітує, куди йде час — за кожен запуск і «до» проти «після». Необов'язково: потрібен [`requirements-perf.txt`](tools/requirements-perf.txt). [Посібник](tools/trace.md). |
| [`tools/flamechart.py`](tools/flamechart.py) | Малює діаграму полум'я «до/після» з цих трейсів — для pull request: одна смуга на потік на спільній шкалі часу, а робота, на яку спрямована зміна, — пурпуровим із підсумком. Необов'язково, як і інструменти трейсів. [Посібник](tools/flamechart.md). |
| [`tools/screendiff.py`](tools/screendiff.py) | Порівнює знімки «до» і «після» попіксельно, ігноруючи годинник чи будь-що замасковане, і записує пару з розмитою назвою вашої мережі Wi-Fi. Необов'язково, як і інструменти трейсів. [Посібник](tools/screendiff.md). |
| [`tools/race_calendar.py`](tools/race_calendar.py) | Записує календар Формули-1 цього сезону в тему для режиму гоночних вихідних, беручи дані з безкоштовного API Jolpica. |
| [`launcher/build-and-install.sh`](launcher/build-and-install.sh) | Збирає зменшений реліз (близько 572 КБ), встановлює його, перемикає головний екран і відкочується, якщо той не став на нього. |
Скрипти ніколи не лишають телевізор без застосунку головного екрана: вони вимикають лише штатний лончер,
який розпізнають, і пропускають застосунок головного екрана у списку, доки якийсь лончер не відповість на
HOME. Ваші власні списки можуть лежати поза репозиторієм: шляхи до списків відносні до теки, з якої ви
запускаєте, і абсолютні шляхи теж працюють.
Windows (PowerShell)
У кожного скрипта поруч є близнюк для PowerShell. Встановіть Python 3 і JDK від 17 до 22, а в SDK Manager
додайте platform 34 і build-tools 34 (34.0.0 або будь-який новіший 34.x). Скрипт використовує `JAVA_HOME`,
якщо той указує на JDK із цього діапазону, а інакше — вбудований JDK з Android Studio, якщо він у тому
самому діапазоні:
```powershell
python -m venv tools\venv; tools\venv\Scripts\python.exe -m pip install -r tools\requirements.txt
powershell -ExecutionPolicy Bypass -File launcher\build-and-install.ps1 -TvHost 192.168.1.50
powershell -ExecutionPolicy Bypass -File tools\disable.ps1 -TvHost 192.168.1.50 examples\xiaomi-mi-tv-4a\debloat.txt
powershell -ExecutionPolicy Bypass -File tools\restore.ps1 -TvHost 192.168.1.50 examples\xiaomi-mi-tv-4a\debloat.txt
powershell -ExecutionPolicy Bypass -File tools\theme.ps1 -TvHost 192.168.1.50 themes\aurora
```
Останні два — це відкат і надсилання теми, ті самі рядки `tools/restore.sh` і `tools/theme.sh`, які
розділи вище подають у bash. На Google TV відкат захоплює й штатний лончер:
`-Stock com.google.android.apps.tv.launcherx`.
Як скрипти захищають головний екран
Скрипти встановлення питають телевізор, який лончер володіє головним екраном, і вимикають лише той, який
розпізнають, — чотири з `KNOWN_STOCK_LAUNCHERS`: `com.google.android.tvlauncher`,
`com.google.android.apps.tv.launcherx`, `com.google.android.leanbacklauncher` і `com.mitv.tvhome` від
Xiaomi (PatchWall). Передайте `STOCK_LAUNCHER=` (`-StockLauncher`), щоб перевизначити, або `none`,
щоб не чіпати його.
`tools/disable.sh` (`disable.ps1`) застосовує те саме правило, перш ніж щось вимкнути:
- Якщо список містить застосунок, який володіє головним екраном, а жоден інший застосунок на телевізорі не
відповідає на HOME, скрипт пропускає цей рядок, пояснює чому й вимикає решту списку. Тож список,
застосований до передачі головного екрана, не може лишити телевізор без нічого для запуску.
- Майстер початкового налаштування, застосунки налаштувань, `FallbackHome` виробника та заводські тестові
застосунки (як-от `com.duokan.factorytest` від Xiaomi) теж відповідають на HOME, але не рахуються.
- На Google TV він також зберігає власника, поки setupwraith відповідає на HOME і лишається ввімкненим (не
внесений у список або збережений для мережі Wi-Fi): setupwraith відповідає раніше за встановлений лончер,
який ще не став головним, тож він би забрав головний екран.
Запустіть той самий список ще раз, коли `launcher/build-and-install.sh` зробить новий лончер головним і
рядок буде застосовано; `FORCE_HOME=1` (`$env:FORCE_HOME`) вимикає його попри все.
## Мікрофон, і що про нього можна сказати
«Хто з цих пакетів слухає?» не має чесної однозначної відповіді: перевірка дозволів показує п'ятдесят
системних пакетів із `RECORD_AUDIO`, які нічого не записують, а клієнти ACR бачать екран зовсім без
дозволу на аудіо. [`tools/privacy.py`](tools/privacy.py) повідомляє те, що телевізор справді каже, з
доказами для кожного кандидата щодо голосу, ACR і телеметрії:
`TV_HOST=192.168.1.50 tools/venv/bin/python -I tools/privacy.py`, а `--write` перетворює їх на звичайний
список прибирання. Чого перевірка не може — це довести намір: [docs/privacy.md](docs/privacy.md) пояснює
чому.
## Лончер
Невеликий нативний головний екран для Android TV: **близько 572 КБ**, чистий Java, зібраний для телевізорів
із 1 ГБ оперативної пам'яті. Без розмиття, без відео, без дозволу на мережу, без фонових служб.
**Телевізору** потрібен Android 8.0 (API 26) або новіший — це `minSdk` у
[`launcher/app/build.gradle`](launcher/app/build.gradle); що лишається на старішому наборі, є в
[Усуненні несправностей](docs/TROUBLESHOOTING.md).
| Що | Як працює |
|---|---|
| **Налаштування** | Порядок дока, приховані застосунки, застосунок ефірного ТБ, від 4 до 7 плиток у рядку, зменшений рух. Усе в [`config.xml`](launcher/app/src/main/res/values/config.xml) |
| **Налаштування на телевізорі** | Утримайте OK на «Налаштуваннях», щоб відкрити налаштування лончера. Необов'язковий `launcher_settings_button` робить так, що звичайне натискання відкриває їх одразу; налаштування телевізора лишаються на сторінці налаштувань і на своїй плитці |
| **Теми** | Тло, шпалери й розкладка з `config.json`, надісланого через Wi-Fi, без перезбирання. У [`themes/`](themes/) постачається чотирнадцять, включно з вбудованою `default/` |
| **31 мова** | Дотримується мови телевізора, з повністю дзеркальним розкладом справа наліво для івриту |
| **Бібліотека застосунків** | Необов'язково: перегляд усіх встановлених застосунків і додавання чи прибирання ярликів із головного екрана. Дивіться [посібник із бібліотеки застосунків](docs/app-library.md) |
| **Меню плитки** | Необов'язково (`tile_menu`): утримайте OK на плитці для «Перемістити», «Прибрати з головного» та «Про застосунок». Вимкнено — утримання OK відкриває «Про застосунок» |
| **Картки-модулі** | Будь-який застосунок на телевізорі може запропонувати власну плитку; ви схвалюєте кожну один раз. Дивіться [`docs/modules.md`](docs/modules.md) |
| **Додатки** | Необов'язкові застосунки, що під'єднуються як картки-модулі; лежать у [`addons/`](addons/) і ніколи не вбудовуються в лончер |
| **Екран-заставка з годинником** | Годинник, що пливе над свіченням, щоб нічого не вигоріло |
| **Клавіші пульта** | Зберігає роботу кнопок «Вхід», YouTube і шестерні після зникнення штатного лончера |
Теми, перемикачі й додатки разом, зі знімками: [cleanyour.tv/addons](https://cleanyour.tv/addons).
**Більше:** [docs/launcher.md](docs/launcher.md) містить сторінку налаштувань лончера рядок за рядком, зміну
головного екрана за замовчуванням, мови, клавіші пульта, екран-заставку з годинником, навігацію та
збирання власноруч.
## Відновлення телевізора
Збережіть список, який застосували. Один рядок повертає телевізор до попереднього стану:
```bash
TV_HOST=192.168.1.50 tools/restore.sh examples//debloat.txt # Android TV
TV_HOST=192.168.1.50 tools/restore.sh examples//debloat.txt com.google.android.apps.tv.launcherx # Google TV
```
| Що | Як |
|---|---|
| **Спершу запис** | Перш ніж `tools/disable.sh` щось змінить, він записує, як виглядав телевізор, у `~/.cleanyourtv/`. |
| **Відкат відтворює його** | Пакет, який ви вимкнули самі, лишається вимкненим, а головний екран повертається до компонента, який ним володів. |
| **Лончер лишається встановленим** | Приберіть його в «Налаштування → Застосунки» на телевізорі, якщо хочете позбутися. |
| **Немає комп'ютера?** | Якщо телевізор недоступний, його власна сторінка «Налаштування → Застосунки» теж може знову ввімкнути пакети. |
**Більше:** [docs/restore.md](docs/restore.md) розповідає, що містить запис, коли має значення аргумент
штатного лончера і що буває без запису.
## Після оновлення прошивки
Оновлення встановлюється поверх очищеної системи: пакети зі списку повертаються, головний екран переходить
до штатного лончера, і з'являються нові передвстановлені застосунки, яких немає в жодному списку. Увімкніть
ADB знову, як у [Швидкому старті](#швидкий-старт) кроці 1, потім порівняйте телевізор зі списком, який
застосували; `--fix` повертає все назад:
```bash
TV_HOST=192.168.1.50 tools/venv/bin/python -I tools/check.py examples//debloat.txt
```
**Більше:** [docs/firmware-updates.md](docs/firmware-updates.md) містить коди виходу, тижневу перевірку, що
саме змінює `--fix`, телевізори, які лишають штатний лончер головним, і списки, що вимикають засіб
оновлення.
## Коли щось іде не так
Повний перелік того, що нас гризло, є в [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md). Три
найважливіші:
- 🍎 **macOS блокує `adb connect`** («No route to host») через приватність локальної мережі. `tools/tv.py` обходить бінарник.
- ⚠️ **Вимикайте штатний лончер лише після того, як новий встановлено й запущено**, інакше головний екран опиниться на заводському тестовому застосунку. Скрипт встановлення сам дотримує цей порядок.
- 🔁 **На Google TV майстер налаштування** (`com.google.android.tungsten.setupwraith`) може забрати головний екран і зациклити збій системи після вимкнення штатного лончера. Вимкніть і його та внесіть у свій `debloat.txt`, щоб відкат повернув його.
- Але спершу перевірте `dumpsys wifi | grep -o 'cname=[^ ]*'`: якщо мережу Wi-Fi було збережено під час налаштування, вона належить setupwraith, і вимкнення видалить мережу (спершу приєднайтеся до неї в «Налаштуваннях»; `tools/disable.sh` пропускає setupwraith, доки ви цього не зробите).
- На власному Chromecast від Google і на Google TV Streamer це також коштує трансляції з телефона, дивіться [Усунення несправностей](docs/TROUBLESHOOTING.md).
- Уже застрягли? `tools/tv.py 'pm enable --user 0 com.google.android.apps.tv.launcherx'`.
## Часті запитання
Я не програмую і не маю ноутбука. Усе одно зможу?
Так. [@udhaykumarbala](https://github.com/udhaykumarbala) створив безкоштовний відкритий [застосунок для
телефона](https://cleanyour.tv/app) на Android, який робить те саме очищення через Wi-Fi: під'єднується до
телевізора, спершу показує план, зберігає точку відкату і лише вимикає застосунки, тож усе можна повернути.
Це розробка спільноти.
Це безпечно? Чи можна цим зламати телевізор?
Нічого не прошивається, не рутується й не видаляється; пакети вимикаються
в профілі користувача. Ризик — вимкнути щось, на що телевізор спирається, тому списки застосовують
невеликими партіями, маючи напоготові скрипт відкату. Власна сторінка телевізора «Налаштування →
Застосунки» може знову ввімкнути пакети навіть без інструментів. Якщо телевізор більше не запускається
настільки, щоб це зробити, зазвичай повертає заводське скидання з меню відновлення.
Більше: [docs/faq.md](docs/faq.md#is-this-safe-can-it-brick-the-tv)
А як щодо оновлень прошивки?
У більшості списків засіб оновлення лишається ввімкненим, тож оновлення прошивки надходять як завжди.
Деякі списки вимикають власний засіб оновлення телевізора, і на них оновлення прийде лише коли ви знову
його ввімкнете. Коли воно таки надходить, воно встановлюється поверх очищеної системи, тож якийсь пакет
повертається, і ви запускаєте скрипт знову: дивіться
[Після оновлення прошивки](#після-оновлення-прошивки).
Чи не зламаються застосунки?
Застосунки для стрімінгу й далі оновлюються через Play Store, якого ми не чіпаємо.
Лончер лише показує те, що встановлено, і запускає це інтентами, стабільними вже десять років.
Чи можу я зробити це для когось в іншому домі?
Так, через приватний канал [Tailscale](https://tailscale.com)
замість спільної мережі Wi-Fi: або Tailscale на їхньому телевізорі, наданий вам, або комп'ютер чи Apple TV
у їхньому домі, який маршрутизує до нього. Ніколи — відкриваючи порт ADB на їхньому роутері. Крок за
кроком у [docs/REMOTE.md](docs/REMOTE.md).
Хіба доступ ADB — не діра в безпеці?
Це один явний дотик «дозволити цей комп'ютер» на телевізорі, той самий, що й
під час розробки застосунку для Android. Мережевий ADB передає дані відкритим текстом на порту 5555, і на
деяких прошивках будь-який пристрій у локальній мережі отримує оболонку, тож закривайте його, коли
закінчили:
1. На телевізорі: «Опції для розробників» → вимкніть **Налагодження USB**, **Налагодження мережі/ADB** і
**Бездротове налагодження** — те, що є на вашому телевізорі, — і відкличте авторизації налагодження USB.
2. Перезавантажте телевізор, потім переконайтеся, що порт зник, зі свого комп'ютера:
`python3 tools/adb-closed.py ` має сказати, що порт закрито.
Лончер продовжує працювати без налагодження. Більше, зокрема про перевірку власного порту бездротового
налагодження: [docs/faq.md](docs/faq.md#isnt-adb-access-a-security-hole)
Чи може воно блокувати рекламу всередині застосунків?
Частково, за допомогою приватного DNS Android (Android 9 і новіші). Спрямуйте
його на резолвер, що блокує рекламу, як-от [AdGuard DNS](https://adguard-dns.io), і домени реклами та
трекерів у всіх застосунках перестануть розпізнаватися — системно, переживаючи перезавантаження. Ціна
цього: такий резолвер бачитиме всі DNS-запити телевізора, і рекламу в YouTube він не прибирає.
Більше, з двома командами й тим, як повернутися назад: [docs/faq.md](docs/faq.md#can-it-block-ads-inside-apps-too)
Чи варто перемкнути щось і в самих налаштуваннях телевізора?
Дещо — і для цього ADB не потрібен: рекламний ідентифікатор, «Місцезнаходження», «Використання й
діагностика» та «Сканування завжди доступне», а ще режим «Лише застосунки», де штатний лончер лишається.
Перемкніть «Використання й діагностика» до прибирання: на деяких телевізорах її сторінка зникає разом із
ним.
Більше, зі шляхами для Google TV, Android TV і Fire OS:
[docs/faq.md](docs/faq.md#are-there-switches-in-the-tvs-own-settings-worth-flipping-too)
AirPlay?
Не з цього репозиторію. Вбудований Chromecast лишається для телефонів на Android. Для iPhone
працює [jqssun/android-airplay-server](https://github.com/jqssun/android-airplay-server); скрипт
встановлення для нього є в [PR #84](https://github.com/Gathin23/cleanyourtv/pull/84).
Чи можна просто завантажити APK?
Зберіть його однорядковим скриптом із [Зробити вручну](#зробити-вручну); це займає хвилину, і ви
контролюєте, що потрапляє на ваш телевізор. Для цього потрібні JDK і Android SDK, названі там. Готових
бінарників немає.
## Історія
17 жовтня 2026 року я опублікував [«до» і «після»](https://x.com/gathint/status/2111379569030939102) телевізора
своїх батьків, очищеного Claude Code через Wi-Fi. Це зібрало 8,6 млн переглядів, люди почали робити те саме
зі своїми телевізорами, і їхні відповіді перетворилися на списки тут: 170+ моделей телевізорів від 200+
учасників за перші чотири дні. До 19-го репозиторій називався tv-vibehack; старі посилання працюють.
Через два тижні репозиторій став №1 у трендах GitHub за тиждень 19–25 жовтня: понад 46 тис. зірок і 5,7 тис.
форків, 1,4 млн переглядів і 260 тис. клонів за 14 днів. Тепер списки охоплюють 380 моделей телевізорів від
101 бренду. Публікації: 351 стаття з 46 країн і 229 відео на YouTube та Bilibili, усе в [docs/PRESS.md](docs/PRESS.md)
(станом на 30 жовтня 2026 року).
## Долучитися
Найкорисніший внесок — список прибирання для вашого телевізора, щоб наступній людині з такою моделлю не
довелося відкривати його заново. [CONTRIBUTING.md](CONTRIBUTING.md) містить формат і тестування, які ми
просимо. Долучаєтеся через агента? [AGENTS.md](AGENTS.md) дає йому ті самі правила.
| Як допомогти | Що це означає |
|---|---|
| **Список прибирання для вашого телевізора** | Найкорисніше: наступна людина з такою моделлю пропускає відкриття. |
| **Лончер і промпт** | Покращення лончера та точніші формулювання промпту теж вітаються. |
| **Зробили щось поверх?** | Лончер, порт, тему: додайте до [SHOWCASE.md](SHOWCASE.md), де вже живуть сто шістдесят три проєкти, поділені на головні екрани, форки, додатки, інструменти та інші платформи, з покажчиком за брендами телевізорів. |
Люди, чия робота є в цьому репозиторії:
Історія зірочок
## Контакти
| Для чого | Де |
|---|---|
| **Запитання про ваш телевізор** | [GitHub Discussions](https://github.com/Gathin23/cleanyourtv/discussions) |
| **Преса та запити** | [hello@itsgathin.com](mailto:hello@itsgathin.com) |
| **Проблеми безпеки** | Повідомляйте приватно через вкладку [Security](https://github.com/Gathin23/cleanyourtv/security), дивіться [`SECURITY.md`](SECURITY.md) |
## Правова інформація
- CleanYourTV — незалежний відкритий проєкт. Він не пов'язаний із жодним виробником телевізорів чи
платформою, не схвалений і не спонсорований ними. Назви брендів і моделей використовуються лише щоб
сказати, на якому телевізорі тестували список, і лишаються торговими марками їхніх власників.
- Він працює лише через налаштування, які телевізор сам пропонує своєму власникові: «Опції для розробників»,
налагодження ADB і власний `pm disable-user` Android — той самий перемикач, що й «Налаштування →
Застосунки → Вимкнути». Він не рутує телевізор, не прошиває його, не обходить жоден замок, DRM чи захист
від копіювання, і репозиторій не містить програмного забезпечення, прошивок чи APK виробників.
- Нічого не видаляється, і `tools/restore.sh` повертає все назад. Ви запускаєте це на власному телевізорі,
під власну відповідальність, і зміна програмного забезпечення телевізора може вплинути на його гарантію
чи підтримку.
- Усе тут надається як є, без жодних гарантій, за ліцензією MIT нижче.
## Ліцензія
MIT, дивіться [`LICENSE`](LICENSE). Шрифт Outfit — за SIL Open Font License, дивіться
`launcher/FONT-LICENSE-OFL.txt`.