AdGuard Home使用体验

AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that.

"AdGuard Home 是一个全域范围的,用来阻挡广告和追踪的软件。当你安装完成之后,它将覆盖你家里所有的设备,你从此不需要任何客户端软件来阻挡广告"

前言

说起AdGuard Home你也许会比较陌生,但如果说起AdGuard那你大概率使用过它的插件。

AdGuard是全球最先进的广告拦截器”,这句话如果单领出来确实有点广告法,但的确对得起AdGuard的强大功能,我最常见使用的是AdGurad的浏览器插件,这个插件能拦截绝大数的浏览器广告,但对于一些基于无法安装插件的情况,比如说微信小程序里面的广告,这种方法就无济于事了

因此AdGurad推出了AdGurad Home,从根源上解决了广告的问题

目前该项目已经开源到了GitHub:地址

技术解析

Free and open source, powerful network-wide ads & trackers blocking DNS server.

"免费和开源、强大的全域网络广告与追踪器阻挡DNS服务器"

AdGuard Home的本质其实是一个DNS缓存服务器,它通过从上游DNS服务器中获取DNS解析结果,与本地的DNS黑名单白名单进行匹配,从而对属于广告或者其他你不愿意看到的内容的DNS请求进行过滤,如果设备请求的域名在黑名单中,AdGuard Home则不会返回DNS解析结果,从而达到屏蔽广告追踪器的功能。

如果是黑名单中的域名,最终返回客户端的请求结果会是:

响应代码
NOERROR
规则
||data.kuiniuca.com^
AdGuard DNS filter
响应
A: 0.0.0.0 (ttl=10)
响应
AAAA: :: (ttl=10)

安装

官方的文档提供的很详细的安装教程,在这里比较推荐的部署方法是采用Docker:

docker run --name adguardhome\
--restart unless-stopped\
-v /my/own/workdir:/opt/adguardhome/work\
-v /my/own/confdir:/opt/adguardhome/conf\
-p 53:53/tcp -p 53:53/udp\
-p 67:67/udp -p 68:68/udp\
-p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
-p 853:853/tcp\
-p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
-p 5443:5443/tcp -p 5443:5443/udp\
-d adguard/adguardhome

为了避免DNS缓存数据和配置文件的丢失,你应该将/opt/adguardhome/work/opt/adguardhome/conf映射出来做持久卷处理。你也不必担心该数据的庞大体积,DNS数据本身很小

liueic@liueic-ThinkCentre-M910x:~/adguard$ ls -lh
总用量 8.0K
drwxr-xr-x 2 root root 4.0K 7月 29 14:45 confdir
drwxr-xr-x 3 root root 4.0K 7月 27 16:29 workdir

其中AdGuard Home还提供了HDCPTLSDOH等诸多功能,如果你部署在局域网而且已经有主路由,只想将AdGuard Home当作DNS服务器,那你可以只开放533000,并将80映射为其他端口作为WebUI的端口

安装完成进入http://IP:3000进行设置

使用

前面说了AdGuard Home,主要是作为DNS缓存服务器使用,因此选取未被污染的上游DNS服务器显得尤为重要,在这里我推荐几个我使用比较多的DNS服务器:

https://dns10.quad9.net/dns-query	# AdGuard Home官方维护
https://dns.google/dns-query # Google DoH服务器
https://1dot1dot1dot1.cloudflare-dns.com/ # CloudFlare DoH服务器
dns.google # Google DoT服务器
cloudflare-dns.com # CloudFlare DoT服务器
dns.alidns.com # 阿里云 DoT服务器
dot.pub # DNSpub DoT服务器
https://dns.alidns.com/dns-query # 阿里云 DoH服务器
https://223.5.5.5/dns-query # 阿里云 DoH服务器
https://223.6.6.6/dns-query # 阿里云 DoH服务器

在这里我选取了较多的上游服务器,其中需要注意的是阿里云公共DNS对于请求数量进行了限制(QPS 20),而腾讯的公共DNS有污染的传言,所以并不完全可靠

在这里我推荐你使用并行请求,加上乐观缓存,这样的话可以在尽可能保证请求质量的基础上加快本地的DNS请求速度

其实你没必要担心因为乐观缓存的存在而影响DNS解析的正确程度,因为你访问的大多数网址的DNS解析结果一般不会发生较大的变化,相反由于乐观缓存的本地缓存,整个DNS请求的效率会很高,会大大改善本地的网络连接状况:

DNS 黑名单

AdGuard HomeDNS 黑名单是整个的核心,它决定了最终对抗广告和追踪器的质量,在这里我推荐一个效果比较好,误伤比较小的DNS黑名单,以下加速链接为CDN加速后的链接:

AdGuard DNS filter:原始链接 | 加速链接

AdAway Default Blocklist:原始链接 | 加速链接

AdGuard Base filter:原始链接 | 加速链接

AdGuard Chinese filter:原始链接 | 加速链接

CJX's Annoyance List:原始链接 | 加速链接

乘风MV:原始链接 | 加速链接

乘风Rules:原始链接 | 加速链接

jiekouAD: 原始链接 | 加速链接

EasyList:原始链接 | 加速链接

EasyList China:原始链接 | 加速链接

EasyPrivacy:原始链接 | 加速链接

BlueSkyXN:原始链接 | 加速链接

总体来说效果还是很不错的,一些常见的广告都可以过滤,你还可以添加一些特殊的规则,比如说针对“电子书”、“电视剧”等等

总结

总体来说,使用体验还是很不错的,尤其是本地有DNS缓存之后整体的解析速度很快,而且也不会存在因为解析错误而导致无法访问的情况。

如果你想要了解更多的话,不妨看看我的小站:小树

AdGuard Home使用体验的更多相关文章

  1. 广告过滤器 Adguard Pre v6.4.1814 Lite V2 简约绿色版

    下载地址:点我 基本介绍 当你在浏览网页的时候总是弹出广告是不是非常的不爽,小编为伙伴们提供了Adguard Pre简约绿色版,一款专业的广告过滤器.Adguard Pre简约绿色版可以帮助伙伴们完美 ...

  2. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

  3. 移动端之Android开发的几种方式的初步体验

    目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...

  4. TODO:小程序开发过程之体验者

    TODO:小程序开发过程之体验者 1. 小程序开发过程,先下载开发者并安装开发者工具,现在腾讯开放测试了,普通用户也可以登录开发者工具,如图普通用户登录为调试类型,但是只能建立无AppID的项目 如果 ...

  5. 微信小程序体验(2):驴妈妈景区门票即买即游

    驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...

  6. 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验

    Power BI有手机版,目前支持安卓,苹果和WP,不过没有WP手机,苹果在国内还不能用,要FQ和用就不测试了.安卓的我也也是费了九牛二虎之力才把app下载下来,把方法分享给大家. FQ太麻烦,所以建 ...

  7. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  8. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  9. Xamarin+Prism开发详解三:Visual studio 2017 RC初体验

    Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...

  10. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

随机推荐

  1. composer 2 升级操作

    update composer composer self-update // or sudo composer self-update 回滚到版本1 composer self-update --r ...

  2. Java SE 24 新增特性

    Java SE 24 新增特性 作者:Grey 原文地址: 博客园:Java SE 24 新增特性 CSDN:Java SE 24 新增特性 源码 源仓库: Github:java_new_featu ...

  3. 快速排序(NB)

    博客地址:https://www.cnblogs.com/zylyehuo/ # _*_coding:utf-8_*_ def partition(li, left, right): tmp = li ...

  4. Docker学习笔记:Docker 网络配置

    2016-10-12 10:29:00 先知 转贴 51964 图:  Docker - container and lightweight virtualization Dokcer 通过使用 Li ...

  5. Effective Java理解笔记系列-第1条-何时考虑用静态工厂方法替代构造器?

    为什么写这系列博客? 在阅读<Effective Java>这本书时,我发现有许多地方需要仔细认真地慢慢阅读并且在必要时查阅相关资料才能彻底搞懂,相信有些读者在阅读此书时也有类似感受:同时 ...

  6. 子图,生成子图(Spanning Subgraph),导出子图(Induced Subgraph)的定义

    原图G用\(G=(V,E)\)表示,\(V\)是\(G\)中的所有顶点的集合:\(E\)是\(G\)中所有边的集合. 子图 定义:子图\(G '\)中的所有顶点和边均包含于原图\(G\).即\(E'∈ ...

  7. JAVA基础之多线程一期

    一.并发与并行的区别 并发:指同一时间段,两个或多个事件交替进行 并行:指同一时间段,两个或多个事件同时进行 二.进程与线程的区别 进程:正在内存中运行的程序就是进程 线程:线程归属于进程,它是进程中 ...

  8. STM32 开发环境用哪个呢?

    我的STM32开发环境血泪史:从入门到精通,少走弯路才是硬道理 说起STM32开发环境的选择,我真是有太多想说的了.作为一个已经在嵌入式领域摸爬滚打近十年的老兵,从当年刚入行时的懵懂无知,到现在能够从 ...

  9. 康谋方案 | AVM合成数据仿真验证方案

    随着自动驾驶技术的快速发展,仿真软件在开发过程中扮演着越来越重要的角色.仿真传感器与环境不仅能够加速算法验证,还能在安全可控的条件下进行复杂场景的重复测试. 本文将分享如何利用自动驾驶仿真软件配置仿真 ...

  10. fiddler抓包配置

    一.fiddler配置 打开tools-options 1.设置general,勾选对应选项 2.设置HTTPS,勾选Decrypt HTTPS traffic时,首次使用如果没有下载过fiddler ...