AdGuard Home 是广告拦截与反跟踪软件,可以将广告与追踪相关的域名屏蔽,同时不再需要安装任何客户端,包括 Windows、Mac、Android、iOS,下面我们说的是 OpenWrt 安装 AdGuard Home 设置全局广告拦截,教程开始之前,我先介绍一下 AdGuard Home 的工作原理。

AdGuard Home 的工作原理是在 DNS 的域名解析过程中拦截网页上的广告,目前支持 DNS over TLS 和 DNS over HTTPS,本教程讲解讲解如何配置 OpenWRT 的 AdGuardHome 实现DNS防污染加快网站解析速度 和 广告拦截。

插件下载

AdGuard Home 下载地址(高速下载):点击前往

AdGuard Home 下载地址(仓库下载):点击前往

插件安装

下载好 AdGuard Home 插件,打开 OpenWrt 管理界面,进入系统列表页找到文件传输,选择上传 AdGuard Home 插件,并在上传文件列表进行安装即可,如下图:

使用教程

安装核心: 有学习上网环境

点击 服务 -> AdGuard Home,更新核心版本,等待核心更新完成并启用 AdguardHome 插件,点击日志,如果有运行记录,则表示AdGuardHome已正常运行,如下图:

安装luci-app-adguardhome,安装完成请先不要启动,如果以前安装过老版本,想更新也可以按此方法更新,但请先停止运行AdGuardHome。

然后去官网下载AdGuardHome最新版核心文件,注意自己的CPU型号,不懂的Google,下载的话把链接复制到工具里,用下载工具下载,不然会很慢,新手就不要在AdGuarHome里点 更新核心 了,这个巨慢,没有学习环境的话90%以上机率不成功。 https://github.com/AdguardTeam/AdGuardHome/releases

x86下载 AdGuardHome_linux_amd64.tar.gz

下载完成请解压,然后用winscp上传到openwrt的 /usr/bin目录下,并设置文件夹权限为 755,如果以前安装过,请先按上面图示在openwrt里停止运行AdGuardHome,然后把此目录老版的文件夹删除上传新版

如果以前安装过,请去/etc目录下删除AdGuardHome.yaml,然后可以关闭winscp了。

上传完文件然后现在回到上面那个启动项的图示,把AdGuardHome禁用关掉但不启动。

至此,软件安装成功,不成功的请按上面步骤重做一次

知识点:好多安装后显示无核心其实就是第一次运行时权限不够导致的,想要显示有核心,把Openwrt里的所有AdGuardHome配置和服务删除再重新安装一次就可,共有三处,我上面提到两处了,另一处是在 /etc/init.d下,此操作务必小心,这个文件夹下的是AdGuardHome的主服务程序,删除就必须重新安装 AdGuardHome.ipk,或者固件初始化后可恢复。

重点一
1,你到底需要不需要openwrt自带的dnsmasq,如果不需要,请更改dnsmasq的端口,请看图(建议用此方法):

2,如果需要使用dnsmasq,那么注意L大固件里防火墙 53端口优先的指令,注释防火墙的53端口优先指令,然后配置AdGuardHome里的:注释防火墙的 53端口这两项,前面加 #号保存

重定向勾选并启动AdGuardHome后会自动改写dnsmasq的DHCP/DNS配置转发。 127.0.0.1#你的自定义端口

配置Passwall 按需配置

到此,openwrt里的配置就完成了,请勾选上面的启用并保存,然后点击下图:

路由器ip:3000(192.168.3.1:3000)访问AdGuardHome设置页

设置端口号这里注意,如果不打算用openwrt的dnsmasq,请一定直接用53端口,我个人一直使用的53端口替代dnsmasq,没啥附作用,挺好的,而且这种配置方法也适合docker和linux安装AdGuardHome

(这里把逻辑给捊一下,DNS软件或远程DNS服务器解析默认端口都是53,L大的固件默认也是53,而且优先级最高,而openwrt里的太多设置DNS插件和需要用到dns的插件,怕小白们弄冲突所有上面有把防火墙注释掉,其实明白了原理防火墙那里53优先配置最好不注释,让AdGuardHome占用53端口,所以建议新手直接把dnsmasq改个端口变相达到弃用的目的,按我的方法执行下去就变成了让AdGuardHome的DNS配置代替L大默认的dnsmasq)

然后用户名密码随意

好了,下面的一个优秀的高效的DNS和广告过滤配置的重点来了

重点二:
常规设置

第二、三项不要勾选,因为这个会连接AdGuradHome服务器,从而导致打开网页缓慢

下面的日志配置各位根据自己机器容量来,两个全7天的话,AdGuardHome运行七天后记录文件会达到至少50M以上

DNS 设置 -- 上游 DNS 服务器
知识点:这里就是大家日常上网用到的干净的DNS域名服务器了,各位根据自己所处的位置和国内外环境填就好,一般国内的建议用阿里百度腾讯,国外谷歌就好,这里有个技巧,日常多Ping一下公共dns,哪个值优秀填到第一项,这里不是填得越多越好,越多解析DNS用的时间越久,打开网页越慢,给出我的配置大家参考 (并行请求负载均衡 实测区别不大)

tls://dns.pub
https://dns.pub/dns-query
tls://dns.alidns.com
https://dns.alidns.com/dns-query
tls://dns.google
https://dns.google/dns-query
tls://dns11.quad9.net
https://dns11.quad9.net/dns-query

上面用的是加密DNS,有IPV6的可以再添加下面三个IPV6的DNS,这里大家一定要注意,如果你用不到这些DNS,那就不要加进去,贪大求多导致没必要的负担。

阿里云:2400:3200::1
国家互联网工程中心DNS:240c::6666
谷歌:2001:4860:4860::8888

特别注意:Bootstrap DNS 用于解析上游DNS,所以尽可能将 Bootstrap DNS 的第一条设置为当地运营商的DNS地址(支持IPV6),当地运营商的DNS地址可通过直接命令框内使用 ipconfig /all 查询,前提是必须网线直接插在光猫上

当地电信DNS 119.29.29.29
当地移动DNS 223.5.5.5
当地联通DNS 180.76.76.76

重要的事情强调多次,如果你没有IPV6,把列表里的ipv6都去掉,没有溜达出去需求的把谷歌的也去掉。

关于DNS设置:首先要知道,DNS就是域名解析,找到你要访问的域名对应的互联网真实地址,互联网架构决定了,服务器离我们越近、转发的次数越少速度就越快,(当然这里要排除ISP之间的互联策略,有可能电信联通同在一个机房里但两台DNS的PING值也很高的,)我们自架DNS是为了屏蔽广告,但运营商如果给你的本地DNS本来就是很纯净的,那么就没有必要舍近求远去用别人家的DNS,在AdGuardHome里上游DNS和Bootstrap DNS都设定成本地的DNS速度就是最快的,但,运营商本地区域性的DNS对域名记录是偏少的,知名网站肯定都有记录,当某个域名不知名并没有记录时,你的网页就在那里转圈圈半天打不开,再但,国内的某些运营商你懂的,比如我以前用过广电的网络,解析电信线路就卡得一批,还有欢迎的弹窗广告,同一运营商,不同省份,不同城市,DNS也不一定一样,这个得大家自己在平时多用心观察。所以我们就要用阿里这些知名的DNS,不仅速度快且记录全,具体到个人的网络环境就又不一样的,因此最好的办法就是CMD里去ping,找到最优秀而且没广告的就可以了。最后还是建议大家用公共的DNS,虽然比你本地的慢一点,但这点速度肯定是你体会不到的,再者,玩这论坛的都是到处找教程、学习资料,别人的资料可能就在自建的路由器上,国外申请免费域名,你本地运营商的DNS肯定没有记录的,这个见仁见智哈,明白了这个道理就按个人需求来吧。

缓存设置
缓存大小设置,各位根据自己的固件空间来,我空间大设置的 83886080
如果主路开启了缓存,这里可以关闭,要关闭的话把值设成 0即可

知识点:如果openwrt是旁路且主路打开了DNS缓存,那么经常在日志里不能实时反映出客户端的DNS请求现像,这是因为主路缓存了那个域名的IP,客户端的请求就不会再经过AdGuardHome了,这对有些需要用到日志来抓包的朋友来说并不是软件失灵,要想实时抓出地址,把主路的缓存关闭即可。

DNS 拦截列表

过滤规则不可添加过多,因为有些是重复的,多了反而变慢,自己根据实际情况来添加

以下第三方广告过滤拦截规则

  1. EasyList China : 国内网站广告过滤的主规则。
    链接:https://easylist-downloads.adblockplus.org/easylistchina.txt
  2. EasyPrivacy : EasyPrivacy 是隐私保护,不被跟踪。
    链接:https://easylist-downloads.adblockplus.org/easyprivacy.txt
  3. CJX’s Annoyance List : 过滤烦人的自我推广,并补充 EasyPrivacy 隐私规则。
    链接:https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt
  4. I don’t care about cookies : 我不关心 Cookie 的问题,屏蔽网站的 cookies 相关的警告。
    链接:https://www.i-dont-care-about-cookies.eu/abp/
  5. Anti-AD : 目前中文区命中率最高的广告过滤列表,实现了精确的广告屏蔽和隐私保护。屏蔽广告域名、电视盒子广告、APP内置广告,同时屏蔽了一些日志收集、大数据统计等涉及个人隐私信息的站点,能够保护个人隐私不被偷偷上传https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-easylist.txt

下列各规则、各规则的不同源不要同时添加,因为重复了,也就是所有地址 选择一个 订阅就可以了

  • ad-pc.txt:[推荐桌面端]
  • ad.txt:[推荐移动端]
  1. ad-pc.txt:[推荐桌面端] 合并自乘风视频广告过滤规则、Easylist、EasylistChina、EasyPrivacy、CJX’sAnnoyance,以及补充的一些规则;
  2. ad-mo.txt:合并自 Easylist、EasylistChina、EasyPrivacy、CJX’sAnnoyance;
  3. ad.txt:[推荐移动端] 合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX’sAnnoyance,以及补充的一些规则;
  4. ad2.txt:合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX’sAnnoyance;
  5. ad3.txt:合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX’sAnnoyance、EasyPrivacy;
  6. ad-edentw.txt:合并自 Adblock Warning Removal List、ABP filters、anti-adblock-killer-filters。

1.ad-pc.txt:[推荐桌面端] 合并自乘风视频广告过滤规则、Easylist、EasylistChina、EasyPrivacy、CJX’sAnnoyance,以及补充的一些规则;

国内源 1:coding
国内源 2:gitee
国外源 1:jsdelivr
国外源 2:github

2.ad-mo.txt:合并自 Easylist、EasylistChina、EasyPrivacy、CJX’sAnnoyance;

国内源 1:coding
国内源 2:gitee
国外源 1:jsdelivr
国外源 2:github

3.ad.txt:【推荐】合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX’sAnnoyance,以及补充的一些规则;

国内源 1:coding
国内源 2:gitee
国外源 1:jsdelivr
国外源 2:github

4.ad2.txt:合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX’sAnnoyance;

国内源 1:coding
国内源 2:gitee
国外源 1:jsdelivr
国外源 2:github

5.ad3.txt:合并自乘风视频广告过滤规则、EasylistChina、EasylistLite、CJX’sAnnoyance、EasyPrivacy;

国内源 1:coding
国内源 2:gitee
国外源 1:jsdelivr
国外源 2:github

6.ad-edentw.txt:合并自 Adblock Warning Removal List、ABP filters、anti-adblock-killer-filters。

国内源 1:coding
国内源 2:gitee
国外源 1:jsdelivr
国外源 2:github

如果觉得我的文章对你有用,请随意赞赏