Remote for Android TV / Google TV from your phone, computer or any browser: picture, keys, apps, files, debloat, a clean launcher. No cloud, no account.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Everything goes straight from your device to the TV: no cloud, no sign-up. Every feature with screenshots: tvremote.pages.dev.
| 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 20 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. 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.
No ADB? The Phone and Computer apps still send keys after pairing with the code the TV shows.
| Feature | What it does | Guide |
|---|---|---|
| 🎮 Remote | Arrows, volume, channels, apps, typing, voice; holds keys like the real remote | → |
| 📺 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: 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 | → |
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 | ✓ | ||
| 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 | ✓ | ✓ |
Free, no ads, each on its own: install from the phone or computer app (TV tab), or with the Downloader codes above.
| 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 | → |
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
| 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 |
| 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 |
| 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.
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.
Find this app and many more free tools & games in AIO Desktop, a Windows/macOS-style web desktop by Social AIO. ▶ Open AIO Desktop
| 🧹 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 | → |