跳到正文

simbasjungles

free-my-tv

A fast, ad-free home screen for Google TV. Open source, built with Claude Code. One button to undo.

README 已保存到本站,可直接阅读

Documentation snapshot

README 快照

这篇是英文原文

下面正文是项目自己的英文 README。想读全文就用浏览器自带的整页翻译: Chrome / Edge 点地址栏右侧的翻译图标,或用右键菜单里的「翻译成中文」; 手机浏览器一般在菜单里。

本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。

Free My TV

A fast, ad-free home screen for Google TV.

Trending picks from your own apps, the weather at a glance, and a look that follows the sunset. Open source. Built with Claude Code. One button to undo.

freemytv.io · Install · Any TV · Make it yours

What you get

  • No ads. No sponsored rows, banners or autoplaying promos. Not one.
  • Your apps, front and center. The streaming apps you actually use, on a glass shelf.
  • Trending, not sponsored. Three fresh picks every hour from what’s trending this week and the latest releases, only from apps you already have. Movies and Shows get their own tabs.
  • Weather and markets, one press away. The hour-by-hour forecast, sunrise and sunset, and live crypto prices.
  • Light by day, dark by night. It follows your city’s real sunset, the way your phone does.
  • A screensaver to match. Full-screen photos of the picks with a big glass clock.
  • Fast. 60 fps, every frame in 16.6 ms, on the TV’s own chip. The home screen uses 96 MB of memory instead of 242 MB (−60%).Measured on a 98″ TCL Google TV running Android 14.
  • Safe. No root. Nothing is uninstalled. One button brings back the factory home screen.

Install

About ten minutes. You need a Google TV or Android TV (Android 12 or newer) and a computer on the same Wi-Fi.

The easy way: Claude Code

  1. On the TV, turn on developer mode: Settings → System → About → press Android TV OS build 7 times. Then Settings → System → Developer options → turn on USB debugging. Write down the TV’s IP address (Settings → Network & Internet).

  2. On your computer, get the code:

    git clone https://github.com/simbasjungles/free-my-tv && cd free-my-tv
  3. Open Claude Code in that folder and say:

    Install Free My TV on my TV at 192.168.1.50. I live in Lisbon.

    It installs the tools it needs, builds the app and puts it on your TV. Swap in your TV’s IP and your city.

  4. On the TV, open Free My TV → Home Screen → Free My TV, and accept the debugging prompt (tick Always allow).

The manual way

  1. On the TV, do step 1 above.
  2. Tools: a JDK (17+), the Android SDK command-line tools (build-tools 34, platform android-34) and adb. On a Mac:
    brew install --cask temurin android-commandlinetools android-platform-tools
    sdkmanager "build-tools;34.0.0" "platforms;android-34"
    On Linux, get OpenJDK 17, Android’s command-line tools and adb from your package manager, then run the same sdkmanager line. On Windows, use WSL.
  3. Build:
    ./build.sh
    The first run creates config.properties. Set your city and your TMDB key there, then run it again.
  4. Install:
    adb connect 192.168.1.50:5555
    adb install -r FreeMyTV.apk
    On TCL TVs, also let it run in the background (TCL blocks it by default, and the switch never starts):
    adb shell appops set io.freemytv AUTO_START allow
  5. On the TV, open Free My TV → Home Screen → Free My TV.

Settings

Everything lives in config.properties, created by the first build:

KeyWhat it doesDefault
tmdb_keyYour free TMDB key, for the picksempty
tmdb_regionYour country (two letters): which titles are on which appUS
latitude, longitudeYour city, for the weather and the sunsetNew York
cityThe name on the weather cardWeather
languageauto (follows the TV), en or ptauto
show_cryptoShow Binance crypto prices on home and screensavertrue
currencyCrypto prices in USD, EUR, BRL…USD
temperatureC, F or autoauto
disable_assistantAlso turn off Google Assistantfalse

Changed something? Run ./build.sh and install again. Keep freemytv.keystore: updates are signed with it.

The TMDB key

Free, and it takes two minutes: create an account at themoviedb.org, then open Settings → API and request a developer key. Paste the API Read Access Token (or the API Key) after tmdb_key=. It’s your key: config.properties stays out of git.

Going back

On the TV: Free My TV → Home Screen → Original. The factory home screen, screensaver and every app come back exactly as they were. If the new home screen ever crashes three times in five minutes, it switches back by itself.

To remove it for good, switch to Original first, then uninstall Free My TV (Settings → Apps).

What it changes

  • It becomes the home screen and the screensaver.
  • It turns off, without uninstalling:
    • the stock home screen and screensaver, with the remote shortcuts they run on some TVs (like the Netflix button on TCL);
    • Google TV’s recovery home, Play Games and YouTube Music;
    • on TCL TVs, the TCL Channel, messages, store demo, hotel menu, manuals, mirroring and logging apps;
    • Google Assistant, only with disable_assistant=true.
  • Picture, sound, inputs, remote pairing, Google services and the Play Store are on a protected list, checked before every change.
  • Apps that saved a Wi-Fi network are never turned off, since Android would erase the network. If the TV’s first setup saved yours, the switch asks you to forget the network and connect again in Settings first.

Any TV

Free My TV runs on Google TV and Android TV: TCL, Sony, Hisense, Philips, Xiaomi and more, plus streamers like Chromecast with Google TV, the Google TV Streamer, onn 4K and NVIDIA Shield.

Samsung, LG or any other TV: plug a Google TV streamer into HDMI and free that one. Same steps, same home screen.

A different brand or model: ask Claude. Free My TV is made to be adapted by AI. Open the folder in Claude Code and say “set it up for my Sony”: it reads your TV, finds its home screen and its promo apps, updates the lists below and walks you through a test. CLAUDE.md tells it how.

WhatWhere
Apps to turn offDEBLOAT in HomeMode.java
Apps never to touchPROTECTED in the same file
Apps on the shelfSHELF in HomeApps.java
Your brand’s live TV appLIVE_TV_APPS in the same file

Make it yours

It’s your code, and Claude Code finds its way around it. Try:

  • “Add Crunchyroll to the shelf.”
  • “Show the prices in euros.”
  • “Add Spanish.”
  • “Switch to the night look an hour after sunset.”

How it works

  • A plain Android app, no Gradle, no libraries. build.sh runs aapt2 → javac → d8 → zipalign → apksigner and makes a 2 MB APK.
  • It uses the TV’s own ADB, from inside the TV. The app connects to 127.0.0.1:5555 with its own key (that’s the Allow USB debugging? prompt) and runs the same commands you would: cmd package set-home-activity, settings put secure screensaver_components, pm disable-user. Nothing listens to the network.
  • Drawn by hand on one Canvas, with Android 13 shaders for the frosted glass and the sky (plain fills on Android 12).
  • A safety net. A watchdog in a separate process brings back the stock home screen after three crashes in five minutes, and a boot check keeps your choice after TV updates.
  • Data from TMDB (trending titles, new releases and which app streams what in your country), Open-Meteo (forecast, sunrise and sunset), and optionally Binance (24-hour prices when show_crypto=true).
FileWhat it is
HomeView.javaThe home screen
HomeMode.javaSwitching between Free My TV and Original
Adb.javaThe TV’s own ADB, from inside the TV
Recs.javaThe picks (TMDB)
HomeData.javaWeather and prices
HomeApps.javaThe shelf, inputs and All Apps
DreamView.javaThe screensaver
SettingsActivity.javaThe settings screen (the app’s icon)
Watchdog.javaThe safety net

The website (freemytv.io) is in docs/: plain HTML, CSS and JS on GitHub Pages.

Privacy

No accounts, no analytics, no tracking. The app talks to TMDB, Open-Meteo (with the coordinates you set), and Binance only when show_crypto=true. Your settings stay on your computer and your TV.

Credits

  • Built with Claude Code.
  • This product uses the TMDB API but is not endorsed or certified by TMDB.
  • Weather data by Open-Meteo.com (CC BY 4.0). Prices from the Binance public API.
  • Icons: Material Symbols (Apache 2.0). Font: Inter (SIL OFL 1.1). Coin logos: cryptocurrency-icons (CC0).
  • Not affiliated with Google, TCL or any streaming service. App names and logos belong to their owners.

License

MIT. Fork it, change it, ship it.

Official distribution

获取与安装

暂未发现可确认的官方软件包地址

当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。

本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。

使用前核验

本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。