Tellyscope

Verified safeOpen sourceExclusive
—
No reviews reviews
47
downloads
8.0
android

AI summary

Manage Android TV, Google TV, and Fire TV from a phone over Wi-Fi: disable built-in apps, install APKs, transfer files, adjust settings, and inspect device status. Changes include multilingual support, improved remote volume, and Fire TV launcher fixes.

Generated by AI. May contain inaccuracies.

About this app

Debloat your Android TV, install apps, browse and transfer files on it, all from your phone. Under 3 MB, no tracking, no root, no PC.

man15h.github.io/tellyscope/

Under 3 MB No tracking No root GPL-3.0 Latest release

Download the signed APK

Or get updates automatically with Obtainium.

A TV home screen after debloating: the inputs and the user's own apps, with no ads or suggestions

A TV after Tellyscope: only the inputs and your own apps.

Welcome to Tellyscope: the three setup steps, with Skip and Continue Add your TV: brand chips, the setup steps ticked off, and two TVs found with Connect Allow on your TV: this phone's key, and a drawing of the TV's Allow box with the same key A TV's page: the TV at a glance, its vitals, and the Install, Debloat and Send buttons A short welcome on first launch Add your TV step by step Check the key, then Allow Your TV at a glance Debloat: the TV's model on top, then the apps it will turn off, each with its package name History: every change with an Undo, and Restore everything Updating Netflix on the TV from an APK on the phone Sending a video from the phone to the TV's Movies folder Review every app Debloat turns off Undo anything from History Install or update apps Send files to the TV Files on the TV: the Download folder, each file one tap from the phone TV tweaks: ad-blocking Private DNS on, faster animations, clear caches and screenshot Another device wants to control this TV: the key fingerprint, with Deny and Allow Making Projectivy Launcher the home screen: the confirm names both launchers Browse and save the TV's files Block ads and tweak the TV Answer connection requests Switch the home screen Rendered from the app's screenshot tests with sample data.

Get it GitHub Releases. Download Tellyscope-<version>.apk from the latest release and open it on your phone. You may need to allow installs from your browser or file manager first. Pre-releases marked -alpha are test builds: they install as a separate app next to the regular one, with the same name and icon. Obtainium. To get updates automatically, add this repository's GitHub address in Obtainium. Turn on Include prereleases only if you want the alpha builds. Tellyscope needs a phone on Android 8.0 or newer, on the same Wi-Fi as the TV, and a TV with developer options turned on (how).

Is it safe? Small and private. Under 3 MB. No ads, no tracking, no accounts. It makes two internet requests: one fetches the debloat lists from this project's GitHub, or from your own fork if you point it there; the other asks GitHub every 30 minutes whether a newer version is out, and you can turn it off in Settings. Everything else stays on your Wi-Fi, except one lookup: the scan asks your phone's DNS server for the name of each TV it finds, which leaves your Wi-Fi only if that server is outside it, such as Private DNS on the phone. Turning on Private DNS changes where the TV looks up addresses, not what the app sends. Reversible. Apps that came with the TV are only ever disabled, never uninstalled, so nothing is deleted. Apps you installed yourself can also be uninstalled, after a confirm that says it can't be undone. Every change goes into History, all but Uninstall with an Undo, and Restore everything turns back on all it turned off. Protected list. Apps the TV needs to start, update, stay on Wi-Fi, show its home screen or take input can't be stopped or disabled. They sit in their own System section under Apps. There is no override. Apps a TV's list only says to keep can still be changed, after a warning in the confirm. You see it first. Debloat shows every app it will turn off, and the confirm names each one before anything runs. The full rules are under Safety rules.

What it does Tellyscope is a phone app that talks to your Android TV, Google TV or Fire TV over the network using ADB, the same debugging protocol developers use.

Find and connect. It looks for TVs on your Wi-Fi, or you add one by IP address. Classic network debugging (port 5555) and Android 11+ wireless debugging with a 6-digit pairing code both work. Add your TV walks through turning debugging on one step at a time, with the menu names for Google TV, Android TV, Fire TV, Xiaomi or XGIMI, and general steps for any other TV, then lists the TVs it found. Each TV opens its own screen: the pairing code, or the Allow box with this phone's key to check against the one the TV shows. The first launch opens a short welcome with the three setup steps, and on Android 17 or newer asks for the local-network permission it needs to reach the TV. Remembers your TVs. They reconnect on their own after a restart of the app or the TV. You can rename a TV (the name stays on your phone) or forget it. The ⋮ menu shows which TV it's for on top, then this TV's items and the app's in two blocks. How it's doing. Every tab of a TV's page opens with the TV itself: its name, maker and model, and a one-line summary such as "Running fine" or "Storage almost full". Scroll, and its icon and name shrink and slide up into the top bar, where a Connected or Offline badge joins them. On Overview, below that is a chip per TV to switch between them, then a + Device chip. Then comes free space as a bar, with CPU, RAM, temperature and network speed. When a TV is offline, it shows the storage from the last time Tellyscope saw it. Its address and how long it's been on are under Advanced. The main jobs up front. Big Install app, Debloat and Send file tiles sit right under the vitals. Debloat shows a count while the TV's list still has apps on, or while apps Tellyscope turned off are back on, often after a TV update. When there's nothing left, it opens Apps instead. Under Suggested for this TV, one line says how many of the list's apps are off. If any came back on, a red line says so. Below that are the TV's Android version, when it last updated, and Check for updates, which opens the TV's own update screen. The Apps tab has an Install app button, and Files has Upload files. Advanced. Every number in one place: memory, storage, CPU, temperature, uptime and screen state, CPU and RAM by app, processes, network and data used, and the TV's address. Apps. Every app on the TV with its real name and icon, under three buttons: Running (what's using memory now), Installed (only the apps you put on the TV) and Built-in (what came with it). The buttons stay pinned under the bar as you scroll. Stop, disable or turn back on any app that isn't protected; each button says what it will do and asks first. Apps you installed yourself also offer Uninstall, which asks in a dialog that names the app and says it can't be undone. On Running and Built-in, the protected apps sit last under System, which folds away with a tap and stays folded until you open it again. Search apps sits under the buttons and pins with them. Tap it and the field moves to the top, the TV and the buttons step aside, and every matching app shows in one list. ← or Back brings them back. Another home screen. With a second launcher such as Projectivy installed, its row in Apps offers Set as default launcher. Tellyscope makes it Home, checks that Home really opens it, and only then disables the old launcher, so the TV can't switch back by itself. The one exception: a stock launcher that outranks the rest, e.g. Android TV Home, is turned off first and turned back on if Home still doesn't open the new one. One Undo in History turns the old launcher back on and makes it Home again. Later, the new launcher's row offers Switch home back to the one it replaced, or the TV's own if there was no switch: it's turned back on if it's off and made Home, and the added launcher stays, free to uninstall. For a launcher that keeps Home with its own accessibility service, such as Projectivy (the ones marked in launchers.json), Set as default also turns that service on, after the confirm says so, for TVs whose Home button opens their own launcher whatever the default is. Undo and Switch home back turn it off again, and any other accessibility services stay as they were. Settings and other apps that only answer Home as a fallback are never offered as launchers. On Google TV, the Apps row and the Live tab are part of the old launcher and go with it. Debloat. It finds your TV among 230+ tested clean-up lists (adapted from cleanyourtv) and opens on every app it will turn off, with the model on top. With no list for the model, it shows apps from the maker's other lists, none ticked. With none for the maker either, you tick the TV's own apps by hand; the ones it needs aren't shown. Not this TV? searches every list. Your pick is remembered, and the TV's page then says how many of the list's apps are still on. Apps are pre-ticked only when the TV runs the Android version the list was tested on; untick anything you use, and you confirm before anything is disabled. If you'd rather not trust our lists, point the app at your own fork of them under Advanced in Settings (see CONTRIBUTING). History. Every change is listed with an Undo, and Restore everything turns back on what Tellyscope turned off. Undoing a Turn on asks first, since it disables the app again. History is kept per TV, across restarts. Install apps. Pick an APK, several split APKs or an .apks/.xapk/.apkm bundle on your phone. Before installing, Tellyscope shows the app's name, version and size and says whether it's new, an update, a reinstall or an older version. It won't install an older version over a newer one unless you tick the box. If the TV refuses, you get the reason in plain words. TV tweaks. Block ads with Private DNS sends the TV's address lookups to an ad-blocking DNS provider (AdGuard by default, or any other you type in). Tellyscope then checks the TV can still look addresses up, and puts the old setting back if not. It needs Android 9 or newer. Faster animations makes menus move at twice the speed. Both land in History with an Undo. Clear caches frees space by clearing every app's temporary files; app data and sign-ins stay. Take screenshot saves what the TV shows to your phone. Connection requests. When another device asks to debug the TV, Tellyscope shows the TV's "Allow debugging?" prompt on your phone, with the device's key fingerprint, so you can Allow or Deny it without the remote. Always allow this device appears when the TV's own prompt offers it. Files. Send a file from your phone into the TV's Download or Movies folder, or save one from there to your phone. Two buttons under the TV pick the folder, and stay pinned under the bar as you scroll. An empty folder says so in the middle of the page. A file with the same name gets a " (1)" instead of being overwritten, and a cancelled copy leaves nothing half-written behind. Setting up your TV On the TV, open About in Settings and press OK on Build (Fire TV: your device's name) 7 times, until it says you're a developer. In Developer options, turn on USB debugging (Fire TV: ADB debugging), and Network debugging if your TV lists it. Newer TVs may show Wireless debugging instead; turn that on too. Put your phone on the same Wi-Fi as the TV and open Tellyscope. Pick your TV's brand under Add your TV, and tap Connect when your TV shows up under Find your TV. The TV asks "Allow USB debugging?". Check its key matches the one Tellyscope shows, tick Always allow from this computer, then press Allow. With wireless debugging, Tellyscope asks for the 6-digit pairing code the TV shows instead. The menu paths differ by brand; the app shows the exact steps for yours.

Safety rules Debloating a TV can break it if done carelessly. Tellyscope is built around these rules, and contributions must keep them:

Disable what came with the TV, never uninstall it. Tellyscope uses pm disable-user, which is reversible from the app or with pm enable. Uninstall is offered only for apps pm list packages -3 lists as installed by the user, and runs plain pm uninstall after a confirm that says it can't be undone. Tellyscope never runs pm uninstall --user 0, the form that removes a TV's own apps. Record before changing. Before the first change on a TV, Tellyscope notes which apps were already off, so Restore everything turns back on only what Tellyscope turned off. Every change goes into the TV's history with an Undo. The history lives on the phone and is deleted if you uninstall Tellyscope; a disabled app still shows in the Apps list with Turn on. Protected list. Packages the TV needs to boot, install its updates, stay on Wi-Fi, show web pages, show the home screen or accept input are on a protected list. Tellyscope refuses to stop or disable them, and there is no override in the app. A TV's list can add keeps: those only warn in the confirm, and can be overridden. If the TV doesn't say which app is its home screen, Tellyscope refuses to stop or disable anything. The one exception is switching home screens: the old launcher is disabled only after another launcher has become Home and Home has been checked to open it; a stock launcher that outranks the rest, such as Android TV Home, is turned off first and turned back on if Home still doesn't open the new one. The current home screen itself never can be. A TV's suggested list never protects fewer apps; its keeps add a warning, not a lock. No root, no exploits. Only what ADB allows on a stock TV. Nothing left on the TV. To show real app names and icons, Tellyscope copies a small helper to /data/local/tmp, runs it once and deletes it. The helper only reads through PackageManager: no writes, no permissions, no network. Project layout Module What it is :app The Android phone app. Kotlin, Jetpack Compose, Material 3 Expressive. Package app.tellyscope. :adb Pure Kotlin/JVM library on top of Kadb: connecting, pairing and running commands on a TV. Unit-testable without a device. app/src/helper The label helper: plain Java, built into a dex in the app's assets and run on the TV with app_process. :cli Desktop smoke test for :adb against a real TV (./gradlew :cli:run --args="stats <tv-ip>"). Not shipped. Building Requirements:

JDK 25. Kadb ships Java 25 bytecode, so :adb tests need a Java 25 runtime. :adb itself still compiles to Java 17 bytecode so the app can use it. Android SDK with platform 37. Set ANDROID_HOME or put sdk.dir=... in local.properties. ./gradlew build # assemble, unit tests and lint ./gradlew :app:installDebug The app supports phones on Android 8.0 (API 26) and newer.

Contributing See CONTRIBUTING.md. If you have an Android TV, a device report helps even if nothing worked.

Why the name? Tellyscope is named after Wallace's Tellyscope, a contraption for changing the channel without getting up. This one is a bit safer.

License Tellyscope is licensed under the GNU General Public License v3.0. Third-party credits are in NOTICE.

Releases 33 (33) Tellyscope 0.7.0 Latest 5 hours ago + 32 releases Contributors 4 (4) @claude claudeClaude @jesse-agent-232 jesse-agent-232 @man15h man15hManish Languages Kotlin 98.7% Java 1.3%

What's new

v0.14.0Oct 31, 2026

New: Hindi, Chinese, Japanese, Russian and Spanish support, machine-made; corrections welcome. #272 New: Settings › What's new shows each version's changes, and what an update brings. #271 Improved: The update dialog offers Download APK, which gets the new version straight from its release. #271 Improved: Tweaks shows the same TV-offline screen as Files. #273 Improved: Remote volume moves the full range in about 15 taps, without lag. #267 Improved: The Temp reading is gone, since many TVs don't let apps read it. #268 Fixed: With the TV away, app rows grey out and won't open. #273 Fixed: Connect says when the phone has dropped off Wi-Fi, and Try again waits for Wi-Fi instead of failing at once. #274 Fixed: On Fire TV, making Projectivy Home now opens it straight away, without a Home press. #263 Fixed: On Fire TV, Reset TV now puts Amazon's launcher back when Projectivy holds Home, by turning its accessibility service off. Undo turns it back on. #263 Fixed: Who has access hides leftover connections when only this phone is allowed. #269 Commits since v0.13.0 CHANGELOG: one line for all five languages (cef519c) Bring Hindi back for 0.14.0 (343cfef) What's new test: jump to the installed version by its key (22f3c26) What's new test: scroll to the installed version before checking it (7851234) CHANGELOG: 0.14.0 final alpha (fde2adb) Update: Download APK in the browser instead of installing in the app (61db676) Update: only offer an APK this build can install, and install after a background download (114e8ca) Update from inside the app, and read main's CHANGELOG on every build (9b30faf) What's new: show an update's versions above the installed one (dc736eb) What's new test: click #267, since the Hindi #231 line left 0.14.0 (ec064de) What's new: translate its strings into Spanish, Chinese, Japanese and Russian (7561d13) CHANGELOG: What's new is #271 (1ebd654) Add Settings › What's new, built from the bundled CHANGELOG (a2d6872) Build each PR link from its number, on the main repo (01a8f17) Bundle CHANGELOG.md as an asset and parse its released sections (e3fe63d) Connect: review fixes for Can't reach the TV (957e49d) CHANGELOG: Can't reach the TV is #274 (f5ea14c) Connect: say when the TV can't be reached, and wait for Wi-Fi (ab062c4) README: list the 5 app languages (5d9ae4e) CHANGELOG: offline app rows and Tweaks empty state (672351c) Grey out app rows and show the Files-style empty state while the TV is away (56a8776) Raise the release APK size gate to 3.5 MB (11cc555) Say "3 MB", not "Under 3 MB" (13884ae) Keep Russian; Hindi never shipped, so drop its 0.14.0 line (57bcd88) Link the CHANGELOG line to #275 (ecb14e0) Drop French, German, Portuguese, Russian and Hindi to fit the 3 MB budget (c9a2ecd) Translate the app into Spanish, Chinese, Portuguese, French, German, Japanese and Russian (8e9c37a) [release] Tellyscope 0.14.0 (0b6f34e) TvAccessTest: the waiting prompt is another key than this phone's (eb6ea20) TvAccess.of: say plainly which connections are left out (7f2c53a) Who has access: hide other connections when only this phone is allowed (fd39c81) Drop the Temp strings dev's #268 removed, in English and Hindi (2e9c966) Hindi for the text dev added since the branch began (47086e7) Fix lint errors: Hindi plural counts and config-aware report string (2ab3bf5) List English and Hindi in the per-app language setting (80f6972) Keep only English and Hindi, and translate the app into Hindi (68b2169) Resolve Copy.SYSTEM in the folded-System screenshot test (3ef0aa3) Move user-visible text into strings.xml (7057c9d) Add UiText for text resolved from strings.xml when shown (0936719) Overview vitals: CPU left, RAM centered, Network right (8538bf0) CHANGELOG: link #268 (9157e2f) Remove the Temp reading everywhere (c19d352) Remote volume: a waiting tap cancelled with the Remote clears its flag (a006ca7) Remote volume: about 15 taps for the full range, no tap pile-up (d1c4a67) Screenshot test: fetch streaming logos from tellyscope-devices (4ec0f1f) README: Remote screenshot with the streaming buttons (600f78c) Fire reset Undo: read the service without getValue (38749c2) Actions: homeActivity above the launchers() KDoc (a9d3b02) Fire TV Make Home opens the launcher; test the reset's Undo (c97e5d4) CHANGELOG: link #263 (a934b48) Fire TV Reset TV: put Amazon's launcher back when Projectivy holds Home (0b66b77) Docs: README and CONTRIBUTING to 0.13.0 (8e811cb) Assets 3 Tellyscope-0.14.0.apk sha256:8ed07df390c002ba8124de1026123f3e10e96e585fe0833ed61f4e16494f7d3b 2.96 MB 16 hours ago Source code (zip) 16 hours ago Source code (tar.gz) 16 hours ago Footer © 2026 GitHub, Inc.

About this version

Version
0.14.0 (26)
Size
2.96 MB
Requires Android
8.0
Target SDK
26
Architecture
arm64-v8a, armeabi-v7a, x86, x86_64
Downloads
47
Updated
Oct 31, 2026
Package
app.tellyscope
Languages6
ChineseEnglishHindiJapaneseRussianSpanish

Similar apps

Ratings & reviews

—
0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app