[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96217":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":15,"starSnapshotCount":15,"syncStatus":12,"lastSyncTime":32,"discoverSource":33},96217,"lg-tv-blocklist","furkan-bayrak\u002Flg-tv-blocklist","furkan-bayrak","Curated DNS blocklist for LG webOS TV telemetry, ads and phone-home traffic (safe + strict tiers)",null,"Python",125,2,4,1,0,41.43,"Creative Commons Attribution 4.0 International",false,"main",true,[22,23,24,25,26,27,28],"adguard-home","blocklist","dns","lg-tv","pi-hole","privacy","webos","2026-09-20 04:01:32","# LG TV Blocklist\n\nCurated, evidence-based DNS blocklist for LG webOS TV telemetry, ads, and\nphone-home traffic. Born from a two-week root-level audit of an LG G1:\n44,800-packet captures, 267,000-query DNS logs, per-service investigation.\nEvery entry carries an annotation explaining what it blocks and the evidence.\n\nNot affiliated with LG Electronics. LG is a trademark of LG Corp.\n\n## Lists\n\n> **Quick Summary:**\n> * **Just want to stop ads, ACR, and telemetry without breaking your TV?** Use **SAFE**. Netflix, Prime, HBO, YouTube, and the LG App Store keep working normally (verified on an LG G1).\n> * **Want the TV to fully shut up — no firmware updates, no ThinQ cloud sync, no LG Channels?** Use **STRICT**. Those services are blocked on purpose — expect them to stop working.\n\nQuestions? See the [FAQ](docs\u002Ffaq.md) — tier choice, keeping the Content Store on STRICT, and resolver troubleshooting.\n\n| List | Domains (Pi-hole\u002FNextDNS) | Hosts (\u002Fetc\u002Fhosts) | AdBlock (AdGuard Home\u002FuBO) |\n|---|---|---|---|\n| **SAFE** — blocks telemetry\u002Fads\u002FACR; store, app updates, Netflix\u002FPrime\u002FHBO\u002FYouTube keep working | [safe-domains.txt](https:\u002F\u002Fraw.githubusercontent.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fmain\u002Flists\u002Fsafe-domains.txt) | [safe-hosts.txt](https:\u002F\u002Fraw.githubusercontent.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fmain\u002Flists\u002Fsafe-hosts.txt) | [safe-adblock.txt](https:\u002F\u002Fraw.githubusercontent.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fmain\u002Flists\u002Fsafe-adblock.txt) |\n| **STRICT** — everything in SAFE plus OTA updates, ThinQ cloud, LG Channels. Rooted\u002Fprivacy-max users only. **Things break on purpose.** | [strict-domains.txt](https:\u002F\u002Fraw.githubusercontent.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fmain\u002Flists\u002Fstrict-domains.txt) | [strict-hosts.txt](https:\u002F\u002Fraw.githubusercontent.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fmain\u002Flists\u002Fstrict-hosts.txt) | [strict-adblock.txt](https:\u002F\u002Fraw.githubusercontent.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fmain\u002Flists\u002Fstrict-adblock.txt) |\n\nChecksums: [SHA256SUMS](https:\u002F\u002Fraw.githubusercontent.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fmain\u002Flists\u002FSHA256SUMS)\n\nNot in Germany? In **adblock** format the STRICT list is region-complete (zone anchors match region-prefixed subdomains); SAFE's is not, and the hosts\u002Fdomains formats are exact-name — see [region support in the FAQ](docs\u002Ffaq.md#im-not-in-germany--do-the-lists-still-work-for-me) and the `scripts\u002Flocalize.py` helper.\n\n## Install\n\n**Pi-hole** (v5\u002Fv6): Adlists → Add — paste the `-domains.txt` URL of your\ntier, then `pihole -g`.\n\n**AdGuard Home**: Filters → DNS blocklists → Add blocklist — paste the\n`-adblock.txt` URL.\n\n**NextDNS \u002F Unbound \u002F Technitium**: import the `-domains.txt` URL.\n\n**Rooted webOS**: use the `-hosts.txt` entries in `\u002Fetc\u002Fhosts`. Advanced:\nwebosbrew init.d hook that rewrites the (tmpfs) hosts file at every boot —\nsee [docs](https:\u002F\u002Fwww.webosbrew.org\u002Fpages\u002Ffilesystem-overlays) for the init.d\nmechanism; the domain set to mirror is `safe.txt` (or `strict.txt` for the\nfull lockdown).\n\n## Rooted webOS (DNS-egress hook)\n\nRooted via webosbrew\u002FHBC? [`examples\u002Fwebos-hooks\u002F`](examples\u002Fwebos-hooks\u002F)\nships a ready-made `init.d` hook that DNATs all TV DNS to your resolver and\ndrops DoT\u002FDoQ (853) — closing the hardcoded-`8.8.8.8` bypass\n([caveat 1](#the-two-caveats-every-lg-owner-should-know)).\n\n1. Copy `02-block-dns-egress.sh` to `\u002Fvar\u002Flib\u002Fwebosbrew\u002Finit.d\u002F02-block-dns-egress`\n   (**no `.sh` extension** — `run-parts` skips dotted names), then `chmod +x`.\n2. Run it once or reboot — it auto-detects your gateway as the resolver.\n3. Verify from the TV: a blocked domain queried against `8.8.8.8` must no\n   longer return a public IP; Netflix\u002FYouTube must still work.\n\nOne-command rollback and the caveats (no DNS fallback, DoH) are documented in\n[`examples\u002Fwebos-hooks\u002FREADME.md`](examples\u002Fwebos-hooks\u002FREADME.md).\n\n## What breaks in STRICT (read this)\n\n| Feature | SAFE | STRICT |\n|---|---|---|\n| Netflix \u002F Prime \u002F HBO \u002F YouTube | works | works |\n| LG Content Store | works | may degrade ([carve-out recipe](docs\u002Ffaq.md#i-want-strict-but-keep-the-lg-content-store)) |\n| Firmware OTA updates | works | blocked |\n| ThinQ app \u002F voice assistant cloud sync | works | blocked |\n| LG Channels | works | blocked |\n| LG account login | works | may fail |\n\n## Format semantics\n\n- `-domains.txt` \u002F `-hosts.txt`: **exact-name** — `snu.lge.com` blocks that\n  host only, not the whole zone.\n- `-adblock.txt`: `||snu.lge.com^` also matches subdomains of that name.\n- Generated `-adblock.txt` files start with `#` metadata headers (title,\n  date, entry count, license). AdGuard Home and uBlock Origin both treat\n  those lines as comments; `!` is the canonical adblock comment prefix, so\n  use `!` for comments when you extend a list in a custom filter.\n- STRICT zone anchors (see `src\u002Fzones.txt`) only achieve whole-zone blocking\n  in the adblock format; in domains\u002Fhosts they block the apex domain.\n\n## The two caveats every LG owner should know\n\n1. **LG hardcodes public resolvers.** webOS daemons have been observed using\n   8.8.8.8 \u002F 1.1.1.1 directly, bypassing your router's DNS entirely. A DNS\n   blocklist alone is not a guarantee: block\u002Fredirect outbound port 53 and\n   853 (DoT) at the firewall for the TV. A hosts file on a rooted TV only\n   helps NSS-based lookups — daemons that query the local stub directly\n   still escape it.\n2. **Exact-name vs wildcard.** Because we curate subdomain-level entries,\n   whole-family coverage depends on enumeration. If your TV shows traffic to\n   an LG domain not on the list, open a `new-domain` issue — that's exactly\n   how the list grows.\n\n## Annotated domains\n\nThe source of truth is annotated: `src\u002Fsafe.txt`, `src\u002Fstrict.txt`,\n`src\u002Fzones.txt`. Reading the comments there tells you what every entry does\nand the evidence behind it. The tier table above summarizes the trade-offs.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) — evidence required, edit `src\u002F`\nonly, CI does the rest. Issue templates: [new domain](.github\u002FISSUE_TEMPLATE\u002F01_new_domain.md) \u002F\n[breakage](.github\u002FISSUE_TEMPLATE\u002F02_breakage.md).\n\n- **Methodology** — how the data was collected and how to replicate it (including a firmware-diff recipe): [`docs\u002Fmethodology.md`](docs\u002Fmethodology.md)\n\n## Join as a Maintainer \u002F Contributor\n\nI built this from empirical packet captures and query logs on an LG G1, but\nLG maintains dozens of webOS versions and regional endpoints. If you have\ncaptures or query logs from a C-series, G-series, or other webOS model and\nwant to co-maintain this list, [open an issue](https:\u002F\u002Fgithub.com\u002Ffurkan-bayrak\u002Flg-tv-blocklist\u002Fissues)\nor submit a PR.\n\n## License\n\nContent and generated lists: [CC BY 4.0](LICENSE). Scripts and workflows:\n[MIT](LICENSE-MIT).\n","这是一个专为LG webOS智能电视设计的DNS屏蔽列表项目，用于阻断广告、用户行为追踪（ACR）、遥测数据上传及厂商‘回传’流量。项目基于对LG G1电视为期两周的深度网络流量审计（超26万条DNS查询），提供SAFE（兼顾功能可用性）和STRICT（极致隐私，主动禁用固件更新与云服务）两个证据充分、标注详尽的分级列表，支持Pi-hole、AdGuard Home、NextDNS及root后webOS系统等多种部署方式。适用于注重家庭隐私保护、希望减少智能电视数据泄露风险的普通用户和高级技术用户。","2026-09-12 02:30:08","CREATED_QUERY"]