Hobby projects → Stop an LG TV phoning home
Guide · Pi-hole · Router · September 2026

Stop an LG TV phoning home — with Pi-hole and any router

In September 2026 an investigation into LG’s webOS reported TVs that keep voice transcripts, enumerate every device on the home network, and fingerprint what is on screen across every input. With a Pi-hole on the network, most of that can be stopped in an evening: block the right names, keep the ones the TV needs, and make sure the TV cannot route around the blocker. The steps work in any country and on any router that can redirect a port.

What an LG TV asks for (what DNS can see)

A typical Pi-hole log for a 2021 LG OLED over two days, with the set mostly idle:

The one thing the community lists get wrong for most of the world: LG prefixes its hosts by region. American lists assume us., European ones eic.; a Thai set uses th. and kic.. A list that blocks us.nextlgsdp.com does nothing for a Thai, Japanese or Brazilian set. That is why this guide starts with watch first — your TV’s own log tells you your prefixes in ten minutes.

What you need

Step 1 — watch first

Point the TV at Pi-hole (it probably already is, via DHCP), use it normally for a day, then read its log. You are looking for two things: the region prefix, and which hosts are chatter versus which are the platform.

Pi-hole → Query Log → filter by client (the TV’s IP or hostname). Sort by count. Everything under lgtviot, lgsmartad, lgtvcommon, wiselg, alphonso and the in-addr.arpa lookups is chatter. Note the two-letter or three-letter prefix on nextlgsdp.com, lgtvsdp.com and lgeapi.com — that is your region, and you will need it for the allow list.

Or from a shell on the Pi-hole (FTL v6)
# the TV's most-asked names in the last day (replace the IP)
sqlite3 /etc/pihole/pihole-FTL.db \
  "SELECT domain, COUNT(*) n FROM queries WHERE client='192.168.1.50' AND timestamp > strftime('%s','now','-1 day') GROUP BY domain ORDER BY n DESC LIMIT 40;"

Step 2 — Pi-hole: block by client group, keep the platform

Two published lists do most of the work; a client group keeps the blocks from touching phones and laptops; a short allow list keeps updates and the app store alive. Everything here is in the Pi-hole web interface (Groups, Clients, Lists, Domains).

The two lists

Add both under Lists, assign them to the group you create next (or leave them in Default if you are happy blocking these hosts for everyone), then Tools → Update Gravity.

A client group for the TVs

Groups → add LG TVs. Clients → add each TV by MAC address (a MAC survives an IP change; the router’s static lease is belt and braces) and put it in the group. Every regex below is then scoped to that group, which is what lets you block lgthinq.com on the TV while the ThinQ app on your phone keeps working.

The regex denies (group-scoped)

Domains → Regex filter → Deny, group: LG TVs
(^|\.)(rdx2|smartshare)\.(nextlgsdp|lgtvsdp)\.com$
(^|\.)lgtviot\.com$
(^|\.)lgthinq\.com$
(^|\.)wiselg\.com$
(^|\.)(recommend|nudge|homeprv|cdpbeacon|rdl|wiseconfig|ads)\.lgtvcommon\.com$
(^|\.)lgsmartad\.com$
(^|\.)alphonso\.tv$
\.in-addr\.arpa$
PatternWhat it stopsCost of blocking it
rdx2 / smartsharetelemetry upload and the media-share discovery servicenone seen
lgtviot.comthe ThinQ / Home Hub heartbeatthe TV stops acting as a ThinQ smart-home hub — speculative: the first one to lift if something breaks
lgthinq.comThinQ cloud from the TVthe phone app is unaffected (group scope)
wiselg.com, lgsmartad.comadvertising and audience measurementnone
… .lgtvcommon.comrecommendations, nudges, home-screen promotion, beacons, remote configa quieter home screen
alphonso.tvcontent recognition (ACR) provisioningnone
.in-addr.arpareverse lookups of your own LAN devicesthe TV’s network scan cannot put names to addresses; the scan itself is local traffic and DNS cannot stop it (see “what this does not do”)
Never wildcard lge.com, lgtvsdp.com or nextlgsdp.com whole — that is where updates and the platform live.

The allow list (exact, beats the lists)

Replace th. with the prefix you found in step 1. These are the hosts the TV needs to update, sign in and open the store.
Domains → Exact → Allow, group: Default (global)
snu.lge.com
su.lge.com
su-ssl.lge.com
th.nextlgsdp.com
th.lgtvsdp.com
lgtvonline.lge.com
th.lgeapi.com
th.emp.lgsmartplatform.com
kic-gfts.nextlgsdp.com
ngfts.nextlgsdp.com
ngfts.lge.com
gfts.lge.com
What the allows are: the three lge.com hosts are firmware and app updates; <region>.nextlgsdp.com / lgtvsdp.com and lgtvonline are the platform’s online check; lgeapi and emp.lgsmartplatform are the LG account; the gfts hosts serve store thumbnails. Two to leave alone rather than block: www.ueiwsp.com, the Magic Remote’s device database, and the Netflix voice host under lgtvcommon.com.

Step 3 — the router: make Pi-hole the only way out

A TV that ignores DHCP and asks 8.8.8.8 directly, or uses encrypted DNS, walks straight past Pi-hole. Three rules on the router close that. They apply only to the TVs’ addresses, so nothing else in the house changes.

Rule A — redirect. Any DNS (port 53, TCP and UDP) the TV sends to anything other than Pi-hole is rewritten to Pi-hole. The TV thinks it asked Google; Pi-hole answered.

Rule B — no DNS-over-TLS. Block port 853 from the TVs to anywhere, and log it.

Rule C — no DNS-over-HTTPS. Block port 443 (TCP and UDP, which covers QUIC) from the TVs to the well-known public resolvers. It cannot cover every DoH endpoint on earth — nothing can — but it covers the ones a TV vendor would bake in.

The public-resolver set (rule C)
8.8.8.8  8.8.4.4          # Google
1.1.1.1  1.0.0.1          # Cloudflare
9.9.9.9  149.112.112.112  # Quad9
208.67.222.222  208.67.220.220   # OpenDNS

pfSense / OPNsense

OpenWrt, MikroTik, or any Linux router

The same three rules in iptables form (an ipset holds the resolvers). On OpenWrt put them in a firewall include; on MikroTik the equivalents are a dst-nat rule and two forward drops.
Linux router (example addresses: TV 192.168.1.50, Pi-hole 192.168.1.2; repeat per TV)
TV=192.168.1.50; PH=192.168.1.2
# A: redirect DNS the TV sends anywhere else
iptables -t nat -A PREROUTING -s $TV ! -d $PH -p udp --dport 53 -j DNAT --to-destination $PH
iptables -t nat -A PREROUTING -s $TV ! -d $PH -p tcp --dport 53 -j DNAT --to-destination $PH
# B: no DNS-over-TLS
iptables -A FORWARD -s $TV -p tcp --dport 853 -j REJECT
# C: no DNS-over-HTTPS to the public resolvers (TCP and QUIC)
ipset create doh hash:ip 2>/dev/null
for ip in 8.8.8.8 8.8.4.4 1.1.1.1 1.0.0.1 9.9.9.9 149.112.112.112 208.67.222.222 208.67.220.220; do ipset add doh $ip 2>/dev/null; done
iptables -A FORWARD -s $TV -m set --match-set doh dst -p tcp --dport 443 -j REJECT
iptables -A FORWARD -s $TV -m set --match-set doh dst -p udp --dport 443 -j REJECT

If your router can only block

Consumer routers rarely redirect a port, but most can block one. Then invert rule A: block port 53 from the TVs to everything except Pi-hole, and keep B and C. A TV that tries to go around Pi-hole gets no DNS at all, which fails safe — the reporting cannot resolve its targets, and the TV falls back to the address DHCP gave it. One lab write-up reports a recent webOS falling back to public DNS about twenty seconds after boot; rules B and C make that harmless either way.

Step 4 — the TV’s own switches

Blocking stops the reporting; these stop some of the collecting and the home-screen advertising that survives DNS.

Verify

With a TV on, the Pi-hole log for that client should show a clear split, and the router log should show the TV trying and failing.

What DNS cannot stop

DNS blocking stops the TV from reporting; it cannot stop it from looking. The LAN enumeration is local traffic that never touches a resolver, and blocking reverse lookups only denies the TV the names. If that matters to you, the answer is network isolation: a VLAN or guest network for the TVs. Watch out when you build it: Home Assistant’s LG webOS integration controls the TV on ports 3000 and 3001, and media servers that cast to the TV need to reach it too — allow those ports from the machines that use them, or the TV silently drops out of your automations.

It also cannot cover every DNS-over-HTTPS endpoint that exists, only the resolvers a vendor would plausibly hard-code. A firmware update could change that; the Pi-hole log and the router’s block counters are the ongoing check, and they take a minute a month.

Things to watch out for

Sources: the Gamers Nexus investigation (September 2026) and LG’s response as reported by Tom’s Hardware and The Register; HaGeZi’s native.lgwebos list and its discussion thread; Perflyst’s SmartTV list; the community allow lists that identified snu.lge.com and su-ssl.lge.com as the update hosts. The host names and query rates above come from Pi-hole and pfSense logs on a working install.