Case study
LGwebOS-menubar: a native macOS remote for LG webOS TVs
A native macOS menu-bar app that pairs with an LG webOS TV over its local encrypted WebSocket interface to launch apps, switch inputs, adjust volume and picture settings, send pointer input and cast selected media. The project credits the public Connect SDK for webOS protocol behavior and reuses PyWebOSTV’s registration manifest. Testing covers one TV on webOS 5.0.
Requirements and limitations
- Reviewed at the 2026-10-13 head. It needs macOS 14 or later, Xcode Command Line Tools with Swift 5.9 or later, and an LG webOS TV on the same network; the only tested set is an LG 50UN7310PSC on webOS 5.0, and other models and versions are unverified. Pairing must be accepted on the TV, an IPv4 address is required, and Wake-on-LAN needs the TV’s MAC address.
- scripts/build.sh produces a locally signed, unnotarized app bundle. Pairing uses encrypted WebSockets on port 3001; the app pins the TV certificate after explicit approval and keeps pairing keys in Keychain. The repository ships no device addresses or pairing keys, and a privacy-check script scans files before publishing.
- The offline --self-check runs preference, certificate, pointer, Home, usage, resource and loopback media tests without a TV. These are implementation checks, not conformance tests against LG’s interface, and this review ran neither them nor a TV.
- The README narrows the author’s post: screen time is counted locally only while the app is connected, AirPlay support is limited to guidance for macOS Screen Mirroring, picture-setting changes depend on TV permissions, and casting depends on the TV’s codecs and DLNA service.
- MIT covers the project code; the PyWebOSTV manifest keeps its MIT notice, and LG, app and console icons keep their owners’ rights. Commits credit Claude as co-author, and an X post by the same account credits REA, but the repository does not mention REA, so REA use is unconfirmed. This is an unofficial client, not recovered LG software.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- App
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · gabrielgreco1/LGwebOS-menubar · Revision 8482f36
- THIRD_PARTY_NOTICES.md GitHub · gabrielgreco1/LGwebOS-menubar · Revision 8482f36
- Sources/LGwebOSMenubar/WebOS.swift GitHub · gabrielgreco1/LGwebOS-menubar · Revision 8482f36
- Sources/LGwebOSMenubar/FeatureChecks.swift GitHub · gabrielgreco1/LGwebOS-menubar · Revision 8482f36
- Package.swift GitHub · gabrielgreco1/LGwebOS-menubar · Revision 8482f36
- scripts/build.sh GitHub · gabrielgreco1/LGwebOS-menubar · Revision 8482f36
- LICENSE GitHub · gabrielgreco1/LGwebOS-menubar · Revision 8482f36
- https://x.com/greco_dev/status/2109842197654692349