AdGuard Home是一个开源的DNS层级的广告拦截程序,从根源上解决问题,搭配AdGuard食用效果更佳。
原理解读
太长不看版:从根源上拦截某些广告域名,或者防止DNS污染。
完整版:DNS(域名服务器)起到的是类似于114查号台的作用,你传给他某个公司名(域名)他会返回给你一个电话号码(IP地址),那么一个好的DNS能提高网络访问速度,劣质的DNS不但卡的要死,还会出现劫持等现象。就像你问114中行电话是什么,他告诉95588(工行)一样,这就叫DNS污染。AdGuard Home起的作用就是在你向查号台询问、以及查号台返回结果的过程中保证正确的监督者。
缺陷比较
优点
- 真正的全平台,只要你的设备可以修改DNS服务器就可以用,包括且不限于手机(啥系统都行)、PC、Mac、Linux、电视盒子、树莓派等等。
- 自己自定义规则,会玩基本上能解决大部分广告。
缺点
- 有一定技术难度。
- 需要一台全天24h开机的机器(树莓派、软路由、VPS等)
机器选择
首先,这个东西类似于DNS服务器,DNS服务器要求24h在线,肯定不能出现用着用着机子炸了,失联了,墙了这种问题。个人建议买个正儿八经的机子去,别去搞什么PR、RN之类的灵车。少说你撸个Azure、AWS、Oracle啥的也行。
如果个人家里有条件,我建议是一台在内网,一台在境内服务器公网,同时兼顾在家与出门在外,并且保证了速度;如果局域网内没有设备可以搭建,可以尝试2台境内机器或者1台境内+1台境外的组合。
至于服务器的选择,境内服务器肯定选择你离最近的,比如说我人在山东,北京或者上海的机子肯定比成都或者深圳体验好。境外机器推荐JP、HK、SG地域的,并且至少Ping过去低于80ms,否则直接卡的没法用,纯粹反向加速。
安装教程
本文基于Ubuntu搭建,Debian理论上通用,其它系统请自行研究。
Docker 容器
这方法毕竟还是省事,建议以此方法安装。
我们可以直接使用下面的命令从安装Docker到拉取镜像一条龙服务。(一条一条的跑,别全部复制进去)
安装Docker
apt install docker.io
拉取 AdGuard Home Docker镜像
docker pull adguard/adguardhome
设置 AdGuard Home 的配置文件存储位置
mkdir /etc/AdGuard_Home/

然后运行下面的命令创建容器:(全部复制进去回车)
docker run \
--name AdGuard_Home \
-v /etc/AdGuard_Home/:/opt/adguardhome/work \
-v /etc/AdGuard_Home/:/opt/adguardhome/conf \
-p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 70:68/tcp -p 70:68/udp -p 3000:80/tcp -p 446:443/tcp -p 853:853/tcp -p 3000:3000/tcp \
--restart=always \
-d adguard/adguardhome

二进制文件安装
使用命令下面的命令先下载二进制文件。
#Linux x64
wget https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_amd64.tar.gz -O AdGuardHome.tar.gz
#Linux i386
wget https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_386.tar.gz -O AdGuardHome.tar.gz
#Linux ARMv7
wget https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv7.tar.gz -O AdGuardHome.tar.gz
#Linux ARMv6
wget https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv6.tar.gz -O AdGuardHome.tar.gz
然后解压文件
tar xvf AdGuardHome.tar.gz
为了方便管理,我们将文件放进单独的文件夹里
mkdir /usr/local/AdGuard_Home
mv AdGuardHome/AdGuardHome /usr/local/AdGuard_Home
然后进入文件夹内:
cd /usr/local/AdGuard_Home
安装 AdGuard Home 到系统中
./AdGuardHome --service install
出现以下提示时候即代表安装成功

后台配置
不管你使用哪种方法安装成功后,访问http://IP:3000即可看到安装界面。

这里需要修改为3000,防止与Web服务冲突。

用户名密码自己写即可。

到这里,AH就可以使用了,只需要去修改你的设备DNS为机器IP即可。

后续设置
常规设置看你能不能用上,自己选择即可。

DNS服务器设置里:上游DNS设置我个人建议阿里+腾讯+Google+Cloudflare,同时兼顾国内外访问需求。
其他的DNS服务器可以在官方文档找到。

与AdGuard客户端一样,我们可以自行添加过滤规则。

下面推荐几个规则列表,各位可以试试看。
到这里,所有配置工作已经完成了,各位可以去修改自己设备的DNS服务器了,鉴于市面上设备五花八门,我这里就不具体介绍修改方法了。
题外话
AdGuard Home还可以设置屏蔽某服务(你自己写规则也不是不行)那么这种方法不比直接给孩子摔了手机强?个人观点认为,教育不应该是一方施加给另一方暴力作为解决问题的方式,不出三句话动手和街头小混混有啥区别呢?
