Firmware Hero
0

lg-webos-root

Simple way to root your LG WebOS TV, gain SSH access and install custom apps.

  • Root exploit
  • Stable
  • Low brick risk

Source code

This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it

Before you start

How hard is it?
HardUses the command line or developer tools.
What you need
  • Comfort with the command line
  • A computer
Can it break my device?
Very unlikely to break anything.
Can I undo it?
The project doesn't say. Assume you can't.
Get itOpens github.com

Did it work for you?

Did lg-webos-root work on your LG OLED C3?

No reports yet.

One-tap reports from owners. Bricked reports are checked before they count.

Compatibility

Devices: LG OLED C3.

No compatibility information yet.

Getting started

From the project's README ("1. Prepare the computer"):

Use Linux x86-64, Python 3.12+, OpenSSH client tools, Make and standard build tools. Internet access is needed for the pinned SSH build downloads. Node.js is only needed for local tests and optionally LG's app-packaging CLI.

These commands describe a fresh setup, not migration from another SSH/root installer. Do not replace another active SSH server on port 2222.

Keep the computer and TV on the same trusted LAN. Turn the TV on, find its IP address and read its webOS and software versions. Replace the example below:

TV=192.168.1.50 python3 tools/builddropbear.py python3 tvctl.py keygen python3 tvctl.py probe "$TV"

The build downloads hash-checked Zig and Dropbear sources and creates a static ARM32 SSH server. Password authentication and forwarding are compiled out. Everything generated stays in ignored .local/. No binaries are shipped here.

Read-only doctor

python3 tvctl.py doctor "$TV"

Doctor checks host tools, pinned source/build hashes, LAN ports and existing login credentials. With an existing key and saved host pin it runs a read-only probe over SSH: root UID, ARM/userspace architecture, runtime profile, free-space threshold and this project's persistence/DNS/btop state. It never pairs, runs an exploit, accepts a new host key, installs anything or restarts a TV service. The extended probe needs the TV's Python interpreter, present on the tested CX. Missing first-time credentials produce skipped checks and suggested next steps; …

Read the full instructions

Risk and recovery

Brick risk
Low
Requires opening the device
No

From the project's README ("Disable or troubleshoot"):

python3 tools/persistentaccess.py status "$TV" python3 tools/persistentaccess.py activity "$TV" python3 tools/persistentaccess.py disable "$TV"

Disabling removes the boot Activity and sets this project's disabled marker; the current SSH session/server stays up. After the next full boot, SSH will no longer start. While SSH still works, enable restores autostart. unregister also removes only hash-matching Luna registration files; it preserves data and keys for recovery. No factory reset or automatic TV reboot is performed.

If root proof times out, inspect the TV display, versions and LAN connectivity; do not interpret timeout as success. If TV functions misbehave, stop testing and use a normal full power cycle. A temporary SSH session will be lost. Do not stop LG's shared WebAppManager, jsserver, Luna, audio or networking services to repair this tool. The TV already has top; run it from your SSH terminal.

Read the full instructions

Credits, license and support

License
AGPL-3.0