Memory sheet. The RAM line under the top buttons is now a stop of the top row: press ▶ past the three round buttons and OK
(or the quick panel's Memory tile, or a colour button). It shows the TV's memory in use with a bar, the swap, and the apps that are
open, with the MB each holds when it can tell (Netflix, Amazon…). Free memory now closes every app you have not marked Keep
(YouTube AdFree is kept by default); OK on an app closes just that one; ◀ ▶ switches an app between Keep and Close;
Free it by itself with the screensaver does it when the screensaver comes up. FreeTV never closes itself or LG's own apps.
It uses LG's remote-control API: the TV asks once ("allow FreeTV to close apps?"), and the answer is kept.
FreeTV 2.2: lighter, and it updates itself
Lighter and smoother. The home no longer repaints big shadows on every frame, the permanent blurs (round buttons, drawer, toast) are
only used in Pretty, and the background follows the focus after a short pause. Home Settings → Look → Smoothness: Automatic (the
default: it times the first moves and, if they run under 32 frames a second, turns the smooth mode on by itself and says so), Smooth
(no glass, flat shadows), Balanced (blur only on the panels) or Pretty (everything).
RAM line. Under the top buttons: the TV's memory in use (RAM 1416 / 1837 MB, amber over 80 %, red over 90 %) and FreeTV's own
(FreeTV 41 MB). Home Settings → Widgets → RAM in use switches it off. (Netflix, Amazon and other apps keep memory while they sit in the
background: that is where most of a 2 GB TV's RAM goes.)
The screensaver is solid. It comes up opaque and instantly, in and out; only its photos fade, inside it. The night dimming no longer
makes it see-through.
FreeTV updates itself from your repository (LG). Home Settings → Maintenance → FreeTV updates: Tell me (default: it says so and
waits for your yes), Automatic (installs by itself, but only while FreeTV is on screen with a screensaver up, never over another app) or
Never. FreeTV on GitHub shows the state and installs on OK. The TV's own store service downloads the release's package, checks its
SHA-256 against the release's SHA256SUMS and installs it over FreeTV; FreeTV opens again by itself. Your settings, TMDB key and city
stay (the package of a release carries none: they live on the TV). Which repository a TV follows: state/update-repo.txt in the store
service's folder (owner/name, default PharmaJava/FreeTV), so a fork's TVs can follow the fork.
To publish a version: bash tools/make_release.sh --publish (builds the package for everybody and makes the GitHub release).
The Store keeps the catalogue on the TV (it opens at once and works offline, saying how old the copy is), waits longer and tries three
times, and when it cannot connect it says why and offers Try again.
FreeTV 2.1: everything your way
The weather in full, markets with charts and price alerts, a page of widgets, the remote's buttons as shortcuts, a Store you can
search and filter, profiles, your own tabs, routines and much more. Nothing from before was removed.
The remote: with FreeTV on screen, 1-9 open the shelf's apps and 0 All Apps; the red, green, yellow and blue buttons do what
you choose (quick panel, search, weather, markets, my widgets, screensaver, Store, switch profile, TV Settings…). Home Settings → Remote.
Weather in full (yellow button, the quick panel or Widgets → Full forecast): the next 12 hours with the chance of rain, six days with
their range, feels-like, humidity, wind, UV index, air quality and rain in the next hour (Open-Meteo, no key).
Markets: add your own quotes (stocks, indexes, funds, gold, currencies, coins: AAPL, SAN.MC, ^IBEX, EURUSD=X, ADA…), each with its
24-hour line; OK opens a chart (1 day, 5 days, 1 month, 1 year) and price alerts ("tell me if it goes above / falls below").
Any of them can go on the top row too. Information only, not investment advice.
My widgets: a calendar with your country's public holidays, countdowns (Christmas, holidays, birthdays), notes and reminders
at a time of day, your football team's next and last match (TheSportsDB), currencies, and news headlines from an RSS feed you
choose (Google News, El País, RTVE, BBC… or any address; on LG the TV's own store service reads it).
Store:search, filters (featured, new, games, media, tools, no root, installed, my list), order, a New mark on apps that
arrived since your last visit, my list to keep apps for later, the app's size and whether it fits, what changed in its last version,
Uninstall from its page, and extra repositories you add yourself (Home Settings → Apps). TV health tells you when there are new apps.
Look: ready-made styles (pure black OLED, clear glass, warm night, minimal), dark by schedule (from-until), text size, glass
strength, corners, app names under the shelf's icons, smaller cards (more per row), your own background picture, and the
region of the landscapes (Andalucía, Spain, Lithuania).
Tabs: show, hide, reorder and rename them (, or hold OK on a tab).
FreeTV 2.0: make it yours
Many more settings, new widgets, a Store that tells you what each app is, a quick panel you fill yourself, and proper icons for Live TV and the Store. The TV shows FreeTV v2.0.0 while it starts. Nothing from before was removed. All changes: CHANGELOG.md.
New: frosted glass and menus by section
Menus are now frosted glass over your home screen, with settings in sections and a quick panel (open it from the drawer).
LG's home screen is full of ads. FreeTV sets it aside (it does not delete it) and puts its own: your apps as real square
icons, recommendations only from the services you have an account in, your city's weather and the market quotes you care
about. No rooting: it installs like any app through LG's Developer Mode, and everything can be undone.
What it does
Home tabs:Custom (the first), Continue watching, Explore, Movies and Shows.
Custom: shortcuts with a cover picture to children's YouTube channels (Bluey, Sofia the First, Minnie's Bow-Toons and Ms Rachel,
always in English), opened in YouTube AdFree (install it from the Store) in its TV screen, not the website. A channel opens
its newest video that can be watched now (live streams and premieres that have not started are skipped).
Add a channel from the TV, no computer: press +, type the name (or @name) with the TV's keyboard and press Enter; the TV
looks it up on YouTube and you pick the channel with the remote. Hold OK (or the Magic Remote's wheel, with the pointer on
screen) on a channel to Open, Move left/right or Remove
it (a short OK opens it). They can also be added from the computer: in config.properties, kids_channels=Cocomelon|@Cocomelon,
then bash install.sh <IP>.
Continue watching: what you opened last from FreeTV (apps and channels), with the time. Hold OK to Remove one. The TV
does not tell an app what another app played, so it cannot show the exact point of a series.
Real app icons. The icons your TV provides, square and edge to edge, no frames. Live TV is one more icon on the
shelf (by default where Apple TV would be).
Arrange your apps. On the shelf, hold OK on an icon: it lifts; move it with ◀ ▶ and drop it with OK. The
order is saved. The shelf holds 12; everything else is under All Apps.
Suggestions only from your accounts. Trending films and series from TMDB, only from the services you switch on in
Home Settings → Suggestions (no Disney+ or Apple TV picks if you have no account there). There you also choose whether
to include animation and anime, and how many suggestions to show (6, 9, 12 or 18).
Real exploring. The suggestions row slides right with ▶, and every card says what it is and where to watch it
("Series · Netflix", "Movie · Prime Video"). The first, wider one adds genre and length.
Markets in dollars: Bitcoin, Ethereum, Solana and XRP (Ripple) (Binance), and iShares S&P 500 and NASDAQ 100
(CSPX and CNDX, in dollars). Each one can be switched off. Information only, not investment advice.
What you need
An LG TV with webOS (tested on an LG OLED).
A free LG developer account (webostv.developer.lge.com) made with email and password (if you sign in with Apple
or Google the TV cannot log in: use "forgot password" to set one).
A computer on the same Wi-Fi as the TV, with Linux, macOS or Windows with WSL, and git, python3 (3.9+) and
node (20+) with npm.
Optional: a free TMDB key (themoviedb.org → Settings → API) for the picks (and the picks' photos in the screensaver).
It is yours and secret. The landscape screensaver and the store do not need it.
Install, step by step
1. On the TV (you do it). LG Content Store → install Developer Mode → open it, sign in → Dev Mode Status ON
(the TV restarts) → open it again → Key Server ON. It shows the TV's IP and a passphrase. The passphrase
changes every time you restart the Key Server and is private: never paste it in a chat.
2. On the computer. Windows only: wsl --install -d Ubuntu, reboot, open Ubuntu and work there, in your home folder
(not in /mnt/c). Then:
Reopen the terminal and nvm install 22 (skip this if node --version already says 20 or more).
3. Get FreeTV and set your data.
git clone https://github.com/PharmaJava/FreeTV.git
cd FreeTV
cp config.example.properties config.properties
nano config.properties
Set your city (city, latitude, longitude) and tmdb_region (your country). Paste your TMDB key yourself in
tmdb_key= if you have one. In hide_services= list the services where you have no account (e.g. disney). This file
stays on your computer (it is in .gitignore).
4. Install.
bash install.sh 192.168.1.140
(with your TV's IP). It builds the home screen, downloads the Home button helper, patches it and installs it. It asks
for the passphrase (you type it) and the TV shows a pairing prompt you accept with the remote.
At the end it asks one question: "Turn it on? [y/N]", about installing apps from the TV itself, with no computer. If you
say yes, the TV keeps this TV's Developer Mode key in a folder only the store service reads, so it can install by itself. The
default is no, and the store still works through the computer. You can take the key back any time:
node tools/provision_store.js <IP> --forget. To answer in advance: FREETV_STORE=1 bash install.sh <IP> (yes) or FREETV_STORE=0 (no).
Using it, updating, uninstalling
You want to…
Do this
Go to FreeTV
Home button (or turn the TV on)
Open a channel for the children
Custom tab (the first) → OK on its cover
Add a YouTube channel
Custom → + → type the name with the TV keyboard → Enter → pick the channel
Move or remove a channel
Custom → hold OK on it
Remove something from Continue watching
Continue watching → hold OK on it → Remove
Uninstall an app
All Apps → hold OK on it → Uninstall → confirm (a short OK opens it). Only apps installed through Developer Mode (the Store's); LG's own must be deleted on LG's home
Move an icon on the shelf
Hold OK on it, ◀ ▶ to move, OK to drop
Choose the shelf apps
Home Settings → Shelf
Choose which services to suggest from, animation, how many
Home Settings → Suggestions
Install a community app
Store icon on the shelf → pick the app → OK → Install on this TV → confirm
Update apps
Store → Update all (N) (at the top), or an app marked "update" → Update on this TV
Update apps by themselves
Home Settings → Update apps by itself (off by default)
Change the screensaver
Home Settings → Screensaver (landscapes, picks or both)
Go back to LG's home
Hold Home for 2 seconds
Turn the Home button back on
Home Settings → Turn the Home button back on
Developer Mode expires after about 40 days: press EXTEND in the Developer Mode app now and then, or run
bash install.sh <IP> again. To change settings, edit config.properties and run bash install.sh <IP> again. To update
FreeTV: git pull, then the same.
Three things in the Developer Mode apps area: the FreeTV screen with its services (renewal and the store), and Home
Helper, which listens for the Home button. Only if you say yes to the question at the end: this TV's Developer Mode key, in
the store service's folder; it allows what your computer does (install and remove Developer Mode apps), nothing more, and
--forget takes it away. It does not root the TV, change firmware, touch picture, sound or network, or delete anything of
LG's. Your TV talks to TMDB, Open-Meteo, Binance, Yahoo Finance, Wikimedia Commons (screensaver) and, if you use the store,
repo.webosbrew.org and each package's address; nothing goes to any FreeTV server (there is none).
No coding assistant? Use any AI
docs/GUIA-IA.md has a text to paste into ChatGPT, Gemini, Claude, Copilot… that guides you step by
step. You press the remote and type your passphrase; the AI never needs it.
Your TMDB key and GitHub
Your config.properties (with your TMDB key) is never uploaded: it is in .gitignore. The repository also has a check that
blocks a commit that would publish a key or a private file. If you plan to change FreeTV and push, turn it on once:
git config core.hooksPath .githooks. Check the whole history any time with python3 tools/check_secrets.py --all.
Community apps (ad-free YouTube, Kodi, Jellyfin…)
The Store icon on the shelf (or Home Settings → Community apps) shows the webOS Homebrew catalogue and installs the apps
that don't need root (36 of 56): ad-free YouTube, Kodi, Jellyfin, Moonlight, native Plex, RetroArch, IPTV… Three ways to
install, all with the SHA-256 hash checked and your confirmation:
From the TV itself, no computer (if you said yes to the question at the end of install.sh): the Install on this TV button.
Through the computer: keep python3 tools/community.py serve <IP> running and use the same button on the TV.
From the terminal:python3 tools/community.py install <id> <IP>.
Anything that needs root is not installed: FreeTV does not root TVs. Some apps carry a warning you must accept on purpose
(ad-free YouTube requires deleting the official YouTube first, which can only be done on the TV). There is also one unofficial
extra (RezkaTV, by a third party) behind its own confirmation. The catalogue and the apps are made by other people: read before
installing. Details in docs/COMUNIDAD.md (Spanish).
Other TVs
TV
What there is
Status
LG (webOS)
Full FreeTV (this guide)
Tested on an LG OLED
Samsung (2017+)
The same screen, packaged in tizen/, with YouTube AdFree, Twitch AdFree and community apps through TizenBrew: guide (in Spanish)
Got one of these? Tell us how it went in an Issue.
Which look and menus reach which TV. Frosted glass, sections, quick panel, search, kids mode, calm mode and accent colours live in the shared home/ code, so the Samsung package gets them too (it builds and packs; we have not run it on a
Samsung). The sleep timer, TV health, the first start guide and everything that talks to LG's TV (Developer Mode, the Store, the privacy check, saved settings)
are LG only. The Android TV app is Free My TV's native one and has none of this yet: it needs the Android SDK to build, which we do not
have here, and we will not edit it blind.
Tested, and limits
Tested on one LG OLED (webOS with Node 8.12 and Chrome 79; Samsung and Android TV: see the table above): Home button, return after Back, reordering, quotes,
picks and the store (the TV's service opens its session, installs a package with its hash checked and refuses the dangerous
cases: root, wrong hash, an id outside the catalogue, an unconfirmed warning…). The serve variant (through the computer) was
tested with simulated tools, not on a TV. Kodi did not fit for lack of free space on the TV. Cold boot depends on your TV and firmware. Other LG models may differ. Samsung is experimental (not tried by us on a TV) and other brands are not supported here. The Developer Mode renewal from the TV (see above) was confirmed on one TV; the helper's own beta panel is not.
Credits
Built from Free My TV (the home screen) and
Razdva122/clean-your-tv-lg-webos (Home button helper and renewal),
both MIT. See NOTICE.md. This product uses the TMDB API but is not endorsed or certified by TMDB. FreeTV is not
affiliated with LG.
FreeTV en español
Una pantalla de inicio limpia, sin anuncios, para tu tele, y un botón Home que te lleva siempre a ella.
LG (webOS): probado · Samsung (Tizen 2017+): experimental · Android TV y Google TV: app de Free My TV incluida · qué hay para cada tele
Hoja de Memoria. La línea de RAM bajo los botones de arriba ahora es una parada de la fila de arriba: pulsa ▶ más allá de los tres botones
redondos y OK (o la casilla Memoria del panel rápido, o un botón de color). Enseña la memoria de la tele en uso con una barra, el
intercambio y las apps que están abiertas, con los MB que ocupa cada una cuando se sabe (Netflix, Amazon…). Liberar memoria ahora
cierra todas las apps que no hayas marcado Mantener (YouTube AdFree se mantiene por defecto); OK sobre una app cierra solo esa; ◀ ▶
cambia una app entre Mantener y Cerrar; Liberar solo con el salvapantallas lo hace cuando sale el salvapantallas. FreeTV nunca se
cierra a sí mismo ni cierra las apps de LG. Usa la API de mando a distancia de LG: la tele pregunta una vez («¿permitir que FreeTV cierre
apps?») y la respuesta se guarda.
FreeTV 2.2: más ligero, y se actualiza solo
Más ligero y fluido. La pantalla de inicio ya no repinta sombras grandes en cada fotograma, los difuminados permanentes (botones redondos,
cajón, avisos) solo se usan en Bonita, y el fondo sigue al foco tras una pequeña pausa. Ajustes de inicio → Aspecto → Fluidez:
Automática (por defecto: mide los primeros movimientos y, si van por debajo de 32 fotogramas por segundo, activa sola el modo fluido y
lo dice), Máxima (sin cristal, sombras planas), Equilibrada (difuminado solo en los paneles) o Bonita (todo).
Línea de RAM. Bajo los botones de arriba: la memoria de la tele en uso (RAM 1416 / 1837 MB, ámbar a partir del 80 %, roja a partir del
90 %) y la de FreeTV (FreeTV 41 MB). Ajustes de inicio → Widgets → RAM usada la apaga. (Netflix, Amazon y otras apps se quedan con
memoria mientras están en segundo plano: ahí se va casi toda la RAM de una tele de 2 GB.)
El salvapantallas es sólido. Sale opaco y al instante, al entrar y al salir; solo sus fotos se funden, dentro de él. El oscurecimiento
nocturno ya no lo vuelve transparente.
FreeTV se actualiza solo desde tu repositorio (LG). Ajustes de inicio → Mantenimiento → Actualizaciones de FreeTV: Avisar (por
defecto: lo dice y espera tu sí), Automáticas (se instala sola, pero solo con FreeTV en pantalla y un salvapantallas puesto, nunca encima
de otra app) o Nunca. FreeTV en GitHub enseña el estado e instala con OK. El servicio de la tienda de la propia tele descarga el
paquete de la release, comprueba su SHA-256 con el SHA256SUMS de la release y lo instala encima de FreeTV; FreeTV se reabre solo. Tus
ajustes, tu clave de TMDB y tu ciudad se quedan (el paquete de una release no lleva ninguno: viven en la tele). Qué repositorio sigue
cada tele: state/update-repo.txt en la carpeta del servicio de la tienda (dueño/nombre, por defecto PharmaJava/FreeTV), así las teles de
un fork pueden seguir al fork. Para publicar una versión: bash tools/make_release.sh --publish (construye el paquete para todos y crea la
release en GitHub).
La Tienda guarda el catálogo en la tele (abre al instante y funciona sin conexión, diciendo qué antigüedad tiene la copia), espera más y
lo intenta tres veces, y cuando no puede conectar dice por qué y ofrece Intentar de nuevo.
FreeTV 2.1: todo a tu manera
El tiempo completo, mercados con gráficas y alertas de precio, una página de widgets, los botones del mando como atajos, una Tienda con
búsqueda y filtros, perfiles, tus propias pestañas, rutinas y mucho más. No se ha quitado nada de lo de antes.
El mando: con FreeTV en pantalla, del 1 al 9 abren las apps del estante y el 0 Todas las apps; los botones rojo, verde, amarillo y
azul hacen lo que elijas (panel rápido, buscar, el tiempo, mercados, mis widgets, salvapantallas, Tienda, cambiar de perfil, Ajustes del TV…).
Ajustes de inicio → Mando.
El tiempo completo (botón amarillo, el panel rápido o Widgets → Previsión completa): las próximas 12 horas con probabilidad de lluvia,
seis días con su máxima y mínima, sensación térmica, humedad, viento, índice UV, calidad del aire y lluvia en la próxima hora
(Open-Meteo, sin clave).
Mercados: añade tus propios valores (acciones, índices, fondos, oro, divisas, criptos: AAPL, SAN.MC, ^IBEX, EURUSD=X, ADA…), cada uno con
su línea de 24 horas; OK abre una gráfica (1 día, 5 días, 1 mes, 1 año) y alertas de precio («avísame si sube de / baja de»). Cualquiera
puede ir también en la fila de arriba. Solo información, no es consejo de inversión.
Mis widgets: un calendario con los festivos de tu país, cuentas atrás (Navidad, vacaciones, cumpleaños), notas y recordatorios a una
hora, el próximo y el último partido de tu equipo de fútbol (TheSportsDB), divisas y titulares de noticias de un RSS que elijas
(Google News, El País, RTVE, BBC… o cualquier dirección; en LG lo lee el propio servicio de la tienda de la tele).
Tienda:búsqueda, filtros (destacadas, nuevas, juegos, multimedia, utilidades, sin root, instaladas, mi lista), orden, una marca
Nueva en las apps que llegaron desde tu última visita, mi lista para guardar apps para luego, el tamaño y si cabe, qué cambió en su
última versión, Desinstalar desde su ficha y repositorios extra que añades tú (Ajustes de inicio → Apps). Salud de la tele avisa de
apps nuevas.
Aspecto: estilos listos (OLED negro puro, cristal claro, nocturno cálido, minimalista), oscuro por horario (desde-hasta), tamaño del
texto, intensidad del cristal, esquinas, nombres de las apps bajo los iconos, tarjetas más pequeñas (más por fila), y la región de los paisajes (Andalucía, España, Lituania).
FreeTV 2.0: a tu gusto
Muchos más ajustes, widgets nuevos, una Tienda que te dice qué es cada app, un panel rápido que llenas tú, e iconos de verdad para TV en directo y la Tienda. La tele enseña FreeTV v2.0.0 mientras arranca. No se ha quitado nada de lo de antes. Todos los cambios: CHANGELOG.md.
Nuevo: cristal esmerilado y menús por secciones
Los menús ahora son cristal esmerilado sobre tu pantalla de inicio, con los ajustes por secciones y un panel rápido (se abre desde el cajón).
La pantalla de inicio de LG está llena de publicidad. FreeTV la deja de lado (no la borra) y pone la suya: tus apps como
iconos cuadrados de verdad, recomendaciones solo de los servicios donde tienes cuenta, el tiempo de tu ciudad y las
cotizaciones que te interesan. No hace falta rootear la tele: se instala como una app más con el Modo Desarrollador
de LG, y todo se puede deshacer.
Qué hace
Pestañas del inicio:Personalizado (la primera), Continuar viendo, Explorar, Películas y Series.
Personalizado: accesos directos con portada a canales de YouTube para los niños (Bluey, Sofia the First, Minnie's Bow-Toons y
Ms Rachel, siempre en inglés), que se abren en YouTube AdFree (se instala desde la Tienda) en su pantalla de TV, no en la
web. Un canal abre su vídeo más reciente que ya se puede ver (se salta los directos y los estrenos que aún no han empezado).
Añadir un canal desde la tele, sin ordenador: pulsa el +, escribe el nombre (o el @nombre) con el teclado de la tele y
pulsa Intro; la tele lo busca en YouTube y eliges el canal con el mando. Mantén OK (o la ruedecita del Magic Remote, con el
puntero en pantalla) sobre un canal para Abrir, Mover a la
izquierda/derecha o Quitar (un OK corto lo abre). También se pueden añadir desde el ordenador: en config.properties,
kids_channels=Cocomelon|@Cocomelon, y bash install.sh <IP>.
Continuar viendo: lo último que abriste desde FreeTV (apps y canales), con la hora. Mantén OK para Quitar uno de la
lista. La tele no deja saber qué reprodujo otra app, así que no muestra el punto exacto de una serie.
Iconos de app de verdad. Los iconos que da la tele, cuadrados y a todo el cuadro, sin marcos. En el estante, TV en
directo es un icono más (por defecto va donde iría Apple TV).
Mueve tus apps a tu gusto. En el estante, mantén OK sobre un icono: se levanta; muévelo con ◀ ▶ y suéltalo con
OK. El orden se guarda. Caben 12 en el estante; el resto está en Todas las apps (↓ y luego el botón de apps).
Sugerencias solo de tus cuentas. Películas y series en tendencia de TMDB, solo de los servicios que activas en
Ajustes de inicio → Sugerencias (por ejemplo, sin Disney+ ni Apple TV si no tienes cuenta). Ahí también eliges si
quieres animación y anime, y cuántas sugerencias ver (6, 9, 12 o 18). Si cambias de cuenta, lo cambias ahí.
Explorar de verdad. La fila de sugerencias se desliza hacia la derecha con ▶, y cada tarjeta dice qué es y
dónde verla («Serie · Netflix», «Película · Prime Video»). La primera, más grande, trae género y duración.
Mercados en dólares: Bitcoin, Ethereum, Solana y XRP (Ripple) (Binance), y el S&P 500 y el de
iShares (CSPX y CNDX, en dólares). Cada uno se puede apagar en Ajustes. Son datos informativos, no un consejo de inversión.
Qué necesitas
Una tele LG con webOS (probada en una LG OLED). Si tu LG es antigua, mira Problemas.
Una cuenta de desarrollador de LG gratis (webostv.developer.lge.com), creada con correo y contraseña (si entras
con Apple o Google, la tele no podrá iniciar sesión: usa «¿Olvidaste tu contraseña?» para ponerle una).
Un ordenador en la misma red wifi que la tele, con Linux, macOS o Windows con WSL, y estas herramientas:
git, python3 (3.9 o más) y node (20 o más) con npm.
Opcional: una clave gratuita de TMDB (themoviedb.org → Ajustes → API) para las recomendaciones (y las fotos de las
sugerencias en el salvapantallas). Es tuya y secreta. Los paisajes del salvapantallas y la tienda no la necesitan.
Instalación paso a paso
1. En la tele (lo haces tú)
Abre la LG Content Store, busca Developer Mode (Modo Desarrollador) e instálala.
Ábrela e inicia sesión con tu cuenta de desarrollador de LG.
Pon Dev Mode Status en ON (la tele se reinicia) y vuelve a abrir la app.
Activa Key Server. Verás la IP de la tele y una passphrase (seis caracteres). La passphrase cambia cada vez
que reinicias el Key Server y es privada: no la compartas ni la pegues en ningún chat.
2. En el ordenador
Solo en Windows: instala WSL con Ubuntu (una vez) y trabaja dentro de Ubuntu, en tu carpeta personal (no en
/mnt/c):
wsl --install -d Ubuntu
Reinicia, abre Ubuntu y sigue ahí. En Linux, macOS y Ubuntu/WSL:
git clone https://github.com/PharmaJava/FreeTV.git
cd FreeTV
cp config.example.properties config.properties
nano config.properties
Cambia al menos la ciudad (city, latitude, longitude) y tmdb_region (tu país). Si tienes clave de TMDB,
pégala tú en tmdb_key=. En hide_services= pon los servicios donde no tienes cuenta (por ejemplo disney).
Guarda con Ctrl+O, Enter, Ctrl+X. Este archivo no sale de tu ordenador (está en .gitignore).
4. Instala
bash install.sh 192.168.1.140
(con la IP de tu tele). El instalador construye la pantalla, descarga el ayudante del botón Home, lo prepara y lo
instala. Te pedirá la passphrase, que escribes tú, y la tele te enseñará un aviso de emparejamiento que aceptas
con el mando. Tarda unos minutos la primera vez.
Al final te hace una pregunta (en inglés, Turn it on? [y/N]) sobre instalar apps desde la propia tele, sin ordenador. Si dices que sí (y), la tele guarda
la clave del Modo Desarrollador de esa tele en una carpeta que solo lee el servicio de la tienda, para poder instalar por sí
misma. Por defecto es no, y la tienda funciona igual a través del ordenador. Puedes retirar la clave cuando quieras:
node tools/provision_store.js <IP> --forget. Para contestar de antemano: FREETV_STORE=1 bash install.sh <IP> (sí) o FREETV_STORE=0 (no).
Cuando acabe: abre cualquier app y pulsa Home, o apaga y enciende la tele.
Cómo se usa
Quieres…
Haz esto
Ir a FreeTV
Botón Home (o encender la tele)
Abrir una app
Selecciónala y OK
Mover un icono del estante
Mantén OK sobre él, ◀ ▶ para moverlo, OK para soltar
Elegir qué apps van en el estante
Ajustes de inicio → Estante
Ver más sugerencias
En el explorador, ▶ (se desliza); cada una dice su plataforma
Ver todas las apps
Baja con ▼ y abre Todas las apps (salen todas, también las del estante)
Desinstalar una app
Todas las apps → mantén OK sobre ella → Desinstalar → confirma (un OK corto la abre). Solo las instaladas por el Modo Desarrollador (las de la Tienda); las de LG hay que borrarlas en el inicio de LG
Abrir un canal para los niños
Pestaña Personalizado (la primera) → OK sobre su portada
Añadir un canal de YouTube
Personalizado → + → escribe el nombre con el teclado de la tele → Intro → elige el canal
Mover o quitar un canal
Personalizado → mantén OK sobre él
Quitar algo de Continuar viendo
Continuar viendo → mantén OK sobre ello → Quitar
Instalar una app de la comunidad
Icono Tienda del estante → elige la app → OK → Instalar en esta tele → confirma
Actualizar apps
Tienda → Actualizar todo (N) (arriba), o una app marcada «actualización» → Actualizar en esta tele
Que se actualicen solas
Ajustes de inicio → Actualizar apps solas (apagado por defecto)
Cambiar el salvapantallas
Ajustes de inicio → Salvapantallas (paisajes, sugerencias o ambos)
Elegir de qué servicios sugerir, animación y cuántas
Ajustes de inicio → Sugerencias
Quitar o poner las cotizaciones
Importante: el Modo Desarrollador de LG caduca a los unos 40 días. Si caduca, la tele borra FreeTV (y el inicio de LG
vuelve a ser el de siempre). Pulsa EXTEND en la app Developer Mode de vez en cuando, o vuelve a ejecutar
bash install.sh <IP>: lo reinstala todo con tus ajustes.
Actualizar o cambiar tus ajustes
Edita config.properties y vuelve a ejecutar bash install.sh <IP>. Para bajar novedades de FreeTV: git pull y lo mismo.
(sustituye 192-168-1-140 por tu IP con guiones). Con eso el botón Home y el inicio de LG vuelven a ser los de siempre.
Si algo va mal antes: mantén Home 2 segundos.
Qué se instala en tu tele, y qué no
Tres cosas dentro de la zona de apps del Modo Desarrollador: la pantalla FreeTV (com.gathin.tvhome), con sus servicios (el de
renovación y el de la tienda) y el ayudante Home Helper (com.local.nativehome), que escucha el botón Home.
Solo si dices que sí a la pregunta del final: la clave del Modo Desarrollador de tu tele, en la carpeta del servicio de la
tienda. Permite lo mismo que hace tu ordenador (instalar y quitar apps del Modo Desarrollador), no más. Se retira con --forget.
No se roota la tele, no se cambia el firmware, no se toca la imagen, el sonido ni la red, y no se borra
nada de LG.
Lo que sale de tu tele: peticiones a TMDB (recomendaciones), Open-Meteo (tiempo), Binance y Yahoo Finance
(cotizaciones), Wikimedia Commons (fotos del salvapantallas) y, si usas la tienda, repo.webosbrew.org y la dirección de cada
paquete. Nada de tus datos se envía a ningún servidor de FreeTV: no hay.
¿No tienes Claude Code? Hazlo con cualquier IA
Lee docs/GUIA-IA.md: trae un texto para copiar y pegar en ChatGPT, Gemini, Claude, Copilot… que
te guía paso a paso y te dice qué copiar de la terminal cuando algo falla. Tú pulsas el mando y escribes tu passphrase;
la IA nunca la necesita.
Tu clave de TMDB y GitHub
Tu config.properties (con tu clave de TMDB) nunca se sube: está en .gitignore. Además, el repositorio trae una
comprobación que bloquea un commit si va a publicar una clave o un archivo privado. Si piensas modificar FreeTV y subir
cambios, actívala una vez:
git config core.hooksPath .githooks
Y puedes revisar todo el historial cuando quieras con python3 tools/check_secrets.py --all.
Apps de la comunidad (YouTube sin anuncios, Kodi, Jellyfin…)
El icono Tienda del estante (o Ajustes de inicio → Apps de la comunidad) muestra el catálogo de webOS Homebrew y deja
instalar las que no necesitan root (36 de 56): YouTube sin anuncios, Kodi, Jellyfin, Moonlight, Plex nativo, RetroArch, IPTV…
Hay tres maneras de instalar, todas con el hash SHA-256 comprobado y con tu confirmación:
Desde la propia tele, sin ordenador (si contestaste que sí a la pregunta del final de install.sh): botón Instalar en esta tele.
A través del ordenador: deja python3 tools/community.py serve <IP> abierto y usa el mismo botón en la tele.
Desde la terminal:python3 tools/community.py install <id> <IP>.
Lo que pide root no se instala: FreeTV no hace root. Algunas apps tienen un aviso que hay que aceptar a propósito (YouTube sin
anuncios exige borrar antes el YouTube oficial, y eso solo se puede hacer en la tele). También hay una extra no oficial (RezkaTV,
de un tercero) detrás de una confirmación aparte. El catálogo y las apps las hacen otras personas: léelas antes. Todo en
docs/COMUNIDAD.md.
Otras teles
Tele
Qué hay
Estado
LG (webOS)
FreeTV completo (esta guía)
Probado en una LG OLED
Samsung (2017 o más)
La misma pantalla, empaquetada en tizen/, con YouTube AdFree, Twitch AdFree y las apps de la comunidad a través de TizenBrew: guía
¿Tienes una de estas teles? Cuéntanos cómo te fue en una Issue.
Qué estilo y menús llegan a cada tele. El cristal esmerilado, las secciones, el panel rápido, la búsqueda, el modo niños, el modo calma
y los colores de acento viven en el código compartido de home/, así que el paquete de Samsung los trae
también (se compila y se empaqueta; no lo hemos probado en una Samsung). El apagado programado, la salud de la tele, la guía del primer arranque y todo lo que habla con
la tele de LG (Modo Desarrollador, la Tienda, la revisión de privacidad, los ajustes guardados) son solo de LG. La app de Android TV es la
nativa de Free My TV y aún no tiene nada de esto: para compilarla hace falta el SDK de Android, que aquí no tenemos, y no la vamos a
tocar a ciegas.
Probado y límites
Probado en una LG OLED (webOS con Node 8.12 y Chrome 79). En esa tele se comprobaron el botón Home, la vuelta con
Atrás (con el reintento), el reordenado, las cotizaciones y las recomendaciones. El arranque en frío depende de tu
tele y de su firmware: si no abre FreeTV al encender, mira Problemas.
La tienda se probó en esa LG OLED (sin root): el servicio de la tele abre su sesión, instala un paquete con el hash
comprobado y rechaza los casos peligrosos (root, hash malo, id fuera del catálogo, aviso sin confirmar…), y se usa con el mando.
La variante serve (a través del ordenador) se probó con herramientas simuladas, no en una tele. Kodi no cupo por falta de
espacio libre en la tele. Las apps de la comunidad las hacen otros: FreeTV no las revisa.
Otras LG (sobre todo modelos antiguos o muy nuevos) pueden comportarse distinto. El ayudante del botón Home es de otra
persona y su autor lo probó en otras dos teles; FreeTV añade dos arreglos (ver cómo funciona).
Samsung y Android TV: ver la tabla de arriba; en esas teles no hemos probado FreeTV.
La renovación del Modo Desarrollador desde la tele (arriba) está confirmada en una tele; el panel beta del ayudante no. Si la tele
está apagada todo el plazo, caduca: mira el contador.
Al salir de una app con Atrás se ve el inicio de LG algo más de un segundo antes de que aparezca FreeTV; es lo que tarda
LG en asentarse. Con menos espera, LG volvía a ponerse delante y se veía ir y venir.
Créditos y licencias
FreeTV nace de Free My TV (pantalla de inicio) y usa el ayudante de
Razdva122/clean-your-tv-lg-webos (botón Home y renovación). Todo
MIT. Detalle en NOTICE.md. Este producto usa la API de TMDB pero no está avalado ni certificado por TMDB.
FreeTV no está afiliado a LG.
Profiles:Family, Kids and Guest, each with its own shelf, tabs and look, and a PIN if you want one.
Shortcuts: name your HDMI inputs (PlayStation, Xbox, Switch, Chromecast…) and put them on the shelf; hold OK on any app to put it
on the shelf or in the quick panel; a YouTube channel can go on the shelf; the last apps you opened show in the drawer.
Screensaver:picture of the day (Wikimedia), astronomy (NASA), your photos (an Immich shared album) or a big clock that moves
a little every minute; the weather on it; dimmer at night; and the screen off after 10, 30 or 60 minutes (OLED; the sound stays).
Routines: at a time of day, every day: calm mode on or off, the sleep timer, a theme, the screensaver, a profile.
Kids: a daily time limit in kids mode (a grown-up carries on with the PIN).
Time of use per app, today and this week, counted only on the TV.
Copies of your settings: save and restore them on the TV, or take them to the computer or another TV with
node tools/settings_backup.js <IP> export > my-settings.json (and import).
The quick panel has new tiles: weather, markets, my widgets, profile, time of use, routines, and the apps you put there.
A clock at the top right, left of the round buttons (14:34), always on time to the minute. Home Settings → Widgets: on or off,
24 h, 12 h or automatic, and the date beside it. Home Settings → Home: when the screensaver starts (1 to 30 minutes, or never) and
whether it shows its clock.
Proper icons for Live TV and the Store on the shelf, drawn by tools/make_tiles.py like the rest of the apps' icons.
Weather for your city, with sunrise and sunset; the screen goes dark at night.
An app store, on the TV itself. Every app in the list has its icon and one line about it (in your language for the ones
people look for most), so you can tell whether you want it before opening it. The Store icon on the shelf (and Home Settings → Community apps) opens the
webOS Homebrew catalogue: ad-free YouTube, Kodi, Jellyfin, Moonlight, native Plex, RetroArch…
Press OK on an app for its page and, if it needs no root, an Install on this TV button: the TV downloads the package,
checks its SHA-256 hash and installs it, no computer (if you turn that on while installing FreeTV). Anything that needs root
is not installed. See Community apps.
App updates. The TV knows which version of each installed app you have, and the catalogue says the latest. The Store lists your
installed apps first, each with ✓ its version · up to date (or the new version), and shows the free space on the TV. An app
with a newer version is marked ("update 1.2.3"), its page says Update available (v1.2 → v1.3) and an Update button installs it
over the old one with the same checks (no root, https, SHA-256 hash); the app and its settings are kept. Update all (N) at the
top of the list brings them all up to date, one after the other. Apps that ask for a confirmation because of their warning (Open
Service Menu, Auto Dev Token Refresh, Homebrew Channel) are left out of "Update all": update them one by one, confirming.
Automatic (optional):Home Settings → Update apps by itself, off by default. If you turn it on (that is your permission),
once a day the TV looks and updates the apps you already installed. It only works if you said yes to "install apps from the TV
itself" when installing FreeTV.
Its own screensaver. After two idle minutes, full-screen photos with the clock: landscapes of Seville, Andalusia, Spain
and Lithuania (Wikimedia Commons, free licences only, author and licence on screen), the picks' photos, or both. Chosen in
Home Settings → Screensaver. No root needed. It stays above LG's own screensaver (the clock one): as soon as LG announces
its screensaver, FreeTV says no before the clock shows and puts its own up (also when LG's would have started first). For that the TV asks once for permission
(power state and screen), a few seconds after FreeTV opens: accept it, or LG's clock will cover FreeTV's photos. A prompt nobody
answered is asked again ten minutes later; a "no" is asked again after three days.
FreeTV on the start screen. While FreeTV starts (when you turn the TV on, for example), the TV shows FreeTV's name, logo and
version (home/splash.png, drawn by tools/make_splash.py), no longer "Free My TV".
A real Home button. Press Home in any app and you come back to FreeTV, not LG's home. Leaving an app with
Back brings you here too: the helper waits a bit over a second for LG to settle, then opens FreeTV once, with no
back and forth. When the TV turns on, the helper opens FreeTV (on some TVs LG's home shows for a couple of
seconds first).
Developer Mode stays on by itself. LG's Developer Mode session lasts 1000 hours (~41 days). Home Settings → Developer Mode: time
left shows what is left (and has Renew now), and Renew Developer Mode by itself (on by default) asks LG for 1000 more hours
when less than 14 days are left, the same request as the EXTEND button of LG's Developer Mode app. Confirmed on a real TV:
879 h left → 999 h 59 min after the request. It runs from the TV itself (through the store's Developer Mode shell: needs the store
permission asked at the end of install.sh); your session token never leaves the TV and is never logged. A TV that stays off for the
whole 41 days cannot renew. The old Developer Mode renewal (beta) panel from the helper is still there.
Your settings survive a reinstall. Reinstalling FreeTV used to empty its settings (language, shelf, channels, hidden apps…). A
copy is kept in the store service's folder (which a reinstall keeps) and comes back by itself on the first start after a reinstall.
Start tab.Home Settings → Start tab (or hold OK on a tab) picks the tab FreeTV opens on, or "the last used".
Hide LG's clutter.Hold OK on an app in All Apps → Hide from here (sports alerts, art gallery, home panel and LG Channels start
hidden; Hidden apps in Home Settings brings them back). They stay installed: LG's system apps cannot be removed without root.
LG privacy check.Home Settings → LG privacy reads the TV's own state and tells you if LG's ACR (it listens to what you watch and
sends fingerprints to an advertiser) is on, with the menu path to turn it off. FreeTV does not remove LG's trackers (it cannot
without root); see docs/PRIVACIDAD.md for what we measured and what to turn off.
Frosted glass, minimal. Every menu, dialog and panel is frosted glass over your home screen (blur and saturation, the way a
phone does it), with one accent colour for focus. Home Settings → Look: theme, frosted glass (automatic uses it only where the TV's
browser can do it; older TVs get a plain dark panel), accent colour (mint, blue, violet, rose, orange, amber, sky), background (the
focused cover, landscapes or plain), title ("For You", or a greeting for the time of day with your name), icon size (normal or
compact), animations (normal or reduced) and calm mode (hides the market quotes and the clock).
Settings in sections. Home, Look, Widgets, Apps, Quick panel, Privacy and kids, Maintenance, each with its icon, instead of one long
list. The version (FreeTV v2.0.0) is at the bottom.
Quick panel. From the drawer: search (apps, your channels, the Store and YouTube, with the TV's keyboard), calm mode,
sleep timer (off, 15, 30, 60, 90 minutes; it warns you 30 seconds before and any key cancels it), kids mode, TV health,
theme, screensaver now and settings; and, if you want them, accent colour, All Apps, the Store, TV Settings and
Reload FreeTV. Home Settings → Quick panel switches each tile on or off (up to 12, in four columns).
Kids mode. One switch and FreeTV shows only the kids' channels, hides the settings and the drawer and ignores the long presses.
You pick a 4-digit PIN with the remote; the PIN gets you out. Back and Home cannot.
TV health. One card: Developer Mode days left, updates waiting, free space, whether LG's ACR is listening, whether the store
works, and whether there is a newer FreeTV. Green is fine; amber deserves a look; OK opens the section.
First start guide (LG). A fresh install asks which tab to open on and explains the privacy note, once.
A notice when FreeTV has a new version (from its GitHub releases). It does not install by itself.
Emergency exit: hold Home for 2 seconds and you are back on LG's home; FreeTV stops intercepting the button. Only for a while:
the Home button and FreeTV at start-up come back by themselves the next time you turn the TV on, or as soon as you open FreeTV
(Home Settings → Home → Turn it back on when FreeTV opens, on by default). Home button and start-up in FreeTV there says whether it
is on, and OK turns it back on. (Before, an accidental long press left them off for good.)
tu propia
foto de fondo
Pestañas: muéstralas, ocúltalas, ordénalas y renómbralas (Ajustes de inicio → Inicio → Pestañas, o mantén OK sobre una pestaña).
Perfiles:Familia, Niños e Invitado, cada uno con su estante, sus pestañas y su aspecto, y un PIN si quieres.
Accesos directos: pon nombre a tus entradas HDMI (PlayStation, Xbox, Switch, Chromecast…) y ponlas en el estante; mantén OK sobre
cualquier app para ponerla en el estante o en el panel rápido; un canal de YouTube también puede ir al estante; en el cajón salen las
últimas apps que abriste.
Salvapantallas:foto del día (Wikimedia), astronomía (NASA), tus fotos (un álbum compartido de Immich) o un reloj grande que se
mueve un poco cada minuto; con el tiempo; más tenue de noche; y la pantalla apagada tras 10, 30 o 60 minutos (OLED; el sonido sigue).
Rutinas: a una hora, todos los días: modo calma sí o no, el apagado programado, un tema, el salvapantallas, un perfil.
Niños: un límite de tiempo diario en modo niños (un adulto sigue con el PIN).
Tiempo de uso por app, hoy y esta semana, contado solo en la tele.
Copias de tus ajustes: guárdalas y restáuralas en la tele, o llévalas al ordenador o a otra tele con
node tools/settings_backup.js <IP> export > mis-ajustes.json (e import).
El panel rápido tiene casillas nuevas: el tiempo, mercados, mis widgets, perfil, tiempo de uso, rutinas y las apps que pongas ahí.
NASDAQ 100
Un reloj arriba a la derecha, a la izquierda de los botones redondos (14:34), siempre en hora al minuto. Ajustes de inicio →
Widgets: sí o no, 24 h, 12 h o automático, y la fecha al lado. Ajustes de inicio → Inicio: cuándo empieza el salvapantallas (de 1 a 30
minutos, o nunca) y si enseña su reloj.
Iconos de verdad para TV en directo y la Tienda en el estante, dibujados por tools/make_tiles.py como los de las demás apps.
El tiempo de tu ciudad, con amanecer y atardecer; la pantalla se oscurece de noche.
Una tienda de apps, en la propia tele. Cada app de la lista lleva su icono y una línea sobre ella (en tu idioma para las más
buscadas), para saber si la quieres antes de abrirla. El icono Tienda del estante (y Ajustes de inicio → Apps de la comunidad) abre el
catálogo de webOS Homebrew: YouTube sin anuncios, Kodi, Jellyfin, Moonlight, Plex nativo, RetroArch… Con
OK en una app ves su ficha y, si no pide root, el botón Instalar en esta tele: la tele descarga el paquete, comprueba su
hash SHA-256 y lo instala, sin ordenador (si lo activas al instalar FreeTV). Lo que pide root no se instala. Ver
Apps de la comunidad.
Actualizaciones de las apps. La tele sabe qué versión tienes de cada app instalada y el catálogo dice cuál es la última. La Tienda
enseña primero tus apps instaladas, cada una con ✓ su versión · al día (o la nueva) y el espacio libre de la tele. La app con
versión nueva sale marcada («actualización 1.2.3»), su ficha dice Actualización disponible (v1.2 → v1.3) y un
botón Actualizar la instala encima con la misma comprobación (sin root, https, hash SHA-256); las apps y sus ajustes se conservan.
Arriba de la lista aparece Actualizar todo (N), que las pone al día una tras otra. Las que piden confirmación por su aviso (Open
Service Menu, Auto Dev Token Refresh, Homebrew Channel) no entran en «Actualizar todo»: se actualizan una a una, confirmando.
Automático (opcional):Ajustes de inicio → Actualizar apps solas, apagado por defecto. Si lo enciendes (ese es tu
permiso), la tele mira una vez al día y actualiza sola las apps que ya instalaste. Solo funciona si al instalar FreeTV dijiste que
sí a «instalar apps desde la propia tele».
Salvapantallas propio. Tras dos minutos sin tocar el mando, fotos a pantalla completa con el reloj: paisajes de Sevilla,
Andalucía, España y Lituania (Wikimedia Commons, solo licencias libres, con autor y licencia en pantalla), las fotos de las
sugerencias, o ambas. Se elige en Ajustes de inicio → Salvapantallas. No necesita root. Va por encima del salvapantallas de
LG (el del reloj): en cuanto LG anuncia su
salvapantallas, FreeTV lo para antes de que salga el reloj y pone el suyo (también si el de LG iba a empezar antes). Para
eso la tele pide permiso una vez (estado de energía y pantalla), unos segundos después de abrirse FreeTV: acéptalo, o el reloj de
LG tapará las fotos de FreeTV. Si nadie contesta, lo vuelve a preguntar a los diez minutos; si dices que no, a los tres días.
FreeTV en la pantalla de arranque. Mientras FreeTV se abre (al encender la tele, por ejemplo), la tele enseña el nombre, el logo y
la versión de FreeTV (home/splash.png, dibujada por tools/make_splash.py), ya no «Free My TV».
El botón Home de verdad. Pulsas Home en cualquier app y vuelves a FreeTV, no al inicio de LG. Al salir de una
app con Atrás también vuelves aquí: el ayudante espera algo más de un segundo a que LG se asiente y entonces abre
FreeTV, una sola vez, sin ir y venir. Al encender la tele, el ayudante abre FreeTV (en algunas teles se ve el inicio de LG un par de segundos antes).
El Modo Desarrollador se mantiene solo. La sesión del Modo Desarrollador de LG dura 1000 horas (~41 días). Ajustes de inicio → Modo
Desarrollador: tiempo restante te dice lo que queda (y tiene Renovar ahora), y Renovar el Modo Desarrollador sola (activado por
defecto) le pide a LG otras 1000 horas cuando quedan menos de 14 días: es la misma petición que el botón EXTEND de la app Developer
Mode de LG. Confirmado en una tele real: de 879 h pasó a 999 h 59 min. Lo hace la propia tele (por el shell de Modo Desarrollador de la
tienda: necesita el permiso de la tienda que pregunta install.sh al final); tu token de sesión no sale de la tele ni se escribe en
ningún registro. Una tele apagada los 41 días enteros no puede renovar. El panel antiguo Renovación del Modo Desarrollador (beta) del
ayudante sigue ahí.
Tus ajustes sobreviven a reinstalar. Antes, reinstalar FreeTV vaciaba sus ajustes (idioma, estante, canales, apps ocultas…). Ahora
una copia vive en la carpeta del servicio de la tienda (que la reinstalación conserva) y vuelve sola en el primer arranque.
Pestaña de inicio.Ajustes de inicio → Pestaña de inicio (o mantén OK sobre una pestaña) elige en cuál se abre FreeTV, o «la última usada».
Oculta el desorden de LG.Mantén OK sobre una app en Todas las apps → Ocultar de aquí (alertas de deportes, galería de arte, panel de
casa y LG Channels salen ocultas; Apps ocultas en Ajustes las devuelve). Siguen instaladas: las apps de sistema de LG no se pueden
quitar sin root.
Revisión de privacidad de LG.Ajustes de inicio → Privacidad de LG lee el estado de la tele y te dice si el ACR de LG (escucha lo
que ves y manda huellas a un anunciante) está activo, con el camino del menú para apagarlo. FreeTV no quita los rastreadores de LG
(sin root no puede); mira docs/PRIVACIDAD.md para lo que medimos y lo que debes apagar.
Cristal esmerilado y minimalismo. Todos los menús, diálogos y paneles son cristal esmerilado sobre tu pantalla de inicio (desenfoque y
saturación, como en un móvil), con un solo color de acento para el foco. Ajustes de inicio → Aspecto: tema, cristal esmerilado
(en automático solo se usa donde el navegador de la tele puede; las teles antiguas llevan un panel oscuro liso), color de acento (menta,
azul, violeta, rosa, naranja, ámbar, cielo), fondo (la portada en foco, paisajes o liso), título («Para ti», o un saludo según la
hora con tu nombre), tamaño de los iconos (normal o compacto), animaciones (normales o reducidas) y modo calma (oculta las
cotizaciones y el reloj).
Ajustes por secciones. Inicio, Aspecto, Widgets, Apps, Panel rápido, Privacidad y niños, Mantenimiento, cada una con su icono, en vez
de una lista larga. Abajo sale la versión (FreeTV v2.0.0).
Panel rápido. Desde el cajón: buscar (apps, tus canales, la Tienda y YouTube, con el teclado de la tele), modo calma,
apagar en (no, 15, 30, 60, 90 minutos; avisa 30 segundos antes y cualquier tecla lo cancela), modo niños, salud de la tele,
tema, salvapantallas ahora y ajustes; y, si los quieres, color de acento, Todas las apps, la Tienda, Ajustes del TV y
Recargar FreeTV. Ajustes de inicio → Panel rápido enciende o apaga cada uno (hasta 12, en cuatro columnas).
Modo niños. Un interruptor y FreeTV solo enseña los canales de los peques, esconde los ajustes y el cajón e ignora las pulsaciones largas.
Eliges un PIN de 4 cifras con el mando; con el PIN sales. Atrás y Home no.
Salud de la tele. Una tarjeta: días de Modo Desarrollador, actualizaciones pendientes, espacio libre, si el ACR de LG escucha, si la
tienda funciona y si hay una versión nueva de FreeTV. Verde, bien; ámbar, mira esto; OK abre la sección.
Guía del primer arranque (LG). Una instalación nueva te pregunta con qué pestaña abrir y te explica el aviso de privacidad, una sola vez.
Aviso cuando hay una versión nueva de FreeTV (en sus releases de GitHub). No se instala sola.
Salida de emergencia: mantén Home 2 segundos y vuelves al inicio de LG; FreeTV deja de interceptar el botón. Solo un rato:
el botón Home y el arranque con FreeTV vuelven solos la próxima vez que enciendas la tele, o en cuanto abras FreeTV (Ajustes de inicio →
Inicio → Reactivarlo solo al abrir FreeTV, activado por defecto). Ahí mismo, Botón Home y arranque con FreeTV dice si está activado,
y OK lo vuelve a activar. (Antes, una pulsación larga sin querer los dejaba apagados para siempre.)