Skip to content

Setup

You need Node.js 20 or later on your computer, with the computer and TV on the same network.

  1. Create a free account at webostv.developer.lge.com.
  2. On the TV, install Developer Mode from the LG Content Store and sign in with that account.
  3. Turn Dev Mode Status on and let the TV restart. Then open Developer Mode again and turn Key Server on. Keep the app open on screen for the next step.
Terminal window
npm install
cp config.example.json config.json # set tv.host to the TV's IP address
npx ares-setup-device -a tv -i "host=192.168.1.50" -i "port=9922" -i "username=prisoner"
npx ares-novacom -d tv --getkey # needs Key Server on
npx ares-setup-device -m tv -i "privatekey=tv_webos" -i "passphrase=XXXXXX" # the passphrase shown in Developer Mode

The sync step talks to the TV over LG’s network API, the one phone remote apps use. Make sure LG Connect Apps is on. On webOS 5 it’s under Settings → All Settings → Connection → Mobile Connection Management.

Terminal window
npm run plex-login

This opens a Plex sign-in page in your browser. Once you approve it, the script picks your server, finds an address it can reach, and saves the address and token in config.json. If you’d rather do it by hand, fill in plex.server and plex.token yourself.

The script prefers your server’s encrypted plex.direct address. If the Plex rows on the TV say they can’t reach the server, the TV’s older browser may not accept that certificate. In that case set plex.server to the plain address (e.g. http://192.168.1.10:32400) and rerun npm run sync. The token then crosses your network unencrypted.

Terminal window
npm run sync # the TV asks once to allow the connection; accept it with the remote
npm run deploy # packages the app, installs it and opens it

sync writes your apps, icons, inputs and settings into app/data/. After that the hourly updater (below) keeps it current.

A stock TV won’t let an app replace the Home button. Two things get close:

  • Pin it first. Press Home, select the Launcher in the app bar, hold OK and move it to the front.
  • Quick Access (on most LG remotes). With the launcher open, press and hold a number button on the remote (e.g. 1) to bind it. After that, holding 1 opens the launcher from anywhere.