- 新买的 Sony、TCL 或小米电视开机广告和厂商推荐位太多:这个工具按品牌列出可禁用的包并逐项确认,比自己在 adb shell 里翻 pm list packages 猜包名快得多,而且有恢复脚本兜底。
- 想把电视当纯显示器用、只留流媒体 App:禁用遥测和广告服务后,系统更新和后台服务被切断,待机功耗和弹窗都会减少,代价是部分厂商功能(如 Sony 快速设置)可能一起失效。
- 家里有老人或非技术用户:换成单层黑色主屏后,遥控器操作路径变短,不需要在厂商桌面里翻三层菜单找 App。
- 批量处理多台同品牌电视(出租房、民宿):脚本按品牌自动发现预装应用,同一套流程可以重复跑,不用每台重新查包名。
cleanyourtv
Gathin23活跃维护 有专家点评通过 Wi-Fi 远程精简 Android TV 和 Google TV 的预装软件,并换成类似 Apple TV 的简洁主界面,顺带拦截广告、保护隐私。
Debloat any Android or Google TV over Wi-Fi and get an Apple TV-style home.
专家点评
上手难度:进阶更新于 2026-11-11用 ADB 从 Wi-Fi 侧禁用 Android TV 预装应用并换掉默认桌面,替代手动逐条 adb shell 操作
适用场景
踩坑
- 电视端必须开 USB 调试并和电脑在同一 Wi-Fi;部分厂商固件会在重启后关闭调试或拒绝 pm disable-user,2015 款 Fire TV Box 上 pm 命令全部被拒就是这类情况,跑之前先确认机型在支持列表里。
- 换桌面这一步在 Fire TV 和中国版 TCL 上会失败:Fire TV 只支持精简应用,部分 TCL 固件拒绝安装任何第三方启动器,脚本能禁用应用但改不了默认桌面。
- 电脑侧要装 JDK 17–22 和 Android SDK platform 34、build-tools 34,只是为了跑 ADB 和构建启动器;如果本机已有 adb 且不打算改启动器源码,这部分依赖是纯负担。
- issue 里反复出现遥控器按键映射问题(小米 INPUT 键、Sony BRAVIA 设置键),说明换桌面后原厂遥控器的部分按键行为会变,依赖特定按键的用户要留意。
同类对比
同类工具是 Universal Android Debloater,它覆盖面更广(手机和电视通用)但不换桌面;只想禁用预装应用、不介意保留原厂桌面的话,用 UAD 更稳。
git clone https://github.com/Gathin23/cleanyourtv需要一台与电视处于同一 Wi-Fi 的电脑,并具备 shell、Python 3、JDK 17–22 和 Android SDK platform 34 与 build-tools 34;电视需为 Android TV 或 Google TV,并开启 USB 调试。README 未提及显存或 GPU 要求。
项目说明
由 README 自动翻译提炼通过 Wi-Fi 给 Android TV 和 Google TV 精简预装应用,并换成 Apple TV 风格桌面
通过 Wi-Fi 远程精简 Android TV 和 Google TV 的预装软件,并换成类似 Apple TV 的简洁主界面,顺带拦截广告、保护隐私。
核心能力
- 用 pm disable-user 禁用厂商遥测、广告服务和预装应用,不卸载任何东西
- 安装轻量原生启动器并设为默认桌面,提供类似 Apple TV 的黑色主屏
- 提供一行命令的恢复脚本,可撤销全部改动
- 按品牌自动发现预装应用,改动前逐项询问确认
- 支持主题和模块卡片,无需重新编译即可更换配色与列数
容易踩的坑
Fire TV 只能精简预装应用,无法更换桌面;2015 款 Fire TV Box 的 pm 命令全部被拒绝。部分中国版 TCL 电视拒绝安装任何第三方启动器。Samsung Tizen、LG webOS、Roku、Vizio、Hisense VIDAA 不支持,因为没有 ADB。
- v3.4.0CleanYourTV 3.4: five new themes, 442 TV models and tighter security最新正式版2026-11-05 · 2026-11-05 14:36 UTC
Think of CleanYourTV as the Linux of smart TVs: an open base that anyone can start from. In four days, people built on it again: five new themes, from photos taken on the space station to a snowy night with Santa's sleigh, two new add-ons, and 212 projects in the showcase, made by people who took the launcher and made it theirs. The launcher itself gets fixes for clocks that stopped, Mi TV picture settings and remote buttons that opened the wrong app.
Since v3.3.0: 442 TV models (from 407), 117 brands (from 106), 21 themes (from 16), 33 add-ons (from 31), 212 projects in the showcase (from 177), 247 pull requests from 143 people in four days. No binaries, as always: build the launcher with
launcher/build-and-install.sh.Highlights
- Security improvements in the tools and in the way contributions are tested
- Five new themes (21 now): aerial, christmas, stockholm, dock-glass and weeb
- 212 projects in the showcase, among them four Continue watching shelves, a split-flap Departures board and the Nothing OS look
- 35 more TVs from 11 new brands: AiPro4K, HAAM, Jio, KUNFT, Kodak, Philco, Smarttech, SunWind, Tesla, VISIO and X.Vision
- Clocks that keep moving on TCL Android 9 TVs that stop the minute tick after standby (#3044)
- Picture settings on Mi TVs: Quick Settings opens Xiaomi's own picture page instead of an empty one (#3260)
- Two new add-ons: Tatami, a screensaver of small rooms that rearrange themselves (#3181), and Lịch Vạn Niên, an offline Vietnamese lunar almanac (#3136)
- The README in Brazilian Portuguese (#3111), and the Italian docs grow by four pages (#3152, #3153)
Themes
- aerial: NASA photos from the International Space Station, in the spirit of Apple TV's Aerials, each with its caption (#3126)
- christmas: a snowy night with Santa's sleigh, drawn in code and CC0, until 6 January 2027 (#2802)
- stockholm: Riddarfjärden in eight lights through the day, drawn in code and CC0 (#3125)
- dock-glass: one glass dock over the wallpaper, nothing else (#3107)
- weeb: original neon-outline anime characters on black (#2924)
Twenty-one themes now, the built-in
default/included. Apply one withtools/theme.sh, no rebuild; browse them at cleanyour.tv/addons.Launcher 3.4
Nothing changes unless your TV needed the fix or a theme turns a switch on.
- Clocks keep moving where the firmware stops sending the minute tick after a power-button standby, as a TCL UnionTV on Android 9 does: Home's clock and the clock screensaver redraw each minute and when the screen comes back (#3044)
- Picture settings on Mi TVs: on Xiaomi sets, Android's display settings is an empty page, so Quick Settings now opens Xiaomi's own picture settings where they're installed (#3260)
- A remote button mapped to an input (
app_keyswithinput:) opens through the Live TV app first, as the Inputs menu already does. On a TCL G03 the TV button opened an "Open with" box instead of the tuner (#3173) inputs_cec_state_only: for TVs that report HDMI connections on the wrong port, only devices that speak HDMI-CEC show a connection state in the Inputs list. Off by default (#2998)- Hebrew: Right from Settings reaches Wi-Fi again in the mirrored top bar (#3151)
Fixes
- Add to dock works when the app already sits in the free place (#2923)
show_statsshows the memory figure on older kernels without MemAvailable, like a Philips on Android TV 8 (#2994)- Simplified Chinese: "Remove from Home" reads more naturally (#3034)
Add-ons (two new, in
addons/)- Tatami: a screensaver of small rooms that rearrange themselves (#3181)
- Lịch Vạn Niên: an offline Vietnamese lunar almanac card (#3136)
Prayer times adds the Asr school option, Hanafi or Shafi (Shafi by default, #2905) and speaks Italian (#3010). TV Hub can play a channel when it opens, off by default (#2966), a
- v3.3.0CleanYourTV 3.3: hold OK to move your apps2026-11-01 · 2026-11-01 14:08 UTC
查看更新说明
Your Home, in the order you want it. In v3.3, hold OK on any app on Home and a small menu opens: Move, App info, and Remove from Home when the App library is on. Choose Move, the arrows carry the tile, and Back puts it down. Until now this menu was a switch you had to find and turn on; in 3.3 every Home has it. The rest of this release is three days of the community at work: 47 more TVs, four new themes, Asturian in the launcher, and tools that tell you in a plain sentence when they can't reach your TV.
Since v3.2.0: 407 TV models (from 360), 106 brands (from 97), 31 languages (from 30), 16 themes (from 12), 177 projects in the showcase (from 151), 262 pull requests from 163 people in three days (v3.2 had 177 from 104 in two days). No binaries, as always: build the launcher with
launcher/build-and-install.sh.Highlights
- Hold OK to move your apps: the tile menu is on by default. Hold OK on a Home tile for Move, Remove from Home (with the App library) and App info, and holding OK now opens it reliably (#2434)
- 47 more TVs from 9 new brands: Bell Canada, DEXP, Hikeen, LYNCAST, Magyar Telekom, MarQ, Salora, TD Systems and TIM
- Four new themes (16 now): minimal, blocky, storm and red-rain
- Asturian in the launcher (#2460), so 31 languages, and the README in Ukrainian (#2675) and Turkish (#2858)
- More switches for Home: a 12- or 24-hour clock, Back for the clock screensaver, an app that opens when the screen comes on, and a remote button for the App library, all off by default
- Safer on Android 14: the core-package guard now covers the SDK sandbox, which fixes a TCL G08 that hung on the boot logo (#2557, #2696)
- Tools that say what went wrong: about 20 tools now stop with exit code 2 and a plain sentence when the TV can't be reached, instead of a traceback
- Open on wake, a new add-on (31 now) that opens the app you choose when the screen turns on (#2597)
- 177 projects in the showcase, including StreamHome, Kids World and CleanYourTV Desktop
Hold OK to move your apps
- Hold OK on any tile on Home and a small menu opens
- Move picks the tile up: the arrows carry it, Back puts it down
- Remove from Home (when the App library is on) takes the app off Home without uninstalling it; one press in the App library puts it back
- App info opens the app's own info page, which is what holding OK did before 3.3. It's still in the menu
- Holding OK opens the menu reliably, on every tile (#2434)
Prefer the old way? Put
"tile_menu": falsein your theme'sconfig.json, and holding OK goes straight to App info again. Reorder apps under the Settings button still works too.Launcher 3.3
The tile menu is on by default (above). Everything else new is off by default; nothing changes unless a theme or config turns it on.
- A 12- or 24-hour clock, whatever the TV is set to (
clock_format, #2271) - Back on Home opens the clock screensaver (
back_opens_clock, #2538) - Open on start, on wake too: the Open on start app also opens when the screen comes on (
open_on_start_on_wake, #2775). For any Home, there's the new Open on wake add-on (#2597) - A remote button for the App library:
app_keystakes the action wordlibrary(#2829), and Home runshold:entries for vendor keys (#2419) input_actioncan name an activity, for TVs like the Redmi X65 whose inputs live in their own screen (#2573)glow_snap: the ambient glow changes colour in one frame instead of fading (#2896)- ColorOS TV: the launcher declares the
MODERN_HOMEcategory that OPPO and OnePlus sets on ColorOS TV need before they boot a Home (#2080)
Fixes
- The glass highlight sits on the focused tile after a cold start, instead of an empty outline floating over the wallpaper (#2909)
- The focus glow stays level with a dock tile under
advanced_effects(#2575) - The compact header and date-below icons line up (#27
- v3.2.0CleanYourTV 3.2: The Halloween update2026-10-29 · 2026-10-29 13:25 UTC
查看更新说明
Happy Halloween. v3.2 turns your TV's Home into a haunted house for the week: a Halloween theme, a Halloween skin for the Wi-Fi, Inputs and Settings buttons, and a new screensaver add-on, Haunted. All of it goes away by itself after 1 November. The rest of this release is two days of the community at work: 19 more TVs, four new add-ons, a Latin American Spanish launcher and more switches for Home.
Since v3.1.0: 360 TV models (from 341), 97 brands (from 93), 30 languages (from 29), 151 projects in the showcase (from 140), 177 pull requests from 104 people in two days (v3.1 had 323 from 176 since v3.0). No binaries, as always: build the launcher with
launcher/build-and-install.sh.Try the Halloween theme: cleanyour.tv/halloween
Highlights
- The Halloween update: a theme with seven night photos and an illustrated haunted house, a skin that turns the Wi-Fi pill into a jack-o'-lantern, Inputs into a bat and Settings into a ghost, and bats that fly over the first Home of the day. It turns itself off after 1 November
- Haunted, a new Halloween screensaver add-on: the night photos crossfading, bats, a floating ghost, a flickering jack-o'-lantern glow and a clock. About 1 MB of photos, light enough for a 1 GB TV
- A Halloween website: cleanyour.tv gets a spooky makeover, and the new cleanyour.tv/halloween page shows the pack on a real TV and how to apply it in one command
- Four new add-ons (30 now): Haunted, Game Day, Scoreboard and Nepali Calendar
- Game Day puts each team's next game on Home from your own calendars, with a launcher card to match (
game_day, #2266, #2267) - Latin American Spanish in the launcher (#2170), and a German front page for the README (#2377)
- More switches for Home: App Library exclusions, a boot app that waits for the network, a VPN pill as a lock button, URIs in
launch_actionsand more, all off by default - 19 more TVs and 4 more brands, plus many second and third units for lists already here
- Build in Docker: build the launcher and add-ons without installing the Android tools (#2201)
Halloween
Until 1 November 2026, then it switches itself off.
- The theme: seven night photos from Wikimedia Commons and our own illustrated haunted house (CC0), on a dark Home with pumpkin-orange focus
- The skin: a jack-o'-lantern for Wi-Fi, a bat for Inputs, a ghost for Settings, and bats flying over the first Home of the day
- Haunted: the same night, as a screensaver add-on (
addons/haunted) - The website: cleanyour.tv is dressed up for Halloween too, with a spooky logo, dripping stripes, a haunted before/after and a Lights out torch. There's a new page for the pack, cleanyour.tv/halloween, with real TV screenshots and copy-paste commands
- The README wears a Halloween banner until 1 November
Apply it:
TV_HOST=<ip> tools/theme.sh themes/halloweenPut your own Home back:
TV_HOST=<ip> tools/theme.sh --resetMore at cleanyour.tv/halloween.
Launcher 3.2
All new options are off by default; nothing changes unless a theme or config turns it on.
- App Library exclusions (
library_excluded_apps, #2174), andinput:launch actions hide excluded packages (#2159) - A boot app that waits for the network (
open_on_start_network_wait, #2295, #2397) - VPN as a lock button (
icon_only_vpn, #2321), and the VPN pill is an outline at rest, solid while focused (#2207) launch_actionstakespackage=view:urito open a URI in an app (#2302), andapp_keyshas an ignore action for a button pressed by accident (#1764)- Live TV on Xiaomi opens the stock channel (#2188), and a short Menu press opens the tile menu on Xiaomi China firmware (#1927)
- CVTE's Home key is answered (#2219)
Fixes
- The idle clock no longer starts over an app opened by a held
- v3.1.0CleanYourTV 3.1: Samsung, LG and Roku owners get a fix too2026-10-27 · 2026-10-27 14:27 UTC
查看更新说明
Until now CleanYourTV could only help if your TV ran Android. If you had a Samsung, an LG or a Roku, all we could tell you was that it would not work. v3.1 gives those TVs a path too: cleanyour.tv/not-android walks you through turning off the tracking with your remote, and the repo now sends you there as soon as it's clear your TV isn't Android. The rest of this release is two days of the community at work: 41 more TVs, six new add-ons, a launcher that fits more TVs and safer tools.
Since v3.0.0: 341 TV models (from 300), 93 brands (from 86), 29 languages (from 28), 140 projects in the showcase (from 113), 323 pull requests from 176 people in two days (v3.0 had 301 from 169 in a week). No binaries, as always: build the launcher with
launcher/build-and-install.sh.Highlights
- Samsung, LG and Roku owners get a fix too: cleanyour.tv/not-android turns off the tracking step by step with the remote, and the README, prompt, agent guide and issue page point there
- 41 more TVs from 7 new brands: BGH, DYON, Home+, OPPO, PPTV, Seleco and Síragon
- TV Inspector, a new add-on that shows what every remote button sends and what the TV can play. No permissions, about 18 KB
- Six new add-ons (26 now): TV Inspector, Bluetooth Connect, Bluetooth Toggle, News screensaver, Digital Rain and Jewish Calendar
- A Home that fits your TV: Inputs folds away empty ports, icon tiles for badly cropped banners, Restart… in the Settings menu, a Settings button that works on more TVs, Home at every power-on and the launcher's own language
- Swedish in the launcher, add-ons in French, and the README in Dutch and Traditional Chinese
- Safer tools: safety overrides say when they're on, the disable checks no longer pass silently, and a cleanup now warns when the TV changed address halfway
- 140 projects in the showcase, including a Samsung Tizen home screen and a webOS edition
For Samsung, LG and Roku owners
CleanYourTV needs ADB, which only Android TV, Google TV and Fire TV have. For everything else there is now a guide.
- cleanyour.tv/not-android: Samsung, LG, Roku, Vizio and Hisense VIDAA, step by step with your remote. No root, nothing to install, and every step can be undone
- The README and its translations link it right at the top and in the Supported TVs table
- PROMPT.md and AGENTS.md: an assistant that finds Tizen, webOS, Roku OS, VIDAA or SmartCast stops and sends you to the guide instead of trying
tools/tv.pynames the guide when a TV refuses the ADB connection- The new-issue page has a "Samsung, LG, Roku or another non-Android TV?" link, and phone-app bugs now go straight to the app's own repo, udhaykumarbala/cleanyourtv-app
New TVs and brands
41 more TV models, from 7 new brands: BGH, DYON, Home+ (the STB-6252C cable box from Taiwan), OPPO (K9 55, ColorOS TV), PPTV, Seleco and Síragon. Also new: the first Android 14 list for Philips' PH1M board (55OLED820, Google TV 14), the BenQ E55-760, the Redmi TV 43" MOOQ3, the Toshiba 65UA2363DG, the NVIDIA SHIELD TV 2017, the XGIMI MoGo 4 Laser, two Panasonic 4KTV sets, a Sony KDL-55W800C on Android TV 7, a Hisense Fire TV, a TCL picture-frame TV and nine more TCLs, the 65QM8L among them. Plus second, third and even sixth units for many lists already here, and new device notes for a YunOS Haier, a Xiaomi MiTV-MOSR1, a Toshiba 32V35MP and the Sony VH22's Settings key. The full list: examples/.
Launcher 3.1
All new options are off by default; nothing changes unless a theme or config turns it on.
- Inputs without the empty ports: only connected HDMI ports and devices show, the rest fold behind "More inputs" (
inputs_connected_only, #1964) - **Icon t
- v3.0.0CleanYourTV 3.0: built by 169 people in one week2026-10-25 · 2026-10-25 15:53 UTC
查看更新说明
A week ago CleanYourTV was a weekend project: one TV, one prompt, one small launcher. Since then the community has turned it into a real platform. People have sent lists for their own TVs, written add-ons, translated the launcher and built whole home screens of their own on top of it. This is the first major version since the project went viral, and almost all of it was written by people who found it that week.
Since v2.7.0: 300 TV models (from 248), 86 brands (from 72), 28 languages (from 25), 113 projects in the showcase (from 71), 301 pull requests from 169 people (v2.7 had 230 from 122). No binaries, as always: build the launcher with
launcher/build-and-install.sh.Highlights
- 20 add-ons (from 11): Smart Home, Ad Blocking, Sources, World Clock and more, each its own small app
- Launcher 3.0: one sideways row of apps, a lunar date, uniform tiles, Home at power-on and many more opt-in switches
- Three new languages: Danish, Korean and European Portuguese, with fuller Czech, Hebrew, Finnish, Italian, Portuguese and Chinese, and an Italian README
- Safer lists: the remote's mic keeps working on TCL G10, inputs keep working on Sankey
- 300 TVs from 86 brands, and 113 projects built on top in the showcase
- Adding your TV is easier: a folder and a
tv.json, and the tables build themselves - Meet Tubo, our new mascot
New TVs and brands
52 more TV models, from 14 new brands: Acer, AQUA, ASUS, Beko, Dcolor, Master-G, Panavox, Sber, Tuvio, the Next Start Pro 4K box, and Alwtniet, HOTACK, HY320 and Magcubic projectors. Plus second, third and fourth units for many lists already here. The full list: examples/.
Add-ons (nine new, in
addons/)- Smart Home: Home Assistant scenes, lights, climate and locks (shown, never opened)
- Ad Blocking: your Pi-hole or AdGuard Home, with one OK to pause for five minutes
- Sources: inputs by the names devices give themselves ("PlayStation 5", not "HDMI 2")
- Quiet Hours: a volume cap for the night
- Remote Access: whether network debugging is on, with a button to switch it off
- AirPlay Status: how iPhones and Macs see this TV
- Startup & Branding: a welcome screen of your own
- World Clock: up to six offline clocks
- Flock: a flocking simulation you steer with the remote
Weather now has Fahrenheit (or both units), Brightness goes darker for real, and Capacity Stats, Photo Prints and Photo screensaver have screenshots.
tools/manage.pyinstalls add-ons, themes and switches in one place. Browse them all: cleanyour.tv/addons.Launcher 3.0
All new options are off by default; nothing changes unless a theme or config turns it on.
- One sideways row with every app (
single_row,dock_band_all, #1245) and a dock band (dock_band) - Lunar date under the date, Vietnamese or Chinese (
lunar_date, #836) - Uniform icon tiles for themes that want them (#1309)
- Remote buttons that do more:
app_keyscan mute, sleep, open recents and more (#1184), or open the Inputs menu (#1167) - Back to Home at power-on when the firmware opens Live TV (
power_on_home, #1445) - Top bar and header: round app buttons in the top bar (
top_bar_apps), hide the greeting, full-white date, date under the clock - Clock screensaver over Home's wallpaper or plain black (
clock_wallpaper,clock_glow) - Quieter focus (
glass_style), orange and red Wi-Fi warnings, an Open on start app picked in settings - App library: hide its pill, or let OK open every app (
show_library_pill,library_ok_opens) - Volume keys for firmware that doubles them (
consume_volume_keys) - New theme: retro, a black invisible dock with time-of-day wallpapers (nine themes now)
Fixes
- With
stock_home_redirect, the remote's YouTube and
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Start here
| You have | Go to |
|---|---|
| An Android TV or Google TV | Quick start: a coding assistant does the work in about fifteen minutes. |
| A Samsung, LG, Roku, Vizio or Hisense VIDAA TV | cleanyour.tv/not-android: CleanYourTV can't run there, but you can turn off the tracking with your remote. |
| A phone or laptop, no coding agent | One of the community apps for Android phones, Mac and Windows, made by independent developers. |
| Want to see it first | What you get: screenshots of the new home screen. |
Official links: cleanyour.tv and this repo. Other domains using the name, such as cleanyourtv.com, are not run by this project (#1004). CleanYourTV publishes no app in any app store, and clean-your-tv.net is not ours either.
How it works · Quick start · What you get · Supported TVs · Doing it by hand · The launcher · Restoring · Firmware updates · Questions · Contributing
How it works
Android TVs have the same debug bridge as Android phones. Switch on USB debugging in the TV's developer options, allow your computer once, and the rest is standard Android tooling:
| Step | What happens |
|---|---|
| Back up | The list of installed packages and settings. |
| Disable | The manufacturer's telemetry, ad services, content rows and preloaded junk, with pm disable-user. Nothing is uninstalled, so a restore script can undo every step. |
| Install | A small native launcher, made the default home screen. |
No root, no cable, nothing uninstalled, and a one-line restore if you change your mind.
The bloat differs by brand, so the prompt has your coding assistant discover it on your TV and ask before touching anything you might use.
Quick start
| You have | Do this |
|---|---|
| A computer | Use the prompt with a coding assistant: the three steps below. |
| A computer, no coding assistant | Run the three steps yourself: the commands are in Doing it by hand. |
| A phone or laptop, no coding assistant | Pick one of the community apps: free, open-source apps built on these TV lists by independent developers. |
The three steps below are written for a coding assistant: the computer needs to be on the same Wi-Fi as the TV, with a shell on it, plus Python 3, a JDK from 17 through 22, and Android SDK platform 34 with build-tools 34 (the assistant builds the launcher there). Without an assistant, Doing it by hand is the same job, run by you, and it has the install commands.
Any of these work: Claude Code (on 0G Private Computer or an Anthropic plan), Codex, Gemini CLI or Antigravity CLI.
| Where | What to do |
|---|---|
| 1. On the TV | Settings → Device Preferences → About → press OK on Build seven times → back → Developer options → USB debugging on. If you see a Network or ADB debugging toggle, turn that on too. Keep the TV on. |
| 2. On your computer | Clone the repo and open that folder in your assistant (git clone https://github.com/Gathin23/cleanyourtv), then paste PROMPT.md and fill in your TV model. |
| 3. Follow along | Accept "Allow USB debugging?" on the TV, then answer the checklist: which apps you use, the dock size and app order, whether to keep the voice assistant, Chromecast and updates. |
Cloning matters: the assistant reuses this repo's tools/disable.sh and launcher/build-and-install.sh
instead of writing its own, and that is where the backup, the Home guard and the restore record live.
The assistant backs up, debloats, builds and installs the launcher, and checks each step with screenshots pulled from the TV. With this repo as context it takes about fifteen minutes.
What you get
A home screen that looks like an Apple TV and gets out of the way:
| Part | What it looks like |
|---|---|
| A pitch-black home | A dock of your four favourite apps in a rounded band, where Apple TV puts it. |
| A top shelf | Names the focused app in large type, with an ambient glow in a colour taken from its artwork. |
| The rest of your apps in a grid | Slides up when you press Down. |
| One floating glass highlight | Springs from tile to tile. The focused tile lifts and shows its name. |
| Three frosted buttons | Inputs (HDMI ports under the names you gave them in the TV's settings, AV, Live TV), Wi-Fi or Ethernet with the network name, Settings. |
| A greeting, a thin clock and the date | In Outfit, and a matching Clock screensaver. Set show_stats in config or a theme for one line under the clock: CPU, free memory and free storage. It stays off unless you turn it on, and it refreshes only while Home is on screen. |
| Themes and module cards | Themes change colours, wallpaper, dock and columns without a rebuild, and module cards let other apps plug a tile in, only with your say-so. |
And a TV that stops working against you: no sponsored rows, no "Discover" nags, no analytics phoning home, no apps you never asked for.
![]() | ![]() |
| Top shelf and ambient glow | Inputs: HDMI with connection state, AV, Live TV |
![]() | ![]() |
| The grid, one glass highlight, the tile's name | Clock screensaver, drifts so nothing burns in |
![]() | ![]() |
Aurora theme, pushed with tools/theme.sh | Six columns and a six-app dock, same launcher |
![]() | ![]() |
| Hold OK on a tile, Move: arrows carry it, Back puts it down | App library: one press puts a removed app back on Home |
Supported TVs
Anything running Android TV or Google TV.
| Platform | What works |
|---|---|
| Android TV, Google TV | The debloat and the launcher. |
| Fire TV | The debloat half only, since Fire OS will not hand Home to a third-party launcher. And on the 2015 Fire TV Box (Fire OS 5) even that half fails: every pm route is refused. |
| A few China-market TCL sets | They refuse to install any launcher at all; their lists say so in the header. |
| Samsung (Tizen), LG (webOS), Roku, Vizio, Hisense VIDAA | Not supported (no ADB). Turn off the tracking instead: cleanyour.tv/not-android. See SHOWCASE.md for four webOS ports, and docs/devices/samsung-tizen.md for what a 2021 Samsung set answers over Wi-Fi (no ADB, so no pm disable-user) if you are weighing a Tizen port. |
Tested lists from contributors, one folder per model in examples/. The brands with the
most lists, each linked to its models on the website:
| TCL · 83 | Sony · 49 | Xiaomi · 43 | Philips · 23 | Skyworth · 17 | Hisense · 16 |
| SHARP · 10 | Amazon Fire TV · 9 | Panasonic · 7 | BenQ · 6 | Haier · 6 | JVC · 6 |
| Toshiba · 6 | Acer · 4 | Formovie · 4 | Nokia · 4 | OnePlus · 4 | Thomson · 4 |
| Artel · 3 | FFalcon · 3 | Google · 3 | Grundig · 3 | Motorola · 3 | Noblex · 3 |
| NVIDIA Shield · 3 | onn · 3 | RCA · 3 | Redmi · 3 | RockTek · 3 | Vu · 3 |
Challenger 2 · CHiQ 2 · EKO 2 · Hitachi 2 · Insignia Fire TV 2 · Kalley 2 · Kogan 2 · Lumio 2 · Master-G 2 · PRISM+ 2 · Sankey 2 · Sber 2 · Síragon 2 · TIM 2 · Vidda 2 · AiPro2K · AiPro4K · AIWA · AQUA · ASUS · Beko · Bell Canada · BGH · Caxium · Cecotec · Compac · Dcolor · DEXP · Dialog · Durabrand · DYON · Essentiel b · Freebox · HAAM · Hikeen · Home+ · Impex · INCLO · Jio · Karbonn · Kodak · Koryo · KTC · KUNFT · Liberton · LYNCAST · Magyar Telekom · MarQ · MECOOL · MTC · Next · OK. · OPPO · Panavox · PEAQ · Philco · Polytron · PPTV · Prosonic · Salora · SANYO · Seleco · Smarttech · STRONG · SunWind · Super General · TD Systems · Tele System · Tesla · TiVo · Tornado · Turkcell · Tuvio · Verizon · VISIO · Vision · Vityas · X.Vision · Alwtniet, Anker Nebula, BYINTEK, Chihi, Epson, Gadnic, HOTACK, HY320, JMGO, Magcubic, Portronics, Stellamore, Wanbo and XGIMI projectors
Find your TV: search cleanyour.tv/tvs or the full table in examples/README.md.
Your TV not here? The prompt discovers the bloat itself. Add your list afterwards and the next person with your model skips that step: CONTRIBUTING.md.
Doing it by hand
Everything the assistant does, you can run yourself. Two things have to be on the computer first:
| You need | For |
|---|---|
| Python 3 (any 3.x) | The tools. The venv command below installs what they import. |
JDK 17 through 22 (a full JDK, including jlink) and Android SDK platform 34 with build-tools 34.0.0 or any newer 34.x | Building the launcher. JDK 23 and newer stops Gradle 8.9. Platform 34 is the one the build reads; a newer platform does not replace it. On macOS, when none of these is installed: brew install openjdk@17 android-commandlinetools, then sdkmanager "platforms;android-34" "build-tools;34.0.0". On Linux the install script looks in ~/Android/Sdk and for java on your PATH. |
tools/tv.py talks to network ADB on port 5555. If that port stays closed and the TV offers
Wireless debugging with a pairing code (the Chromecast with Google TV and the Google TV Streamer
do), pair it once with the stock adb. Then either run adb tcpip 5555 to open the port, which
usually lasts only until the TV reboots, or keep it closed: point TV_ADB_BINARY at that same
adb and TV_HOST at the port the Wireless debugging screen shows, and the tools reach the TV
through the paired connection with nothing listening on 5555
(tools/native-adb.md). Troubleshooting
has both, with the pairing steps.
python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50 # your TV's IP address
tools/venv/bin/python -I tools/tv.py --probe # model, Android version, firmware
tools/venv/bin/python -I tools/tv.py 'pm list packages' # one shell command on the TV
tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt # apply a debloat list
tools/restore.sh examples/xiaomi-mi-tv-4a/debloat.txt # undo it, stock launcher back
tools/venv/bin/python -I tools/check.py examples/xiaomi-mi-tv-4a/debloat.txt # what a firmware update undid
launcher/build-and-install.sh # build the launcher and make it Home (needs the TV_HOST export above)
tools/theme.sh themes/aurora # push a theme; --reset removes it
python3 tools/wallpaper_prep.py ~/Pictures/trip mytheme/wallpapers # your photos, sized and darkened for the TV
| Tool | What it does |
|---|---|
tools/tv.py | Pure-Python ADB client: shell, batch, push, pull, reboot, and screenshots, optionally pressing remote keys first. Works where the stock adb binary is blocked. Optional paired Google ADB backend for encrypted Wireless debugging. |
tools/docker-build.sh | Builds the launcher or an add-on in Docker (JDK 17, Android SDK 34), so this computer needs nothing but Docker. Install the result with SKIP_BUILD=1. Guide. |
tools/b64push.py | Uploads large files such as APKs in base64 chunks and verifies the checksum. |
tools/relay.py | Forwards a local port to the TV's ADB port, for assistants whose sandbox can't reach your network. Listens on this computer only. Guide. |
tools/disable.sh, restore.sh | Apply or undo a debloat list, the undo from the state recorded before the change. |
tools/recovery.py | Writes the record disable.sh needs to undo itself, and prints the restore batch. |
tools/check.py | Compares the TV with the list that was applied, for what a firmware update undid; --fix puts it back. |
tools/match.py | Reads a saved pm list packages and prints, for each package, how many lists in examples/ disable it, how many keep it commented out, and their most common note; Android's core packages show as never. Offline, changes nothing (tools/venv/bin/python -I tools/match.py packages.txt). |
tools/adb-closed.py | Checks that the TV's network ADB port is closed once debugging is off: exits 0 when the TV refuses the connection, 1 while it is still open, 2 when nothing answered or the check itself could not run. No nc needed. |
tools/philips-api.py | Philips only: checks that the JointSpace control API Home Assistant uses still answers, before and after a debloat (tools/venv/bin/python -I tools/philips-api.py <tv ip>). Port 1926 over HTTPS first, then 1925; reads only what answers without pairing. |
tools/privacy.py | Audits the TV for voice, ACR and telemetry candidates and prints the evidence for each; --write turns the findings into a list disable.sh and restore.sh already understand. |
tools/theme.sh, theme_restart.py | Push a folder from themes/ to the launcher and restart Home. |
tools/wallpaper_prep.py | Turns a folder of your own photos (JPEG, PNG, WebP, HEIC) into darkened 1280×720 JPEGs under 300 KB for a theme's wallpapers/ folder. Needs Pillow, plus pillow-heif for HEIC (tools/requirements-photos.txt). Never touches the originals. How to use it. |
tools/manage.py | List every add-on, theme and switch with its screenshot, see what is on the TV, and install, update or remove one by running its creator's own script. |
tools/bench.py | Measures the launcher that answers HOME: key latency, how far the focus moved, janky frames, cold start, return to Home, and the idle CPU and PSS it costs. Changes nothing on the TV and writes the raw per-key numbers to JSON; no extra install. |
tools/trace.py, trace_report.py | Records Perfetto traces of the launcher (return to Home, cold start, D-pad) and reports where its time goes, per run and before against after. Optional: needs requirements-perf.txt. Guide. |
tools/flamechart.py | Draws a before/after flame chart from those traces, for a pull request: one lane per thread on a shared time scale, the work a change targets in magenta with its total. Optional, like the trace tools. Guide. |
tools/screendiff.py | Compares a before and an after screenshot pixel by pixel, leaving out the clock or anything you mask, and writes the pair with your Wi-Fi name blurred. Optional, like the trace tools. Guide. |
tools/race_calendar.py | Writes this season's F1 calendar into a theme for race-weekend mode, from the free Jolpica API. |
launcher/build-and-install.sh | Builds a shrunk release (about 572 KB), installs it, switches Home, and rolls back if Home does not land on it. |
The scripts never leave the TV without a Home app: they only disable a stock launcher they recognise, and skip the Home app in a list until another launcher answers HOME. Your own lists can live outside the repository: list paths are relative to the directory you run from, and absolute paths work too.
Every script has a PowerShell twin next to it. Install Python 3 and a JDK from 17 through 22, and
in the SDK Manager add platform 34 and build-tools 34 (34.0.0 or any newer 34.x). The script uses
JAVA_HOME when it points at a JDK in that range, and otherwise Android Studio's bundled JDK when
that JDK is in the same range:
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
The last two are the undo and a theme push, the tools/restore.sh and tools/theme.sh lines the
sections above give in bash. On Google TV the undo takes the stock launcher as well:
-Stock com.google.android.apps.tv.launcherx.
The install scripts ask the TV which launcher owns Home and only disable one they recognise, the four
in KNOWN_STOCK_LAUNCHERS: com.google.android.tvlauncher, com.google.android.apps.tv.launcherx,
com.google.android.leanbacklauncher and Xiaomi's com.mitv.tvhome (PatchWall). Pass
STOCK_LAUNCHER=<package> (-StockLauncher) to override, or none to leave it alone.
tools/disable.sh (disable.ps1) applies the same rule before it disables anything:
- If the list contains the app that owns Home and no other app on the TV answers HOME, it skips that entry, says why, and disables the rest of the list. So a list applied before the launcher handover cannot leave the TV with nothing to start.
- The setup wizard, the settings apps, a vendor
FallbackHomeand factory-test apps (Xiaomi'scom.duokan.factorytest) answer HOME too and don't count. - On Google TV it also keeps the owner while setupwraith answers HOME and stays enabled (not listed, or kept for the Wi-Fi network): setupwraith answers ahead of an installed launcher that is not Home yet, so it would take Home.
Run the same list again once launcher/build-and-install.sh has made the new launcher Home and the
entry is applied; FORCE_HOME=1 ($env:FORCE_HOME) disables it anyway.
The microphone, and what can be said about it
"Which of these packages is listening?" has no honest one-line answer: a permission scan shows fifty
system packages with RECORD_AUDIO that record nothing, and ACR clients see the screen with no audio
permission at all. tools/privacy.py reports what the TV actually says, with the
evidence for each voice, ACR and telemetry candidate:
TV_HOST=192.168.1.50 tools/venv/bin/python -I tools/privacy.py, and --write turns them into a normal
debloat list. What the audit cannot do is prove intent: docs/privacy.md explains why.
The launcher
A small native home screen for Android TV: about 572 KB, plain Java, built for TVs with 1 GB of RAM.
No blur, no video, no network permission, no background services. The TV needs Android 8.0 (API 26)
or newer, the minSdk in launcher/app/build.gradle; what is left on an older
set is in Troubleshooting.
| What | How it works |
|---|---|
| Configure | Dock order, hidden apps, Live TV app, 4 to 7 tiles per row, reduced motion. All in config.xml |
| Settings on the TV | Hold OK on Settings for launcher settings. Optional launcher_settings_button makes a normal click open them directly; TV settings remain on the settings page and their app tile. |
| Themes | Background, wallpaper and layout from a config.json pushed over Wi-Fi, no rebuild. Twenty-eight ship in themes/, the built-in default/ included |
| 31 languages | Follows the TV's language, with a fully mirrored right-to-left layout for Hebrew |
| App library | Optional: browse every installed app and add or remove Home shortcuts. See the app library guide |
| Tile menu | On by default (tile_menu): hold OK on a tile for Move and App info, plus Remove from Home when the app library is on. Off, holding OK opens App info |
| Module cards | Any TV app can offer its own tile; you approve each one once. See docs/modules.md |
| Add-ons | Optional apps that plug in as module cards, kept in addons/ and never built into the launcher |
| Clock screensaver | A drifting clock over the glow, so nothing burns in |
| Remote keys | Keeps the Input, YouTube and gear buttons working after the stock launcher is gone |
Themes, switches and add-ons together, with screenshots: cleanyour.tv/addons.
More: docs/launcher.md has the launcher settings page row by row, changing the default home, the languages, remote keys, the Clock screensaver, navigation and building it yourself.
A theme can rotate a folder of pictures behind Home, with no rebuild. No pictures ship with the repo: you bring your own, and you decide you have the right to show them.
-
Start a theme folder. Copy a theme you like from the themes folder, for example
themes/aurora, into a new folder such asmytheme/, or start with an emptyconfig.json. -
Prepare the photos. A bright 12 MP photo is heavy for a 1 to 2 GB TV and drowns the clock and tiles.
tools/wallpaper_prep.pycentre-crops to 16:9, saves 1280×720 JPEGs under 300 KB, and darkens the picture itself, sowallpaper_dimcan stay at 0. HEIC phone photos work. Your originals are never touched.python3 -m pip install -r tools/requirements-photos.txt python3 tools/wallpaper_prep.py ~/Pictures/trip mytheme/wallpapersOptions:
--brightness 0.25(0.1 to 1.0),--gradient 0.6(extra black toward the dock),--size 1280x720,--max-kb 300. -
Set the rotation in
mytheme/config.json:{ "wallpaper": true, "wallpaper_rotation_minutes": 1, "wallpaper_order": "shuffle", "wallpaper_dim": 0 }Key Notes wallpaper_rotation_minutesWhole minutes, 0 to 1440. 1 is the fastest. 0means no rotation, and a fraction such as0.25is read as0, which stops it.wallpaper_ordershufflenever shows the same picture twice in a row;sequentialfollows the file names.wallpaper_dimBlack overlay in percent. Leave at 0 when the pictures are already darkened. dock_glass,dock_opacityA frosted-glass dock band (30 to 100%) so the picture shows behind the tiles. greeting_nameA name after the greeting: "Good evening, Sam". show_stats,app_library,reduced_motionA stats line under the clock, an App library pill, calmer motion for weak GPUs. -
Push it to the TV (this restarts Home once, and keeps the Home-key helper working):
tools/theme.sh mytheme # Windows: tools\theme.ps1 -TvHost 192.168.1.50 mythemeOn the TV, Launcher settings → Wallpaper holds one picture, None, or Theme default, which rotates again.
-
Take it off with
tools/theme.sh --reset.
What it cannot do: there is no crossfade (the picture changes with a cut), no rotation faster than a minute, and
the Clock screensaver shows time and date only, never photos. Without a wallpapers/ folder the theme still
works and Home keeps its plain colour. A picture is decoded into memory while Home shows it: about 4 MB at 1080p
in the default 16-bit colour, 8 MB with wallpaper_true_color (see themes/README.md), so keep
the pictures small on a 1 GB TV.
Restoring your TV
Keep the list you applied. One line puts the TV back the way it was:
TV_HOST=192.168.1.50 tools/restore.sh examples/<your tv>/debloat.txt # Android TV
TV_HOST=192.168.1.50 tools/restore.sh examples/<your tv>/debloat.txt com.google.android.apps.tv.launcherx # Google TV
| What | How |
|---|---|
| A record comes first | Before tools/disable.sh changes anything it writes down what the TV looked like, in ~/.cleanyourtv/. |
| Restore replays it | A package you had disabled yourself stays disabled, and Home goes back to the component that owned it. |
| The launcher stays installed | Remove it from the TV's Settings → Apps if you want it gone. |
| No computer? | If the TV is unreachable, its own Settings → Apps page can re-enable packages too. |
More: docs/restore.md has what the record holds, when the stock launcher argument counts, and what happens without a record.
After a firmware update
An update installs over the cleaned-up system: the listed packages come back, Home goes to the
stock launcher, and new preloads appear that no list mentions. Open ADB again as in
Quick start step 1, then compare the TV with the list you applied; --fix puts it back:
TV_HOST=192.168.1.50 tools/venv/bin/python -I tools/check.py examples/<your tv>/debloat.txt
More: docs/firmware-updates.md has the exit codes, a weekly check, what
--fix changes, TVs that keep the stock launcher as Home, and lists that disable the updater.
When something goes wrong
The full list of things that bit us is in docs/TROUBLESHOOTING.md. The three that matter most:
- 🍎 macOS reports "No route to host" although the port is open: Local Network privacy keeps the terminal app off the local subnet, and the permission belongs to that app rather than to the client, so the stock
adbandtools/tv.pyfail the same way (seen on macOS 26). Allow Terminal, iTerm2 or VS Code under System Settings → Privacy & Security → Local Network, then quit and reopen it (Troubleshooting). - ⚠️ Disable the stock launcher only after the new one is installed and running, or Home lands on a factory test app. The install script orders this for you.
- 🔁 On Google TV the setup wizard (
com.google.android.tungsten.setupwraith) can take Home and crash-loop the system after the stock launcher is disabled. Disable it too, and list it in yourdebloat.txtso restore brings it back.- But check
dumpsys wifi | grep -o 'cname=[^ ]*'first: if the Wi-Fi network was saved during setup it belongs to setupwraith, and disabling it deletes the network (re-join it in Settings first;tools/disable.shskips setupwraith until you do). - On Google's own Chromecast and on the Google TV Streamer it also costs phone casting, see Troubleshooting.
- Stuck already?
tools/tv.py 'pm enable --user 0 com.google.android.apps.tv.launcherx'. On some sets (seen on a TCL Smart TV Pro, Android 14) this is one-way: getting back to this launcher then needs ADB, or keep launcherx and usestock_home_redirect, see Troubleshooting.
- But check
Questions people ask
Yes. Independent developers have built free, open-source apps on CleanYourTV's TV lists that do the cleanup over Wi-Fi, with no coding agent. Each shows a plan first, only switches apps off, and can put everything back:
| App | For | By |
|---|---|---|
| Clean Your TV app | Android phone | @udhaykumarbala |
| Tellyscope | Android phone | @man15h |
| TidyTV | Android phone, Google Play | @jolan94 |
| CleanMyTV | Mac and Windows | @wingedpanther |
These apps are independent projects, not affiliated with or endorsed by CleanYourTV or its maintainer, and each is provided as is under its own license. Report app problems in that app's repo. More at cleanyour.tv/app.
Nothing is flashed, rooted or deleted; packages are disabled in the user profile. The risk is disabling something the TV leans on, which is why lists are applied in small batches with a restore script ready. The TV's own Settings → Apps page can re-enable packages even without the tools. If the TV no longer starts far enough for that, a factory reset from its recovery menu is usually the way back.
More: docs/faq.md
The updater is left on in most lists, so firmware updates arrive as usual. Some lists disable the TV's own updater, and on those a firmware update arrives only when you re-enable it. When one does land it installs over the cleaned-up system, so a package comes back and you re-run the script: see After a firmware update.
Streaming apps still update through the Play Store, which is left alone. The launcher just lists what is installed and launches it with intents that have been stable for a decade.
Hold OK on Settings (top right) and choose Reorder apps. OK picks an app up, the arrows move it,
Back places it, and Back again finishes. Holding OK on a tile also offers Move (tile_menu, on by default), which
picks that app up straight away. More: docs/launcher.md
Yes, over a private Tailscale link instead of the same Wi-Fi: either Tailscale on their TV, shared with you, or a computer or Apple TV at their home routing to it. Never by opening the ADB port on their router. Step by step in docs/REMOTE.md.
It is one explicit "allow this computer" tap on the TV, the same as developing an Android app. Network ADB is plaintext on port 5555, and on some firmware any device on the LAN gets a shell, so close it when you are done:
- On the TV: Developer options → turn USB debugging, Network/ADB debugging and Wireless debugging off, whichever the TV has, and revoke the USB debugging authorisations.
- Reboot the TV, then confirm the port is gone from your computer:
python3 tools/adb-closed.py <tv ip>must say the port is closed.
The launcher keeps working without debugging. More, including checking Wireless debugging's own port: docs/faq.md
Partly, with Android's Private DNS (Android 9 and newer). Point it at an ad-blocking resolver such as AdGuard DNS and every app's ad and tracker domains stop resolving, system-wide, surviving reboots. The trade-off: that resolver then sees every DNS query the TV makes, and it does not remove YouTube ads.
More, with the two commands and how to switch back: docs/faq.md
A few, and they need no ADB: the advertising ID, Location, Usage & diagnostics and Scanning always available, plus Apps only mode where the stock launcher stays. Flip Usage & diagnostics before the debloat; on some TVs its page goes with it.
More, with the paths for Google TV, Android TV and Fire OS: docs/faq.md
Not from this repo. Chromecast built-in stays for Android phones. For iPhones, jqssun/android-airplay-server works; an install script for it is in PR #84.
Build it with the one-line script in Doing it by hand; it takes a minute and you control what goes on your TV. That needs the JDK and Android SDK named there. No prebuilt binaries.
The story
On 17 October 2026 I posted a before and after of my parents' TV, cleaned up by Claude Code over Wi-Fi. It reached 8.6M views, people started doing the same to their own TVs, and their replies turned into the lists here: 170+ TV models from 200+ contributors in the first four days. The repo was called tv-vibehack until the 19th; old links work.
Two weeks on, it was the #1 trending repository on GitHub for the week of 19–25 October, with over 46K stars and 5.7K forks, and 1.4M views and 260K clones in 14 days. The lists now cover 457 TV models from 122 brands. The coverage: 412 articles from 54 countries and 229 videos on YouTube and Bilibili, all in docs/PRESS.md (numbers as of 31 October 2026).
Contributing
The most useful contribution is your TV's debloat list, so the next person with that model does not have to rediscover it. CONTRIBUTING.md has the format and the testing we ask for. Contributing through a coding agent? AGENTS.md gives it the same rules.
| How to help | What it means |
|---|---|
| Your TV's debloat list | The most useful one: the next person with that model skips the discovery. |
| Launcher and prompt | Launcher improvements and sharper prompt wording are welcome too. |
| Built something on top? | A launcher, a port, a theme: add it to SHOWCASE.md, where two hundred and twenty-eight projects already live, sorted into home screens, forks, add-ons, tools and other platforms, with an index by TV brand. |
The people whose work is in this repo:
Contact
| For | Where |
|---|---|
| Questions about your TV | GitHub Discussions |
| Press and queries | [email protected] |
| Security issues | Report them privately through the Security tab, see SECURITY.md |
Legal
- CleanYourTV is an independent open-source project. It is not affiliated with, endorsed by or sponsored by any TV maker or platform. Brand and model names are used only to say which TV a list was tested on, and remain the trademarks of their owners.
- It works only through settings the TV itself offers to its owner: Developer options, ADB debugging and
Android's own
pm disable-user, the same switch as Settings > Apps > Disable. It does not root the TV, flash firmware, or bypass any lock, DRM or copy protection, and the repo contains no manufacturer software, firmware or APKs. - Nothing is uninstalled, and
tools/restore.shputs everything back. You run it on a TV you own, at your own risk, and changing a TV's software may affect its warranty or support. - Everything here is provided as is, without warranty of any kind, under the MIT licence below.
Licence
MIT, see LICENSE. The Outfit typeface is under the SIL Open Font License, see
launcher/FONT-LICENSE-OFL.txt.







