安卓电视开机广告怎么彻底去掉?电脑搭 AdGuard Home 做 DNS 净化实战

电视开机广告不是装个 App 就能拦的:广告素材走的是系统层域名解析。本文用一台同 WiFi 的电脑跑 AdGuard Home,把全屋 DNS 收归自建,从上游 DNS 选择、过滤规则配置、电视端 DNS 改法,到 12 个常见坑,一步步配到电视冷启动不再弹广告。
安卓电视开机广告怎么彻底去掉?电脑搭 AdGuard Home 做 DNS 净化实战

一、先把原理讲透:为什么在电视上装任何 App 都拦不住开机广告

很多人第一反应是「电视上装个去广告软件不就行了」。实际试过就知道没用:能装上的电视端拦截 App 基本都只能拦浏览器里的网页广告,而开机广告、桌面推荐位、影视 App 的贴片广告,根本不在浏览器里跑。

要理解这一点,得先看清楚广告是怎么进到电视里的。智能电视开机时,系统会先连 WiFi、拿 IP、拿 DNS,然后向厂商的广告服务器发起一次域名解析请求,解析成功后把视频素材下载到本地播放。整个过程发生在系统层,和你装了什么 App 没有关系。

所以真正能掐住它的位置只有一个:域名解析这一环。如果电视问「广告服务器的域名是什么」的时候,答案变成「这个域名不存在」,广告素材就下载不下来,开机自然也就没东西可播。

这就是视频里说的那套做法:在局域网里放一台电脑,让它当全屋的 DNS 服务器,凡是命中广告域名库的请求一律返回空。电视不需要改系统、不需要 root、不需要装任何软件,只是把 DNS 指向这台电脑。

换句话说,你做的不是「在电视上装拦截器」,而是在电视出门的必经路口设了一个检查站。这个思路的适用范围远不止电视:手机、平板、游戏机、扫地机器人,只要连你家 WiFi,全都一起被净化。

二、三个前提:不满足的话,装了也白装

视频标题里那句「电脑和电视在同一个 WiFi」,其实说的是三个硬条件。这三条少一条,后面配置做得再漂亮也不生效,而且报错信息还很含糊,容易让人以为是自己配错了。

前提一:电脑和电视必须在同一个局域网、同一网段。DNS 是 UDP 53 端口的服务,跨网段访问需要路由和防火墙放行,家用环境基本走不通。判断方法很简单:看两台设备的 IP,前三段一样(比如 192.168.1.10 和 192.168.1.50)就是同网段。如果你家有主路由 + 旁路由 + 光猫拨号这类多层结构,电视很可能挂在另一台设备下面,那就得先理顺网络。

前提二:路由器不能开「无线客户端隔离」(AP Isolation)。这个功能本意是防止访客设备互相访问,副作用是同一 WiFi 下的设备彼此不通。表现就是电视能上网、但怎么都连不上电脑的 53 端口。绝大多数家用路由器默认关闭,但运营商送的光猫、商场/酒店网络常常默认开启。

前提三:这台电脑得一直开着,而且 IP 不能变。这是整套方案唯一真正的成本。电脑一睡眠,电视就没法解析域名,表现是「连上 WiFi 但打不开任何应用」,比广告更烦人。所以要么把电脑设成永不睡眠,要么干脆用一台常年开机的小主机、NAS 或者软路由来跑。

前提怎么确认不满足会怎样
同一网段电脑和电视的 IP 前三段一致电视解析超时,全部应用无法联网
未开 AP 隔离用手机 ping 一下电视 IP能上网但连不上 DNS,报「DNS 错误」
电脑常开 + 固定 IP路由器里做 MAC 地址绑定电脑睡眠或 IP 变化后,电视立刻断网

顺带说一句:如果你用的是笔记本,还多一个坑——合盖、拔电源、切换电源计划都可能改变网卡状态或者进入休眠。这类环境我建议直接用「小主机 + 有线连接」,稳定性差一个数量级。

三、方案选型:三种做法,成本和效果差得挺多

「把广告域名解析掉」这件事,实现路径有三条。很多人一上来就照着教程装 AdGuard Home,结果发现家里既没有常开的机器、也不愿意折腾,最后不了了之。先对号入座再动手,能省不少时间。

方案做法优点缺点
公共去广告 DNS电视里直接填 AdGuard DNS 或 NextDNS 的地址零成本、两分钟、不用开电脑规则不能自己加;国内解析质量看运气;查询记录在第三方
自建 AdGuard Home电脑/小主机跑服务,电视指向它规则自己定、日志全可见、可给电视单独下狠手要一台常开的机器;有一定配置量
路由器插件OpenWrt/iKuai 装 AdGuard Home 或 DNS 过滤插件最彻底,全屋设备自动生效,不占额外设备需要能刷机的路由器;闪存和内存吃紧

本文按第二条路展开,因为它最贴近「一台电脑 + 同一个 WiFi」这个场景,而且配置过程能让你真正看懂每一层在干什么。等你摸熟了,再迁到路由器上也只是一次配置搬家。

顺便提醒:如果你的电视是安卓 9 以上系统,还有一个更省事的做法——直接在电视里开「私有 DNS」(Private DNS),填 dns.adguard-dns.com。不用电脑、不用改路由器,缺点是规则固定在 AdGuard 官方那份,不能自己加,也没法看查询日志。想知道广告到底被谁拦的,还是得自建。

四、第一步:在电脑上把 AdGuard Home 跑起来

AdGuard Home 是开源免费的,官方发布在 GitHub 上,就是一个压缩包,不需要安装程序、不需要 Node.js、不需要 Python 环境,解压即用。这一点比很多教程渲染得简单。

Windows 上最省事的装法

下载 AdGuardHome_windows_amd64.zip,解压到 C:AdGuardHome(路径别带中文和空格),双击 AdGuardHome.exe。它会弹一个黑窗口开始跑,然后用浏览器打开 http://127.0.0.1:3000 进入初始化向导。

但这样跑有个致命问题:关掉黑窗口服务就停了,电脑重启也不会自己起来。正确做法是把它注册成 Windows 服务。用管理员权限打开 PowerShell:

cd C:AdGuardHome
.AdGuardHome.exe -s install
Get-Service AdGuardHome

看到服务状态是 Running 就对了,以后开机自动启动,不依赖任何窗口。要卸载服务就执行 .AdGuardHome.exe -s uninstall。

装之前必须先查 53 端口

DNS 的标准端口是 53,而这个端口在 Windows 上非常容易被别的软件占着。最常见的几个钉子户:Clash / Mihomo 一类代理工具的 DNS 模块、Docker Desktop、Windows 自带的「Internet Connection Sharing」服务、以前装过没卸干净的 DNS 工具。端口被占的话 AdGuard Home 会启动失败或者只在 3000 端口能打开、53 端口不监听。

netstat -ano | findstr ":53 "

有输出就看最后一列的 PID,再到任务管理器里对号入座。要么把占用方关掉/改端口,要么在 AdGuard Home 的配置文件里把 DNS 监听端口换掉——但换了之后电视端填 DNS 也要跟着写 电脑IP:端口,不少电视不支持指定非标准端口,所以能腾出 53 就腾出来。

别忘了放行防火墙

这是新手最容易漏的一步:本机能打开管理页,电视却怎么都连不上。原因是 Windows 防火墙默认拦截了外部访问 53 端口。用管理员 PowerShell 执行:

netsh advfirewall firewall add rule name="AdGuardHome-DNS-UDP" dir=in action=allow protocol=UDP localport=53
netsh advfirewall firewall add rule name="AdGuardHome-DNS-TCP" dir=in action=allow protocol=TCP localport=53

如果你用的是 Docker 方式部署,把两个 53 端口和 3000 端口都映射出来即可,容器本身不受 Windows 防火墙这条规则影响:

docker run -d --name adguardhome --restart unless-stopped -p 53:53/tcp -p 53:53/udp -p 3000:3000/tcp -v D:/adguard/work:/opt/adguardhome/work -v D:/adguard/conf:/opt/adguardhome/conf adguard/adguardhome:latest

五、第二步:初始化向导里只有三个地方要改

打开 http://127.0.0.1:3000 之后是引导向导,前几屏一直点下一步就行,真正需要注意的是下面三处。

① 管理界面端口。默认 3000,保持不动最省事。改成 80 的话容易和 IIS、宝塔之类打架,没必要。

② DNS 服务监听的网络接口。这一项必须选「所有接口」或者勾上电脑的局域网 IP。如果只留了 127.0.0.1,那就是只有本机能用,电视永远连不上——而且日志里什么都不会出现,极难排查。

③ 设置管理员账号密码。别用 admin/admin,虽然只在内网,但同一个 WiFi 下的任何设备都能打开这个管理页。

上游 DNS 怎么填

上游 DNS 决定了「没被拦截的域名」去哪里问。国内环境有个现实问题:全用国外 DNS,解析国内网站会被调度到很远的节点,打开视频卡;全用运营商 DNS,遇到劫持和广告域名污染又拦不干净。我的建议是两个国内加密 DNS 为主,一个境外兜底,上游模式选「并行查询」。

用途地址说明
阿里公共 DNShttps://dns.alidns.com/dns-query国内解析速度稳定,支持 DoH
腾讯 DNSPodhttps://doh.pub/dns-query对国内 CDN 调度友好,视频类命中率高
360 安全 DNShttps://doh.360.cn/dns-query备用,前面两个异常时接管
114 DNS114.114.114.114明文协议,只当最后兜底,别当主力
Cloudflarehttps://cloudflare-dns.com/dns-query境外域名兜底,国内站点别走它

有一点要特别注意:不要把 dns.adguard-dns.com 再加到上游里。那是 AdGuard 官方的去广告 DNS,它自己带一套拦截规则,和你本地加载的规则会重复命中,出问题的时候你还分不清是哪一层拦的。自建的意义就在于「规则我全看得见」。

🔧 我整理的软件库

这些年折腾服务器、虚拟化和开发环境,装过的系统镜像、运维工具、开发套件、数据库与中间件,我都归档在自建的文件库里,持续补充新版本。没有弹窗广告,不强制注册,需要什么直接取。

进入软件库 →

常用工具随手可取 · 不定期补档

另外,向导里的「拦截清单」那一屏可以直接勾上 AdGuard DNS filter,先把基础盘铺上,后面再补充国内规则。

六、第三步:加过滤规则,这一步决定拦截率

AdGuard Home 本身不带广告域名库,它只是一个执行器,规则得你自己喂。进入「过滤器 → DNS 黑名单」,一条一条添加订阅地址即可,加完点「检查更新」,再确认列表里显示「规则数」不是 0。

规则订阅地址特点
AdGuard DNS filterhttps://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt官方维护,误杀率低,必装的基础盘
AdAwayhttps://adaway.org/hosts.txt老牌 hosts 清单,覆盖面广
anti-ADhttps://anti-ad.net/easylist.txt国内广告域名覆盖最全,但偏激进,容易误伤
HalfLife 广告规则https://raw.githubusercontent.com/o0HalfLife0o/list/master/ad.txt国内视频 App、电视端广告补充得比较勤
AdRules 域名版https://adrules.top/adrules_domains.txt纯域名列表,体积小,更新频繁
1Hosts Litehttps://raw.githubusercontent.com/badmojr/1Hosts/master/Lite/hosts.txt轻量版,适合先跑通再叠加

国内访问 raw.githubusercontent.com 经常超时,表现为「规则更新失败」。解决办法是换镜像加速地址,或者干脆只留前三条(github.io 和 anti-ad.net 都是国内可直连的)。规则不是越多越好——我见过有人一口气加了十几份,结果拦截率没涨多少,反倒是投屏、系统更新、部分视频 App 全废了。

加载完规则后,仪表盘上会显示「已拦截比例」。刚部署完这个数字通常是 10%~30%,别急着追求高数字,先看看自家电视能不能正常用。

七、第四步:把电视的 DNS 指向这台电脑

前面全是准备,这一步才是真正让拦截生效的动作。两种改法,效果和使用范围不一样。

改法 A:只改电视(稳妥,先验证)

电视的网络设置里,把自动获取改成静态,DNS1 填电脑的局域网 IP(比如 192.168.1.10),DNS2 留空。留空是有意为之——填了备用 DNS,电视在主 DNS 超时时会走备用,拦截就漏了。

品牌 / 系统设置路径
小米 / Redmi(PatchWall)设置 → 网络与连接 → 无线网络 → 选中 WiFi → IP 设置 → 静态 → DNS1
海信(VIDAA / 聚好看)设置 → 网络 → 网络设置 → 有线 / WiFi → 高级 → 手动 IP → DNS
TCL / 雷鸟(Google TV)设置 → 网络和互联网 → 当前网络 → IP 设置 → 静态
创维(酷开)设置 → 网络设置 → 有线 / WiFi → 高级设置 → 静态 IP → DNS
索尼(Android TV / Google TV)设置 → 网络和互联网 → 当前网络 → 修改网络 → 高级选项 → IP 设置 → 静态
华为智慧屏(HarmonyOS)设置 → 网络 → 无线网络 → 当前网络 → IP → 静态 → DNS
各类安卓 TV 盒子设置 → 网络和互联网 → 当前网络 → 修改 → IP 设置 → 静态

各家 UI 一年改两次,路径对不上很正常,找「网络 → 当前连接 → IP 设置 → 静态/手动」这条主线就行。有个细节:有线和 WiFi 是两套独立配置,你插着网线却改了 WiFi 的 DNS,等于没改。

改法 B:改路由器(一劳永逸,全屋生效)

在路由器的 DHCP 设置里,把「主 DNS」改成电脑的 IP,「备用 DNS」留空或者也填电脑 IP。这样每个设备拿到的 DNS 都是这台电脑,手机、平板、电视、扫地机全都不用单独设置。适合家里设备多、又不想一台台改的情况。

改完必须做一件事:让所有设备重新拿一次 IP。路由器后台点「重启 DHCP」或者干脆重启路由器,否则设备还捧着旧的 DNS 记录,看起来像没生效。

如果两种改法都做了但电视还是走老 DNS,大概率是电视开了「私有 DNS / 安全 DNS」。这个选项在安卓系统的网络设置里,一旦开启,系统会用加密的 DoT 直连,把本地 DNS 完全绕过。把它关掉,或者明确指定成你的 AdGuard Home 地址。

八、第五步:怎么确认真的生效了(别凭感觉)

「感觉广告少了」不是验证。要确认整套链路通了,做下面这几项检查,任何一项不过,后面都是白忙。

检查项怎么做正常表现
服务在跑电脑打 http://127.0.0.1:3000能进管理页,仪表盘有曲线
监听地址正确设置 → DNS 设置 → 网络接口包含 0.0.0.0 或电脑局域网 IP,不能只有 127.0.0.1
局域网可达另一台电脑执行 nslookup www.baidu.com 电脑IP能返回 IP,说明 53 端口通
电视真的在用查询日志按电视 IP 过滤能看到电视 IP 的请求,且时间对得上
确实拦到了日志里找红色/被拦截条目有 block 记录,域名看着像广告服务器
广告真的没了电视冷启动:拔掉电源再插上开机广告不再出现,或明显缩短

重点说最后一项:必须拔电源,用遥控器关机只是待机,系统根本没重启,广告素材还在内存里,看起来就像「没生效」。这一条坑过太多人。

还有个小技巧:验证阶段先临时加一条自定义规则,把你家电视厂商的广告域名(从日志里找)单独拉黑,观察这台设备的拦截数有没有涨。比笼统看全局拦截率准得多。

九、进阶:只对电视下狠手,别把全家网都搞坏

很多人配完发现「拦是拦住了,但手机支付跳不过去、投屏也废了」。原因是把一堆激进规则套到了全屋所有设备上。更合理的做法是按客户端分组:手机、电脑用保守规则,电视、盒子用激进规则。

给电视建一个独立客户端

在 AdGuard Home 的「客户端设置」里添加电视的 IP,给它单独绑定一套过滤规则。这样你对电视可以放心加载 anti-AD、HalfLife 这些覆盖广的清单,手机那边只留 AdGuard DNS filter 和 AdAway,误杀风险立刻降下来。

用查询日志反查,一条条补

这是整套方案里最有价值的一步。电视开关机一次,去「查询日志」按电视 IP 过滤,把被放行的请求过一遍。你很快就能看出来:哪些域名是广告、哪些是投屏、哪些是系统更新。看到可疑的直接点「加入黑名单」,看到误杀的点「解除拦截」,系统会自动生成一条白名单规则。

自定义规则的语法很简单,两条就够用:

||ads.example.com^       拦截这个域名及其子域
@@||keep.example.com^    放行(白名单优先级最高)

可选:用 ADB 关掉电视里的广告组件

DNS 拦的是「联网拉广告」,拦不住「已经打包进系统分区」的部分。这类残留可以借助 ADB 停用组件,这条路有风险,动手前先看清楚:

adb connect 192.168.1.50:5555
adb shell pm list packages | findstr /i "ad"
adb shell pm disable-user --user 0 包名

电视要先在「关于 → 版本号」连点七次打开开发者选项,并允许 USB 调试。停错组件可能导致开机异常、系统更新失败,建议先 pm list packages -d 记下当前已停用的清单,出问题用 pm enable 恢复。不确定包名是干什么的,就别动。

至于换第三方桌面(比如 Projectivy Launcher)来干掉首页推荐位,属于另一条线,适合愿意折腾的人,普通家庭不建议一上来就换——遥控器习惯、语音搜索、投屏协议都可能受影响。

十、排坑:这 12 个问题基本都会遇到

下面这些是我自己配和帮人配过程中反复出现的,按出现频率排,遇到问题直接对号入座。

现象原因怎么修
电视连上 WiFi 但提示无法联网电脑睡眠了,或电脑 IP 变了电源计划设「从不睡眠」;路由器做 MAC-IP 绑定
管理页能开,电视连不上只监听 127.0.0.1,或防火墙没放行 53网络接口改「所有接口」+ 加防火墙规则
服务起不来 / 53 端口被占Clash、Docker、ICS 占用了 53netstat 找 PID,关掉占用方或改端口
DNS 改了但广告照旧电视开了私有 DNS / 走 IPv6 DNS关掉私有 DNS;路由器关闭 IPv6 或为 IPv6 下发同一台 DNS
日志里完全没有电视 IP电视没真正改用新 DNS,或不在同网段核对电视 IP 前三段;重新拿一次 DHCP
拦截率一直很低规则没更新成功,或只加了一份清单检查「规则数」不为 0,补 anti-AD + HalfLife
视频 App 打不开、一直转圈anti-AD 太激进,误杀了播放接口日志里点「解除拦截」生成白名单;或先撤掉 anti-AD
投屏 / 多屏互动失败投屏发现协议依赖的域名被拉黑把投屏相关域名加 @@ 白名单
电视系统更新失败更新域名被当成广告拦了日志里找厂商域名,白名单放行
网页打开变慢上游 DNS 太慢,或电脑性能不足换成国内 DoH;确认缓存已启用
电脑重启后失效没注册成服务,只是双击运行执行 -s install 注册为 Windows 服务
整套配完广告还在广告素材已缓存到电视本地,或走 IP 直连清理电视应用数据;路由器上做 53 端口劫持

表格里最后一条是这类方案的天花板,值得多说两句。一部分国产电视会把广告域名写死在程序里,甚至绕过 DNS 直接按 IP 请求,或者内置 HTTPDNS 自己解析。这种情况 DNS 拦不住,得在路由器上做端口劫持——把所有去往 53 端口的请求强制转到你的 AdGuard Home:

iptables -t nat -I PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.1.10:53
iptables -t nat -I PREROUTING -p tcp --dport 53 -j DNAT --to-destination 192.168.1.10:53

这属于 OpenWrt 层面的操作,普通路由器没有这个能力。如果你的电视属于这种「硬骨头」,而你又不想刷路由器,那这套方案能带来的收益就是让别的设备干净一点,电视本身改进有限——先把预期放正,比反复折腾划算。

如果你按上面全部走完还是不生效,或者卡在「电视 IP 在日志里就是不出现」这种中间状态,把电视型号、路由器型号、以及查询日志里那几行贴出来,我帮你看是哪一环断了:微信 / 手机 17712677007,注明来意,看到会回。

十一、这套方案的边界:能拦什么,拦不住什么

把话说全,免得期待过高。DNS 层拦截的本质是「让域名解析不出来」,所以它只对「按域名请求」的广告有效。

能有效拦掉的:电视开机广告的素材拉取、桌面推荐位与 Banner、绝大多数第三方广告 SDK、应用内弹窗与开屏广告、统计与埋点上报。这些通常都走独立的广告域名,一拦一个准。

拦不干净的:YouTube、Netflix 这类把广告塞在自己内容域名下的平台;部分国产视频 App 与正片同域的贴片广告;已经下载到电视本地的广告素材;以及走 IP 直连、完全不经 DNS 的请求。

不该碰的:这套东西只适合净化自己家的网络环境。别用来绕过会员、破解付费内容、抓取受版权保护的东西——那和「去广告」是两件完全不同的事,性质和风险也不一样。

最后说成本。真正让大多数人放弃的不是技术难度,而是「要有一台一直开着的电脑」。如果你本来就有一台 NAS 或常年开机的软路由,这套方案几乎是零成本;如果为了这个专门开一台台式机 24 小时运转,电费和噪音可能比广告带来的烦躁更贵。想清楚这一点,再决定做到哪一步。

顺带一句,如果你家网络是动态公网 IP、经常要在外面连回来,可以顺手看看《DDNS-GO 自动获得公网 IPv4/IPv6 并解析到域名》;如果想把内网 DNS 做得更规范,《Windows Server 2022 DNS 服务器配置主域与辅助域》那篇里的正向/反向区域思路可以复用。

整篇配下来,动手的部分其实不到二十分钟,剩下的时间都花在「看电视到底请求了什么」上。这件事没有一劳永逸的规则包,只有一条越用越准的清单——而这恰好是自建 DNS 相比公共去广告 DNS 唯一不可替代的价值。

✍️ 关于作者

IT 峰哥,互联网技术从业者。日常折腾服务器、虚拟化、数据库与企业级应用,关注开源系统的二次开发与基础设施落地。这里记录的是踩过的坑和验证过跑得通的方案,不是转述文档。

交流:微信 / 手机 17712677007(注明来意,看到会回)

文中方案如有疏漏,欢迎在评论区指正 · 技术问题欢迎交流

默认

群晖 NAS 勒索病毒防护与应急响应指南:12 项加固动作 + 中招处置五步 2026

2026-10-29 21:54:13

默认

PHP2Shell 漏洞修复指南:PHP 版本升级、进程重启与生效验证全流程

2026-10-30 8:34:19

❯
搜索