LG Update Blocker stops the "a new software version is available" popup
that webOS shows on every boot, without touching the firmware itself.
Blocking the update servers alone does not do it: the updater asks LG about
new firmware around 20 seconds before the Homebrew Channel gets to run its boot
hooks, so on a CX the check succeeds every time and the popup is already up.
Nothing running that late can win that race, so this app removes it instead -
it takes the updater off the bus entirely, and the check never happens.
It applies up to six reversible layers and re-applies them on every boot
through a Homebrew Channel startup hook:
- Stop the updater running - webOS launches /usr/sbin/update on
demand from an ls-hubd manifest. This drops a higher-version manifest into
the writable directory ls-hubd already scans, identical to LG's except
that it lists no service files, so the updater can no longer be launched:
no version check, no popup, nothing to dismiss.
- Block LG update servers - points snu/su/nsu.lge.com and their TLS
and CDN aliases at 127.0.0.1 in /etc/hosts, which stops the download and
every later check in the session.
- Close the update popup - fallback for a popup that appears anyway:
closes the alert raised during boot, then stays subscribed to the
notification manager and closes any later one as it opens.
- Delete staged firmware - wipes /mnt/lg/cmn_data/swupdate should the
TV ever manage to download an image.
- Lock the staging folder - bind-mounts an empty read-only directory
over it so nothing can be staged again.
- Turn off auto-update settings - switches off every update related
key that com.webos.settingsservice exposes on your firmware, remembering
the original values.
Requires root and the Homebrew Channel: the app asks the Homebrew Channel to
elevate its own service on first launch. "Remove protection" undoes everything,
including putting the updater back on the bus.
While the updater layer is on, expect the Software Update screen in Settings
to show an error - it queries the service that is now gone.