CleanYourTV — Android TV without the ads

Open source setup that disables ad services and bloatware on Android TV and Google TV over Wi-Fi. No root, nothing uninstalled, one line restores it.

CleanYourTV — Android TV without the ads (free open source code)
Home
Resources

CleanYourTV — Android TV without the ads

A new smart TV arrives with a home screen that sells something. A sponsored row sits above your apps, a recommendation shelf opens uninvited, and a service you never touched waits in the middle of the first row. CleanYourTV takes that home screen apart over Wi-Fi and puts a quiet one back.

What CleanYourTV actually does

CleanYourTV is an open source toolkit that connects to an Android TV or Google TV set over the local network and turns off the parts of the system that serve ads and preload content. The project states the outcome in one sentence, your TV minus the ads. The scripts, the launcher and the per-model debloat lists sit in a single GitHub repository under the MIT license.

You run it from a computer on the same Wi-Fi. On the TV you enable developer options by pressing the build number seven times, then switch on USB debugging and, where the menu offers it, network debugging. The scripts handle the rest, and the project puts a full session at around fifteen minutes.

Two limits are worth stating early, because they shape every other answer on this page. CleanYourTV never roots a TV and never flashes firmware. It does not uninstall a package either. Apps are disabled inside the user profile with pm disable-user, so everything stays on the device and any single package can be turned back on from the TV's own settings.

Why TV home screens got so crowded

A stock launcher is written by the manufacturer, and the project is blunt about what that produces. Sponsored rows, Discover prompts and analytics that phone home survive every firmware update and come back after each one. The amount differs by brand, which is why the repository keeps a separate debloat list per model instead of one universal file.

The apps themselves are usually fine. Netflix and Prime Video behave as they always did. The problem sits in the layer above them, in the launcher, the telemetry service and the content feeds that pull rows nobody asked for. Those live in the system image, so a launcher from the app store cannot remove them from underneath.

That is the part CleanYourTV addresses. Disabling a package at the system level removes the surface while the app stays installed, so the set keeps working and the promotional rails stop loading.

How the cleanup works

The procedure runs in three stages, and the order matters more than the individual commands.

StageWhat it does
Back upReads the installed package list and the settings it is about to change, so there is a state to return to.
DisableRuns pm disable-user across telemetry, ad services, content rows and preloaded apps.
InstallBuilds the native launcher, installs it, and points the Home button at it.

The disable list is a plain text file with one package name per line, and the repository stores it per model under examples/, one folder for each television. TCL sets fill the largest share of that folder tree. Sony and Xiaomi follow, then Philips and Hisense, with smaller groups for Fire TV, Panasonic, Skyworth, NVIDIA Shield and a run of projectors.

A typical list targets the ad services, the telemetry endpoints, the content rows behind the stock launcher and the preloaded apps that nobody opens. The project wraps that in several safety checks. The setup wizard is left alone while your saved Wi-Fi belongs to it. The HDMI and AV input packages stay in place. Home is never handed to the vendor fallback component. Environment variables can override each of those decisions when you know what you are doing.

What the new launcher replaces

The launcher is the other half of the project, and it is deliberately small. About 429 KB of plain Java, built for sets with 1 GB of memory, needing Android 8.0 or newer. It asks for no network permission and runs no background service, so it cannot phone home even if someone wanted it to.

The home screen it draws takes its cues from Apple TV. A pitch-black background with a dock of four apps in a rounded band. A top shelf that names whichever app has focus and tints the room with the colours of its artwork. The full grid slides up when you press down. One floating glass highlight springs from tile to tile, so focus stays a single moving object and never a rectangle that blinks in five places at once.

Three frosted buttons sit in the top right. Inputs hold the HDMI ports under the names you gave them in the TV settings, plus AV and Live TV. The next one shows Wi-Fi or Ethernet with the network name. The last one opens settings. If this layer is where your own product lives, our settings UI design guide covers the states these panels usually miss.

Small details carry the rest. A greeting, a thin clock and the date set in Outfit. A clock screensaver that drifts across the panel to spare the panel from burn-in. An optional system line that reports CPU load, free memory and free storage, off unless you enable it, and refreshing only while Home is on screen.

Themes live in a config.json pushed over Wi-Fi, and that file changes the background, the wallpaper, the dock and the number of tiles per row. Five themes ship in the themes/ folder, and tools/theme.sh pushes any of them to the set without a rebuild. The same file holds the language setting, which reaches twenty four languages with a mirrored right-to-left layout for Hebrew. Third-party apps can add a tile of their own through module cards, with your approval.

Which TVs are covered

Android TV and Google TV get the full treatment, debloat plus launcher. Fire TV gets the debloat half only, because Fire OS will not hand over its Home screen. One older Fire TV Box on Fire OS 5 refuses every package command, and the README says so plainly.

Samsung Tizen and LG webOS are different operating systems with different tooling. The repository points to a community webOS port listed in SHOWCASE.md and to a Tizen note under docs/devices/. A few China-market TCL sets refuse to install any launcher at all, and their lists say so in the header.

The tested set is unusually well documented. One hundred and seventy four TV models across fifty three brands, each with its own folder of package lists, and the project has been written up by TechCrunch, TechRadar, XDA and dozens of smaller outlets.

Restoring your TV

Before the disable script changes anything, it writes a record to ~/.cleanyourtv/. That record holds the state of every package it touched, which component owned the Home button, and the three animation scales it altered. A second run of the same list keeps the first record and does not overwrite it with the cleaned-up state.

Restoring replays that record. Point tools/restore.sh at a TV host and the list you applied, and Home returns to the component that owned it before. Packages you disabled yourself stay disabled, because the record only knows about its own changes. The new launcher stays installed until you remove it.

A computer is not required to undo the work. The TV settings screen lists every app, and a disabled package can be enabled again from there.

Firmware updates undo the work, which the project treats as a maintenance task rather than a bug. The update installs over the cleaned system, listed packages return, and Home drifts back to the stock launcher. One command compares the live TV against the stored list, prints what drifted, and exits with a failure code, so a weekly cron entry is enough to notice. The same script with a fix flag reapplies the list and reads the TV back to confirm.

Turning the ADB door shut afterwards

The connection that makes all of this possible is also the one to close when you finish. Network ADB speaks plaintext on port 5555, and on firmware built with ro.adb.secure=0 any device on the same network can open a shell on your television.

The project documents the exit. Turn off USB debugging and network debugging, revoke the authorisations, reboot, then confirm with tools/adb-closed.py pointed at the TV's address. Only a refused connection counts as closed. No route to host means check again, because macOS privacy can fake that answer while the port stays open.

macOS owners hit one specific wall. Local Network privacy blocks adb connect and reports no route to host, which reads like a broken TV while the real cause is a blocked permission. The bundled helper script avoids the binary for exactly this reason.

Frequently asked questions

Can this brick the TV?

Nothing is flashed, rooted or deleted. Packages are disabled in the user profile, and the recoverable path stays open through the TV's own settings. The real risk is disabling something the set depends on, which is why the project recommends small batches and hands you a restore script before you start.

Will my streaming apps stop working?

They keep working and they keep updating through the Play Store, which the lists leave alone. The launcher finds installed apps by intent, an interface that has been stable for a decade.

Does it block ads inside apps?

Partly. On Android 9 and newer you can point Private DNS at AdGuard DNS, which filters system-wide and survives reboots. That does not touch YouTube ads, and the trade-off is that the resolver sees every lookup from the TV.

Where do I download the APK?

There is no prebuilt binary. The repository ships a one-line script that compiles the launcher and installs it, which keeps the build tied to the source you can read.

What license does it use?

MIT. The Outfit typeface ships separately under the SIL Open Font License.

Why it belongs in your toolkit

A television is the one screen in the house that nobody redesigns. You buy it, you live with its home screen until you replace the set, and the usual answers are a streaming stick or a new panel. CleanYourTV treats the interface as something you can still change, using tools that ship with the platform and a door the manufacturer left open for developers.

The wider lesson travels further than the TV. Disabling services at the system level and drawing your own surface on top is the same move a design system makes, and the same argument our design system guide for business makes in a different register. If you want the interface layer for the product around it, our free UI resources and design and code kits are built for people who would rather own the markup.

Start with the README, run the prompt inside a coding assistant with shell access, and do one TV at a time. The CleanYourTV site collects the press coverage and the community projects built on top of the toolkit.

More free resources

Gr8r Studio — calm project management workspace

Code

Gr8r Studio — calm project management workspace

A calm project workspace with dashboard, inbox, board, calendar and timeline views. Plain JavaScript modules, no UI framework, zero runtime dependencies.

Spectrum UI — animated React components you copy and own

Components

Spectrum UI — animated React components you copy and own

Open source React and Tailwind component library for animated interfaces. Buttons, cards, loaders, and text effects arrive through one CLI command and land in your own repo as editable files.

Compositor — free Photoshop alternative for macOS

Code

Compositor — free Photoshop alternative for macOS

Free and open source Photoshop alternative for macOS. Layers, masks, PSD import, and a project format any AI agent can read and write.

Mailcheap, self-hosted newsletter on Amazon SES

Code

Mailcheap, self-hosted newsletter on Amazon SES

Self-hosted newsletter on Amazon SES. Write an issue, send it to your list, publish an archive, and pay about $0.10 per 1,000 emails with no per-subscriber fee.

Liquid Glass for React

Code

Liquid Glass for React

Glass surfaces and controls for React on the web and in Electron. Clear and Regular materials refract live content, and every control runs on Base UI behavior.

REA — reverse engineering MCP for AI agents

Code

REA — reverse engineering MCP for AI agents

Give your AI agent an MCP server that reverse engineers any app: native binaries, Electron, .NET, APKs, and websites. Analysis runs locally, MIT licensed.

FSearch — whole-disk file search for macOS

Code

FSearch — whole-disk file search for macOS

Find any file on your Mac in about a millisecond, typos included, and search inside text files. Whole-disk index in Rust, MIT licensed, one small daemon.

@sfinterface/numbers — rolling numbers for React

Code

@sfinterface/numbers — rolling numbers for React

React component that turns only the digits that changed. 13 kB, no dependencies, Intl formatting, five transitions, and reduced-motion support.

RuneIcons — open source icon set for modern UIs

Components

RuneIcons — open source icon set for modern UIs

Thousands of clean, consistent SVG icons for web and app interfaces. Open source, MIT licensed, and ready to drop into Figma, React, or plain HTML today.

Amicro — micro-interactions for any landing page

Code

Amicro — micro-interactions for any landing page

Open source collection of ready-made micro-interactions: hover glow, magnetic buttons, scroll reveals. Copy a snippet, paste into any page, ship motion today.

M3E Canvas — Material 3 Expressive UI builder

Code

M3E Canvas — Material 3 Expressive UI builder

Assemble Material 3 Expressive interfaces in your browser and export a ready-to-use prompt for AI. Open source, free, and built for Android vibe coding.

Driver.js — product tours & onboarding

Code

Driver.js — product tours & onboarding

Lightweight, vanilla JavaScript library for building powerful product tours, feature highlights, and contextual onboarding. No dependencies, just 5kb gzipped, fully customizable and accessible by default.

pdfcn — PDF viewer component for React

Code

pdfcn — PDF viewer component for React

Open source PDF viewer built on the shadcn stack. Renders documents inside your React app with zoom, search, and navigation. No iframe, no vendor lock-in, MIT license.

Free invoice template for Figma

Components

Free invoice template for Figma

Clear and simple table-based document for your business purposes. Powered by editable data grid, which is easy to manage.

Avatar UI design templates & tips

Components

Avatar UI design templates & tips

A part of the upcomong design handbook «The State of Component». Colors, Styles & UI design for Avatar. Events, States and Actions. Including layout samples for inspiration.

App Bar UI design templates & tips

Components

App Bar UI design templates & tips

Application Bar (aka Navigation Bar) — displays prior in-app controls related to the current app section. This freebie contains things to consider when designing App Bars.

Fonts Playground

Global Styles

Fonts Playground

Best web fonts precisely handpicked and optimised for better web legibility and ready to implement into your Figma project.

Website Template

Web Design

Website Template

Landing page template made for Figma. Contains styled components UI kit, desktop & mobile versions. Global styles, Inter, FlatUI colors.

Android UI kit

Mobile Templates

Android UI kit

8 mobile app templates based on popular Android UI design patterns: Calendar, Cards, Tasks, Kanban & Project management and more.

Figma iOS UI kit

Mobile Templates

Figma iOS UI kit

iOS native components and app templates organised into a «Most Design System» fully compatible with Human Interface guidelines.

Material X Starter

Free UI kits

Material X Starter

Top-notch styled components in the design system powered by Auto-layout. Ready-to-use Figma UI kit with styles from the nearest future.

Radar Chart

Data visualization

Radar Chart

Radar chart template made of components and available within a range of popular viewports: desktop, tablet and mobile. Light & Dark.

Rome UI kit lite

Free UI kits

Rome UI kit lite

Components & templates for desktop & mobile apps. Powered by clean and trendy custom guidelines and DM Sans font (OFL).

Xela UI kit starter

Free UI kits

Xela UI kit starter

100+ variants of several components to craft perfectly shaped desktop & mobile apps. Modern styleguides and free Nunito Sans font.

Free iOS UI kit

Mobile Templates

Free iOS UI kit

Customisable & adjustable mobile design system with 100+ variants for a set of components and 8 ready-to-use app layouts to try out.

Mobile-X UI kit

Mobile Templates

Mobile-X UI kit

Meet Mobile-X Figma design system for mobile app design. Cross-compatible & stylish UI kit which fits both iOS / Android apps.

Accordion guide

Tutorials & Education

Accordion guide

The exploration for Accordion component: styles, states, samples, and use cases for desktop & mobile viewports.

Eclipse UI kit

Free UI kits

Eclipse UI kit

Fine components fully loaded with variants, auto-layout, global text & color styles. Hi-end customizable Figma design system (starter).

Appka iOS UI kit

Mobile Templates

Appka iOS UI kit

Appka is a fine-themed & customized iOS design system with 4100+ variants for 28 components and 280+ ready-to-use app layouts for Figma.

Nav templates

Components

Nav templates

This design resource represents navigation components. It contains sidebars, drawers and headers both in light & dark modes.

Dark charts UI kit

Chart Templates

Dark charts UI kit

Try out this handy source of graphs for your next dashboard, pitch, or even print materials. Contains most common dark chart templates.

Figma email templates

Email Templates

Figma email templates

Five awesome and scalable free email templates to engage your subscribers. Dark & light themes. Contains buttons, lists and cards.

Charts widgets dark & light

Chart Templates

Charts widgets dark & light

Line & Wave charts, Bars, Histograms, Ratings and more graphs widgets are available in this free Figma resource. For dashboards, mobile & desktop.

Shopping layout for web app

Desktop templates

Shopping layout for web app

Contains navigation, filtering components, tabs, cards and more. This layout was made with Angular and fully coded.

Orion dark templates

Data visualization

Orion dark templates

Figma library with 40+ desktop charts templates served in light & dark themes. Contains 200+ of dataviz widgets for every case.

Responsive imagery cards

Card Templates

Responsive imagery cards

A variety of responsive cards templates for Figma. Constrained and scalable. Made with global styles for typography and colors.

Landing page & web blocks

Web Design

Landing page & web blocks

Use given blocks as a quickstarter for your very next web design mission. This freebie contains 3 landing pages for desktop, tablet & mobile.

Mobile tables several themes

Mobile Templates

Mobile tables several themes

Components-driven iOS layouts with data grid made from one singe cell. Based on different styles. Allows to create better tables in Figma.

12 free mobile templates

Mobile Templates

12 free mobile templates

Use our Full iOS design system as the starter for your next mobile app. This freebie includes 12 screens dark & light powered by 200+ components.

Calendars & Date picker templates

Components

Calendars & Date picker templates

UI design resource with 56 calendars extracted from our popular UI kits. All the best samples of schedule patterns, planners, event managers.

Schedule & Events template

Desktop templates

Schedule & Events template

This clean calendar template has been made of a scalable grid, accurately made with colored items and wrapped for the desktop.

Material You for web apps

Free UI kits

Material You for web apps

Figma Material Design 3 starter fully loaded with several desktop & mobile templates (with dark themes) and a bundle of components.

iOS Datepickers

Tutorials & Education

iOS Datepickers

Stand out with our Figma iOS date picker. Offering a true-to-life isometric design and easy-to-edit text, it's the most realistic option.

Segment UI kit

Mobile Templates

Segment UI kit

Design stunning Android apps with our free Figma UI kit. Follow Android guidelines and components and use our fonts, colors, and templates.

Figma React UI kit

Design & Code

Figma React UI kit

Our Figma React UI kit 2-in-1 makes web app building faster. Created in Figma, exported to React, and customised with Blueprint.js library.

Messenger app desktop template

Desktop templates

Messenger app desktop template

Effortlessly create world-class communication design with our Messenger Template for Figma. With dark and light mode options.

Zeus UI free website template

Web Design

Zeus UI free website template

Zeus Web UI kit-inspired landing page template. Supports all viewports, card-driven UX, polished with Syne and Space Grotesk fonts.

Design system starter

Global Styles

Design system starter

Launch your project with confidence thanks to our Figma design system. Customize grids, text, color, gradients, and shadows with ease.

Navigation layout 4 samples

Components

Navigation layout 4 samples

Sleek Navigation Menu for Material X design system in Figma. Various sizes and design options. Features badges and active state highlight.

Chart cards

Data visualization

Chart cards

Make your data pop with our easy-to-use Charts UI kit. Featuring bar charts and heatmaps, it's perfect for dataviz, dashboard, pitches and others.

Material UI styled

Free UI kits

Material UI styled

New and improved Material UI Kit, refreshed with enhanced material.io guidelines. Free and ready-to-use components included.

Hyper charts

Data visualization

Hyper charts

Transform your data into captivating visuals with several Figma's chart templates based on Hyper Charts kit. You'll find 8 editable widgets inside.

Search inputs

Components

Search inputs

Explore how Figma inputs are revolutionizing search interface design. Gain key insights to enhance user experience with impeccable UIs.

Figma Grid Layouts

Grid Layouts

Figma Grid Layouts

This template is designed to help you create templates that are beautifully balanced. Features both mobile and desktop layouts with 16/24 gutters.

Panda dashboard template

Desktop templates

Panda dashboard template

Build sleek dashboards with our Panda UI kit starter! Featuring a 1920w desktop template, UI widgets, and components.

Orion dataviz templates

Dashboard Templates

Orion dataviz templates

The design system starter for your next application. This resource contains 6 dashboard templates and a bundle of UI design widgets.

Subscribe to Setproduct

Once per week we send a newsletter with new releases, free resources and blog posts

By clicking Sign Up you're confirming that you agree with our Terms and Conditions.