Open vordenken opened 2 years ago
That's an interesting option.
The question is how deep shall it go? Do we just block all LG services altogether? That should be fairly doable by DNS injection and feeding in "our" custom LGTVSDP service (like this, or that) to fix time synchronization. (LG properly validates TLS certificates when communicating these, except for the first request, which is used for time synchronization - we could make that shim just do a proper NTP request and respond with a proper message)
The most invasive telemetry that @DavidBuchanan314 found during initial research (ie. rdxd
) which seems to capture things like app opens, crashes and some prompts/notifications is already blocked by default.
Another thing I noticed (though this hasn't been rolled out on my firmware) is some newer versions of webOS are integrated with https://www.samba.tv/ and https://www.nielsentam.tv/ - we could probably poke around to kill off / disable services that are feeding data there. Keywords would be libsambasolution.so
and libnielsensolution.so
, if I recall correctly. (I was looking at it half a year ago already, but we can probably come back to that game)
Thanks for your extensive reply! Maybe there could be two options: One for only disabling the telemetry stuff but leaving the LG Content Store mostly intact (for installing apps and app updates) and one for completely blocking lg (telemetry and Content Store) Unfortunately I don't know if those two things actually can be separated or would need to be disabled altogether.
I don't think that's possible either :)
We block off rdxd
(metrics/debugging, via immutable directory mount) and snu
(updates, via dns poisoning) communication already, and seems like everything else is going through the same domains as Content Store.
Regardless - if you are running your own DNS server and know how to block out multiple domains, these are the ones I saw: (mind - they are wildcards - prefixed with selected region code)
address=/.lgtvsdp.com/127.0.0.1
address=/.lgsmartad.com/127.0.0.1
address=/.lgappstv.com/127.0.0.1
address=/.lgtviot.com/127.0.0.1
address=/.lgtvcommon.com/127.0.0.1
# This one will also block out all actually useful LGs sites, so... watch out.
address=/.lge.com/127.0.0.1
So... Content recognition stuff I mentioned before is handled by either /usr/sbin/acr
or /usr/sbin/acr2
- they claim it should respect "Live Plus" option in Settings ("Live Plus offers an enhanced viewing experience by recognizing what's displayed on your TV. You can turn off Live Plus now or at any time in Settings. To learn more, please review the User Agreements in Settings.")
Of course, if anyone really wants to block it off a simple solution would be to create an executable script in /var/lib/webosbrew/init.d/block-acr
with contents like these (just like we do in our install script):
#!/bin/sh
# Adjust acr to acr2 if that's the name on your platform...
mount --bind /bin/false /usr/sbin/acr
pkill -9 -f acr
Semi related, but today I got a notification in the top right when I turned on the TV saying something about 3 months free Apple TV...
Yes, these are notifications that are delivered via LGTVSDP API I mentioned above. One of other funny features of that API is forced remote app install.
Device -43UM7100PLB Firmware version:05.30.30 webOS version:4.9.0 Doesn't work Disables some telemetry
Would it be possible to add the option to disable all telemetry from the tv? For example as a checkbox in the home-brew app ?