Skip to content
HoangTran0410Public

About

Take back your Android TV / Google TV: a home screen with no ads, debloat with undo, and a remote on your phone, computer or any browser. No root, no cloud, no account.

Topics

Resources

Stars

103 stars

Watchers

0 watching

Forks

Repository files navigation

TV Remote

TV Remote

Take back your Android TV: a home screen with no ads, the bloat switched off, the remote on your phone or computer.
Android TV / Google TV · LG · Samsung · Roku · VIDAA  ·  no root  ·  no account  ·  every change undoable

Get it · Quick start · Features · More apps · User guide · Changelog · Tiếng Việt

Latest release Downloads Android TV 5+ Android, Mac, Windows, Linux, web MIT

Google TV's home screen full of ads turns into TV Home, with no ads

Phone app
Phone app
TV web page
TV web page
Computer app
Computer app

Everything goes straight from your device to the TV: no cloud, no sign-up. Every feature with screenshots: tvremote.pages.dev.

Also by the author: KidGuard manages your child's Android phone from any browser: time limits, app blocking, bedtime, location. One APK, no account, free. kid-guard.pages.dev

Get it

You have Use Download Downloader code
An Android phone Phone app (TV Remote) tv-remote.apk 2973135
An iPhone, or any browser TV web page: install the TV app (TV Setup) on the TV, open http://<TV IP>:8765 tv-setup.apk 2397346
A Mac Computer app (TV Remote, about 35 MB) TV-Remote-mac.zip
Windows 10 / 11 Computer app TV-Remote-windows-x64.zip
Linux Computer app x64 · arm64
Optional, on the TV TV Home · TV Channels · TV Games · TV Apps tv-home.apk · tv-channels.apk · tv-games.apk · tv-apps.apk 4356026 · 8135635 · 2294968 · 1082201

Automatic updates for the phone app: Obtainium (tracks only tv-remote.apk). A TV or box that worked, or did not? A device report helps.

Codes go in the Downloader app on the TV and always point at the latest release. No Downloader: type tvremote.pages.dev/dl/tv-setup.apk in the TV's browser (any file above: /dl/<name>). tv-voice.apk (speech heard on the TV itself, Vietnamese, 39 MB) and tv-voice-en.apk (English, 47 MB, for TV Setup in any other language) have no code: TV Setup installs the one for its language when you turn on "Understand speech on the TV itself" (Setup tab, Remote buttons card) and removes it when you turn it off.

Quick start

  1. Open the app and pick the TV (phone · computer · iPhone / browser: install TV Setup, scan its QR).
  2. Type the code the TV shows: the keys work at once, with ADB off (keys before ADB).
  3. Later, for the screen, apps and files: turn on ADB (optional). Easiest: install TV Setup and press "Turn ADB on for me". By hand: Settings → About → press OK on Build 7 times → Developer options → ADB debugging (step by step); never on a provider box (FPT, Viettel…): it may ask for a password or lock up. Then choose "Always allow" on Allow USB debugging?

Features

Feature What it does Guide
🎮 Remote Arrows, volume, channels, apps, typing, voice; holds keys like the real remote; a Simple remote of big keys for grandparents →
📺 The TV's picture On your device, with touch and sound; listen with the phone's screen off →
✏️ On the TV's screen Draw, send a photo, a video or your camera, or a message; now playing; the TV's clipboard; dim or blue light filter →
🔒 For kids Sleep timer, bedtime, app limits, volume limits, PIN-locked apps and TV Home layout: they run on the TV itself →
📱 Manage the TV Apps, files, health (memory, the TV's own internet speed), several TVs at once →
⚡ Optimize TV Faster and lighter: animations off, ad-filled home screen and unused apps paused; Undo puts it all back →
🏠 Launcher gallery Pick a home screen without ads (TV Home first, then others) and install it in one tap; the old one goes off only once the new one answers Home →
🛡️ DNS filter Blocks ads and malware for every app through Private DNS; checks names still work within 30 s, else puts the old setting back; turns itself off if it breaks later →
🧹 Clean caches Frees space from every app's cache; app data and sign-ins stay →
🔑 Who may control the TV Each browser pairs once with a 6-digit code; the Setup tab lists the paired devices, forget one or all. the Setup tab's Who may use ADB lists the keys the TV allows and who is connected, and can revoke all (it asks first). "Allow USB debugging?" is answered for our own key; another device's only when you pick Allow or Decline →
⌨️ Test remote keys Every key the TV gets, live: name, code, which remote, press or hold, remapped or not →
🎬 Scenes and links Several steps in one tap, widget, Quick Settings tiles, Home Assistant, Siri Shortcuts, your own Telegram bot →
🌍 Away from home Through Tailscale, set up with one button, nothing typed on the TV →
📡 Other brands LG, Samsung, Roku, VIDAA (beta): keys, typing, apps, power on, scenes →
What each app can do

Phone app and Computer app (both TV Remote), TV app (TV Setup on the TV), TV web page (what TV Setup serves on port 8765, any browser after a 6-digit code; also on the TV as Manage on this TV).

Phone app TV web page Computer app
Remote, the TV's picture and touch, draw, picture or message on the TV ✓ ✓ ✓
Video over every app in a box you move and resize: a file, or your camera ✓ ✓ (file only) ✓
Now playing, the TV's clipboard, screen off while it keeps playing, dim the screen ✓ ✓ ✓
Volume limits by time of day, sleep timer, bedtime, app limits, PIN lock ✓ ✓ ✓
Listen to the TV ✓, screen off too ✓, while the page is open ✓, high quality
Apps, Files, Health, Automation, Setup ✓ ✓ ✓
Sharpest picture quality ✓
Several TVs ✓ only that TV ✓
Turn on a TV that is fully off (Wake-on-LAN) ✓ ✓
Keys before the TV has allowed ADB ✓ ✓
Infrared remote (phone's IR blaster, no network) ✓
Widget, Quick Settings tiles, the phone's volume keys, a remote in notifications and on the lock screen ✓
Game controller ✓ ✓ ✓
Link for Home Assistant, Shortcuts (Siri) ✓ ✓
Telegram bot needs TV Setup set up here needs TV Setup
Nothing to install on the controlling device ✓
LG, Samsung, Roku, VIDAA TVs ✓ ✓

More apps for the TV

Free, no ads, each on its own: install from the phone or computer app (TV tab), or with the Downloader codes above.

Google TV's own home screen, full of suggestions
Before: Google TV's home screen
TV Home with widgets
After: TV Home
App What it is Guide
🏠 TV Home A home screen with no ads and no suggested rows (0.2 MB): your apps, widgets, wallpapers, themes, YouTube channels and videos pinned from a link, set up from the phone →
📺 TV Channels Free TV channels from everywhere (iptv-org, VieON), programme guide, reminders, favourites →
🎮 TV Games Retro and web games, up to 4 phones as pads; card and board games with each hand on its own phone →
📦 TV Apps Free, open-source TV apps (SmartTube, Kodi, VLC, Jellyfin…), each checked against its maker's signature, one press to install →
How the apps fit together

Each arrow is a link between two apps. Solid: the app tells you what is missing; dashed: only partly; thick: it stays quiet. With logos and a table of every link: tvremote.pages.dev/apps.

flowchart LR
  subgraph clients["Outside the TV"]
    phone["Phone app<br/><small>Android · iPhone</small>"]
    web["Web page<br/><small>opens in a browser</small>"]
    desktop["Computer app<br/><small>Mac · Windows · Linux</small>"]
  end
  subgraph tv["On the TV"]
    adb["The TV's ADB<br/><small>port 5555</small>"]
    helper["Screen-off tool<br/><small>inside TV Setup</small>"]
    voice["TV Setup Voice<br/><small>offline voice · optional</small>"]
    setup["TV Setup<br/><small>runs in the background</small>"]
    home["TV Home<br/><small>home screen</small>"]
    channels["TV Channels<br/><small>channel player</small>"]
    games["TV Games<br/><small>installed over ADB</small>"]
    tvapps["TV Apps<br/><small>free apps for the TV</small>"]
  end
  subgraph ext["Outside services"]
    github["GitHub"]
    downloader["Downloader"]
    tailscale["Tailscale"]
  end
  clients -->|"1 ADB"| adb
  clients -->|"2 command"| setup
  clients -.->|"3 command"| home
  clients -.->|"4 play link"| channels
  clients -->|"5 install"| games
  tvapps -->|"6 install"| setup
  home ==>|"7 data"| setup
  setup -.->|"8 ADB"| adb
  setup -.->|"9 add-on"| voice
  setup -->|"10 helper"| helper
  clients ==>|"11 APK"| github
  phone -->|"12 install link"| downloader
  clients -.->|"13 remote"| tailscale
Loading

Tested on

Kind Brands Source
TVs Sony BRAVIA (Android 9) tested by us
TVs TCL, Xiaomi / Mi TV, Hisense (Google TV), Philips (Google TV), OnePlus, BenQ, CHiQ, RCA, SANYO, Toshiba, Insignia, Thomson owners (cleanyourtv)
Boxes Chromecast with Google TV, NVIDIA Shield, Mi Box S, Mi TV Stick, Fire TV (Optimize TV cannot change Home) owners
Projectors XGIMI, Epson owners
Other brands LG, Samsung, Roku, VIDAA beta, not tested on a real TV

Where Optimize TV's lists come from

Source What it adds
cleanyourtv (MIT), its forks, PRs and issues the per-TV lists of 400+ TVs, each from its owner, and what broke on which TV
UAD-NG, TV Slim risk notes and never-touch lists
TV Remote's users GitHub issues, logs sent from the app, our own TVs (Sony BRAVIA, FPT Play box)

Read again every few days (last: 2026-11-02). What was taken, what was left out and why: dev/sign/bloat-sources.md. Only apps that are off on many TVs and kept on none are suggested; anything someone lost a feature to goes on the keep list. The list is signed and read from the site each time Optimize TV opens, so no update is needed.

Safety rules (core/ontv/Setup.kt, LauncherSwap.kt, Bloat.kt):

Rule How
Turns off, never uninstalls pm disable-user: nothing is deleted, any app comes back
Never touches what the TV needs a protected list (Google's core, keyboards, setup, TV Setup itself) plus each brand's keep list, which nothing can override; and, checked on the TV before each change, any app that owns the HDMI / tuner inputs, a saved Wi-Fi network or the Settings screen, or that Android keeps running. The Apps tab refuses them too
Records before it changes what it turned off is written on the TV, and offered as a restore script that needs only adb
New home screen first the new launcher must open and answer Home before the old one goes off; if not, it rolls back
Undo turns back on only its own what the record names and its suggested list, nothing you turned off yourself
After a firmware update turns off again what the update turned back on; Undo stops that
Remote keys Input / app keys the old launcher handled keep working: TV Setup takes them over

Help

Need Go to
Something does not work Troubleshooting · the app's own check names the cause and the fix
The TV asks "Allow USB debugging?" again Why and what to do
Every topic, with search User guide
A bug or an idea Issues

Security: ADB over the network has no password, so use it on networks you trust and Tailscale away from home. Never open port 8765 to the Internet. Only a device paired with the code shown on the TV, or one the TV already allowed, can control it; Unpair all in TV Setup takes every one back.

Privacy: one anonymous note a day (TV model, Android and app version, what worked) and app errors with IPs, names and keys removed; never your IP, apps, account or Wi-Fi name. Off in Settings → Send anonymous stats. Details.

For developers

Code names, layout, rules and tests: AGENTS.md · how it works, build, run and test: dev/README.md · why some code looks odd: dev/DECISIONS.md · the site: docs/README.md · TV Home themes: THEMES.md.

Add a language: its files in app/shared/i18n/ (copy en.json and apps/en/) plus one line in langs.json; no code changes. node --test app/shared/tests/ says what is missing.

Credits: scrcpy (Apache-2.0), JMuxer (MIT), webview (MIT), JNA (Apache-2.0), cleanyourtv (Optimize TV's lists); the table games follow gamehub24. License: MIT.

🖥️ AIO Desktop

Find this app and many more free tools & games in AIO Desktop, a Windows/macOS-style web desktop by Social AIO. ▶ Open AIO Desktop

About

Take back your Android TV / Google TV: a home screen with no ads, debloat with undo, and a remote on your phone, computer or any browser. No root, no cloud, no account.

Topics

Resources

Stars

103 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages