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. ssh: connect to host github.com port 22: Connection timed out----git问题记录

    今天使用git命令提交代码,git add .,git commit -m '',git push 一顿操作猛如虎啊,嘴角一勾,邪魅一笑像往常一样期待着等着进度条100%,然后直接出现ssh: con ...

  2. 深入理解CPU的调度原理

    前言 软件工程师们总习惯把OS(Operating System,操作系统)当成是一个非常值得信赖的管家,我们只管把程序托管到OS上运行,却很少深入了解操作系统的运行原理.确实,OS作为一个通用的软件 ...

  3. kubernetes mysql-StatefulSet报错处理

    我们使用网上mysql-StatefulSet集群教程时候mysql-1启动错误,init-error. 第一次尝试解决:我从官网上下载yaml部署依然报错. 第二次尝试解决:网上换各种版本的yaml ...

  4. raw.githubusercontent.com 访问不了

    访问 Github 中的 raw 文件内容时会跳转到 raw.githubusercontent.com 这个域名 但是访问不了. 解决办法 Windows 在 C:\Windows\System32 ...

  5. 从零创建npm依赖,只需执行一条命令

    由来 最近在弄新的npm依赖,但是发现没有都从头创建项目实属有点儿麻烦,然后我找了之前开发的依赖,将多余代码删除了作为初始化的项目.于是~为什么不弄个模版,每次只需要初始化模版即可,所以就有了这个模版 ...

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

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

  7. Asp.net mvc基础(一):Razor语法

    1.使用@{C#代码区域},调用@C#代码 2.使用@调用foreach,for,if等语句 2.在foreach,for,if等语句中使用汉字会报错,原因是在代码中纯文字会被认为是C#代码 如下: ...

  8. 深度讲解-APP安全评估报告(APP上架必备)

    随着<具有舆论属性或社会动员能力的互联网信息服务安全评估规定>(以下简称<评估规定>)的发布,互联网信息服务提供者在开展具有舆论属性或社会动员能力的App服务时,必须遵循相应的 ...

  9. LeetCode 热题 100

    1. 两数之和 1. 两数之和 class Solution { public int[] twoSum(int[] nums, int target) { int n = nums.length; ...

  10. Fortify工具安装以及使用

    ​工具简介: Fortify是一款强大的静态代码扫描分析工具,其发现代码漏洞缺陷的能力十分强悍,主要是将代码经过编译,依托于其强大的内置规则库来发现漏洞的.Fortify 是一个静态的.白盒的软件源代 ...