Matrix是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
如果你有在多设备上对去除广告的需求,AdGuard Home 或许是一个不错的选择,它能够给你带来一个清爽的网络世界卡地亚clash定做。
一个好产品,需要广而告之,才能活下去,一部好影片,需要广而告之,才有好的票房。因此便有了广告。从最初的口口相传发展到今日的「千人千面、猜你喜欢」,广告已从单向的传播形式发展成为基于个人喜好专门投放,用户的接受权由主动变为被动。
但当广告时时刻刻充斥在我们的生活,看新闻有贴片广告,刷朋友圈有欧巴的互动广告,看电视剧有 90 秒片头广告,小网站上还有 * 感荷官在线发牌,在《一千五百万个积点》1中,男主居住在一个被屏幕环绕的房子里,屏幕全天候地播放广告,想要屏蔽广告只能选择付费,甚至在你屏蔽广告后还会提醒用户「为了网站的持续发展,请关闭广告屏蔽插件」,为了正常浏览网页,用户也只能妥协。
并非所有广告都是侵入性、影响用户体验的广告,其中不乏制作精良、体验良好的广告,在由 The Coalition for Better Ads 提出的Better Ads Standards中,边栏广告、小型贴片广告、顶栏 / 底部广告对用户的浏览体验影响较小,浮窗广告、大型 / 全屏贴片广告、自动播放的视频广告则会影响用户心情。而用户只能选择全部屏蔽,广告商的收益会受到极大的影响。除了广告,一并被屏蔽掉的还有信息收集与分析工具,如 Google Analytics,此类工具可以在不过分侵犯用户隐私的前提下帮助网站主改善网站运营,提供更好的内容。
广告联盟的广告资源通常会与网站站点分开放置,以百度联盟为例,百度联盟的广告域名为,因此我们可以单独屏蔽来自的内容,同时不会影响网站内容的正常加载。当网站域名与广告资源域名相同时,基于 Url 匹配的广告屏蔽方法如同「南橘北枳」卡地亚clash定做。
DOM(Document Object Model,文件物件模型),在 W3C DOM 标准3下,网页中的任何一个标签、元素都是树状结构中的一个节点。网页 DOM 过滤广告弥补了基于匹配 Url 屏蔽广告的缺点,通过 CSS3 Selector 定位到广告 DOM 元素,使用display=none!important等语法隐藏广告。DOM 过滤过程发生在网页加载时,缺点是无法拦截通过 Ajax、Pjax 新加载的广告内容。
在实体网关 / 虚拟网关处设置过滤器,对具备广告特征的流量实施拦截,如网站使用了 Https 加密,则采取 MITM(Man-in-the-middle attack,中间人攻击)对 Https 加密流量进行解密c卡地亚clash定做lash配置局域网,并对其中的广告流量进行拦截,这一功能在部分第三方路由器固件非常常见,如 KoolProxy、广告屏蔽大师 Plus。
在解密前,客户端上需要安装并信任由广告拦截软件生成的证书,如果网站采取了 Https 加密并需要验证证书,流量过滤的广告拦截功能则会影响网页的正常浏览。此外,如果设备性能偏低,这种拦截方式一定程度上会减慢网速。
以往我们习惯在电脑浏览器上使用 AdBlock Plus、AdGuard、Ghostery、uBlock Origin 之类的广告拦截与隐私防护插件,从而去除网页上扰人的广告。对于 Android 与 iOS,受限于系统权限(如 Root 权限、系统证书与用户证书)、过滤模式,想在手机上「找到一块净土」,需要花费一番功夫。
上述方法操作后只对单个设备生效,随着设备数量的增加,逐个逐个去设置十分麻烦,此外还会增加软件的订阅费用,面对智能电视、智能音箱,传统的广告拦截软件难以应付。而如果家中有使用软路由、NAS 甚至是树莓派,不妨试试在上面安装 DNS 广告拦截软件,实现网关级的广告拦截。
AdGuard Home 是一款全网广告拦截与反跟踪软件。在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。
AdGuard Home 是 AdGuard 开源的一个私人 DNS 服务端,只需在网关部署,即可实现全局域网的广告拦截与隐私反追踪。在 DNS 解析的过程中,匹配规则库内的 Url 进行拦截,同时在客户端中,还可以通过自定义过滤规则实现网页 DOM 的拦截。
由于篇幅限制,下文将介绍如何 NAS(系统:Debian 10)以及 Windows 电脑(系统:Windows 10)上安装与配置 AdGuard Home,其它设备请查看 AdGuard Home – Wiki 中的介绍或网友们的教程。局域网中的 DNS 服务器推荐运行在软路由、NAS 或树莓派等长期保持开机的设备上,避免因设备关闭导致 DNS 无法正常解析。
AdGuard Home 支持以二进制文件、Docker 容器两种方式安装、运行,可以根据个人喜好选择合适的方式安装。如果运行设备的系统涉及到重要业务的运行,如 NAS 文件存储、Web 服务器等,推荐使用 Docker 安装卡地亚clash定做,不易受到业务应用的影响。
Linux 用户需使用 root 用户登入 SSH,并执行对应系统版本的命令。
除了直接安装到系统,我们还可以通过 Docker 来安装 AdGuard Home。安装 Docker、添加 Docker 镜像源的教程请自行搜寻。
在浏览器中打开 AdGuard Home 的后台,进入安装向导,点击 “开始配置”。默认后台地址为:
将后台的访问端口更改为 3000,避免与 NAS 后台的 80 端口发生冲突,DNS 端口保持为 53 即可。
过滤器更新间隔:DNS 过滤清单默认更新间隔,一般为 3 天 – 7 天
使用 AdGuard 「浏览安全」网页服务:作用与 Chrome 网页安全性检查类似,开启后,当用户访问存在潜在威胁的网站时,AdGuard 会主动拦截并弹出提示
使用 AdGuard 「家长控制」 服务:如果家中有尚未成年的孩子,建议开启,避免访问不良网站
强制安全搜索:隐藏 Bing、Google、Yandex、YouTube 网站上 NSFW 等不适宜的内容
查询记录保留时间:AdGuard Home 服务端采用 Sqlite 文件数据库存储日志,长时间保留可能会降低运行速度,同时占用大量的储存空间,家庭用户一般保留 24 小时 – 7 天即可
统计数据保留时间:用于仪表盘的数据展示,一般保留 24 小时 – 7 天即可
上游 DNS 服务器:AdGuard Home 的上游 DNS 服务器,可参考下方推荐列表,一般保留 1 – 2 个即可。AdGuard Home 除了可以作为广告过滤网关,如果设置了纯净 DNS 后,还可以避免运营商的 DNS 劫持
BootStrap DNS 服务器地址:作为 DoH / DoT DNS 的前置 DNS 解析器,可参考下方推荐列表
查询方式、速度限制、EDNS、DNSSEC、拦截模式、DNS 缓存设置、访问设置可根据需要进行调整,一般保持默认设置即可
不同地区连接至 DNS 服务器的速度各有差异,各位可以通过 Ping 测速的方式寻找当地连接延迟最低的 DNS 服务器。更多 DNS 服务器可以在AdGuard 文档中找到。
为了更好地发挥 AdGuard Home 去广告的功能,仅依靠默认的过滤规则是不够的,但也不宜过多,过多的过滤规则会影响解析的速度,各位可以根据需要添加过滤规则。
以浏览国内网站为主的用户可以使用 anti-AD + Halflife 过滤规则,如有浏览国外网站的需要,可以根据需要添加 AdGuard DNS Filter、Fanboys Annoyances List 等规则。不同规则之间会存在重叠的情况,可以通过 AdGuard Home 的拦截日志分析哪些规则的使用频率最高,哪些规则拦截频率最低,再加以取舍。
不同品牌路由器修改的方法各有差异,具体步骤可参照说明书或网上的教程(路由器型号 + 更改 DNS),下方以 Redmi AC2100 路由器为例。
在局域网设置中找到 DNS 设置,将首选 DNS 服务器更改为 AdGuard Home 的 DNS 地址,可设置为其它的 DNS 服务商,避免因 AdGuard Home 服务器宕机而导致局域网无法访问互联网。更改完成后点击保存即可。在路由器更改 DNS 后,局域网内的所有设备的 DNS 解析都会通过 AdGuard Home DNS 完成,实现过滤广告与反隐私跟踪。
使用 AdGuard Home 处理局域网中的 DNS 请求后(时长 12 小时),有 6% 的 DNS 请求被拦截下来。在客户端上,浏览网页时的浮窗广告、页面弹窗都能够被阻挡,一些隐私追踪服务同样也被 AdGuard 屏蔽。
在 Linux 设备上运行 AdGuard Home,通常会出现 53(本地 DNS 服务器)、68(DHCP 客户端)卡地亚clash定做。、80(Http)、443(Https) 端口冲突的问题,可以通过 netstat -tunlp grep 端口号 查询占用进程。有两种解决方案:使用不同端口、停用冲突进程。
本地到上游DNS的速度:如果本地运营商的 DNS 没有 DNS 劫持、投毒的问题,建议使用运营商 DNS + 公共 DNS 的方案clash配置局域网,DNS 速度可以通过 Ping 值比较。并在 AdGuard Home 中选择以「并行请求」的方式处理 DNS 请求
浏览安全、家庭控制与强制安全搜索服务:以上三个功能,在 DNS 请求时不会经过 DNS 缓存,直接向上游 DNS 服务器请求,从而减慢 AdGuard Home 的处理速度
IPv6:如果使用的宽带、校园网不支持 IPv6,可以禁用解析 IPv6,提高响应速度
过滤规则:过多的过滤规则会影响响应速度,宁缺毋滥,选择最合适自己的规则,一般保留 3 – 4 个广告过滤规则即可。
统计周期: 在完成以上优化后,发现平均处理时间并没有太大改变,使用体验上也并不慢,有可能是因为统计周期过长,将优化前的结果计入clashpack,导致优化前后的结果无太大差异。不妨将仪表盘的统计周期缩短为 24 小时再看看。
完成以上步骤后使用体验比没有使用 AdGuard Home 还要糟糕,问题有亿点严重了。这个时候需要查找 AdGuard Home 的日志,寻找问题的原因。
如果一些网页被 AdGuard Home 误杀,可以在 AdGuard Home 的日志寻找是否被拦截。如果与规则发生冲突,需要将误杀网址通过自定义过滤规则添加至白名单中,或选择其它的过滤规则。常见的冲突有网站统计服务(Google Analytics)、广告联盟等。
如果你有在多设备上对去除广告的需求,恰巧手上有一台可以发光发热的树莓派、软路由、NAS 甚至是旧电脑,AdGuard Home 或许是一个不错的选择,它能够给你带来一个清爽的网络世界。同类的工具还有 Pi-Hole,升级到 5.0 版本后,除了缺乏多语言支持、内置的过滤器选择较少、兼容性弱于 AdGuard Home 的不足外,使用体验与 AdGuard Home 无太大差异。