De-bloat and de-telemetry LG webOS TVs - DNS blocklist + SSAP automation + root guide
  • Shell 89.4%
  • Python 10.6%
Find a file
2026-10-26 16:00:49 -04:00
adguard LG webOS TV debloat: DNS blocklist + SSAP settings automation + root guide 2026-10-26 14:07:00 -04:00
root link own-your-glass as recommended root-layer tool 2026-10-26 16:00:49 -04:00
ssap LG webOS TV debloat: DNS blocklist + SSAP settings automation + root guide 2026-10-26 14:07:00 -04:00
DEPLOYMENT.md deployment log: DNS layer verified, SSAP applied, root unavailable 2026-10-26 14:10:22 -04:00
README.md link own-your-glass as recommended root-layer tool 2026-10-26 16:00:49 -04:00

lg-webos-debloat

De-bloat and de-telemetry LG webOS TVs — without root, where possible, and fully where firmware still permits rooting.

Validated on: LG OLED65G1PUA (webOS 6, 2021) + AdGuard Home on a home router.

Why

LG webOS TVs ship with automatic content recognition (ACR — fingerprints everything you watch), home-screen ad tiles, promotional notifications, and interest-based ad tracking, all on by default. Most of it can be disabled without rooting; the rest is killable at DNS level.

What's in here

Path What Root needed
adguard/lg-webos-blocklist.txt DNS blocklist: ad delivery, ACR, telemetry. Firmware-update hosts deliberately allowed. no
ssap/lg-ssap-debloat.py Turns off ad targeting, promo notifications, content recommendations, Live Plus ACR via the TV's own settings API (SSAP). Reversible. no
root/webos-debloat.sh Full root debloat (from lucataco's gist, MIT): hides bloat apps, stops preloading, kills promos/ACR system-wide. Reversible, firmware-update-safe. yes
→ own-your-glass Modern root hardening suite (mic, capture leak, DNS sinkhole, consents, debloat). Validated webOS 10; see root/README.md. yes
root/README.md Root path guide: which exploit works per webOS version, current patch status —

Quick start

1. DNS block (anyone, 2 minutes)

AdGuard Home → Filters → Add custom rule, paste the blocklist. Pi-hole: same file works as a regex list (||x^ lines are compatible).

2. Settings via SSAP (no root, 2 minutes)

pip install websockets
python3 ssap/lg-ssap-debloat.py --tv <TV_IP> --apply   # accept prompt on TV
python3 ssap/lg-ssap-debloat.py --tv <TV_IP> --status
python3 ssap/lg-ssap-debloat.py --tv <TV_IP> --restore # undo

3. Full debloat (root)

Read root/README.md first — most current firmware (webOS 5/6/7/9 updated after mid-2025) is patched against all known software exploits. If your firmware is old enough (check https://cani.rootmy.tv/), root and run:

ssh root@<TV_IP> 'cat > /tmp/webos-debloat.sh' < root/webos-debloat.sh
ssh root@<TV_IP> sh /tmp/webos-debloat.sh --plan    # preview
ssh root@<TV_IP> sh /tmp/webos-debloat.sh --apply

Settings → General → System → Live Plus → Off (ACR) Settings → General → System → Additional Settings → Ad Flags / Interest-Based Ads → Off Settings → Support → Privacy & Terms → every toggle → Off / Do Not Agree (keep functional ones you want)

Notes

  • Pairing: webOS may prompt on every SSAP connection on some firmware — just accept again, or use the same client key (auto-saved).
  • Never block *.lge.com firmware hosts at DNS or updates will fail.
  • Undo everything: --restore (SSAP), remove blocklist (DNS), script's --restore (root layer).

Credits