AdGuard Home 是著名广告拦截器 AdGuard 里 DNS Server 的一个开源版本。它的作用是,在 DNS 的域名解析的过程里拦截网页上的广告。
这篇文章就来介绍下,在安装宝塔面板的服务器中设置AdGuard Home,用宝塔面板的一个好处就是可以可视化的放行端口,修改文件等。
1、功能
AdGuard Home的主要功能如下:
- 拦截广告
- 隐私保护
- 反跟踪保护
- 家庭保护
- 自定义过滤
2、简介
官网:https://adguard.com/zh_cn/adguard-home/overview.html
项目:https://github.com/AdguardTeam/AdGuardHome
版本:https://github.com/AdguardTeam/AdGuardHome/releases
3、准备
AdGuard Home支持MacOS、Windows、Linux、树莓派等系统,不过本文安装在ion的VPS上。建议选择国内延迟小的服务器安装,比如cn2 gia线路。
宝塔面板(这个不是必须的,但是方便修改端口和文件等)
服务器一台
系统:centos7,但是本文测试是在centos8上。
工具:AdGuard Home
4、安装
以CentOS 8为例,安装方法如下:
1)下载安装
- #下载AdGuard Home
- wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.103.3/AdGuardHome_linux_amd64.tar.gz
- #解压
- tar –zxvf AdGuardHome_linux_amd64.tar.gz
- #进入AdGuardHome目录
- cd AdGuardHome
- #启动AdGuard Home
- ./AdGuardHome –s install
2)放行端口
- #放行3000端口(AdGuardHome初始化需要使用)
- #firewalld放行3000端口
- firewall–cmd —zone=public —add–port=3000/tcp —permanent
- firewall–cmd —reload
- #iptables放行3000端口
- iptables –A INPUT –p tcp —dport 3000 –j ACCEPT
- service iptables save
注意:DNS
默认使用53
(TCP/UDP)
端口进行通信,别忘记放行53和3000端口,否则DNS
无法正常使用,也无法初始化程序,当然,如果安装了宝塔面板,可在面板的安全中放行。。
3)额外设置
因为上面使用了./AdGuardHome -s install
安装了服务,所以你就可以使用下面的命令来进行管理了。
- #启动
- systemctl start AdGuardHome
- #开机自启
- systemctl enable AdGuardHome
- #重启
- systemctl restart AdGuardHome
- #停止
- systemctl stop AdGuardHome
4)浏览器打开http://IP:3000
,根据提示完成安装,首次初始化会要求设置管理和DNS端口、账号、密码,下次登录需要使用。
注意:如果80端口被占用,你可以修改为其他端口
5、使用方法
1)登录
<IP:你设置的端口>,来访问登录即可。比如大鸟用的是<IP:8080>
2)设置dns
登录之后,我们点击设置指导可以看到详细的设置方法,大鸟这里以win电脑为例。
这里以win10为例,看图:
在打码的地方输入你的 AdGuard Home 服务器地址。保存之后,开启成功。
3)设置上游dns
AdGuard Home默认使用Cloudflare DNS作为上游服务器,如果您服务器在国内可能请求上游DNS延迟比较高,在后台 – 设定 – 可以设置为国内的DNS,如的114.114.114.114
,但坏处是不支持DNS over TLS
4)DNS封锁清单
在后台→过滤器→DNS封锁清单,可以看到AdGuardHome内置了部分广告过滤规则,但在中国有点水土不服,如果要想更完美的实现广告屏蔽还需要自己添加规则。
广告规则在下文放出,这里先不放了,知道要设置这里即可。
5)自定义过滤规则
在后台→过滤器→自定义过滤规则,请确保每行只输入一条规则。你可以输入符合 adblock 语法或 Hosts 语法的规则。
范例:
||example.org^
– 拦截 example.org 域名及其所有子域名@@||example.org^
– 放行 example.org 及其所有子域名127.0.0.1 example.org
– AdGuard Home 现在将会把 example.org(但不包括它的子域名)解析到 127.0.0.1。! 这是一行注释
– 只是一条注释# 这也是一行注释
– 只是一条注释/REGEX/
– 阻止访问与example_regex_meaning匹配的域
6、效果
我们打开sina为列,广告过滤的点就是一片空白,如图:
回到AdGuard Home后台可以看到过滤的数据,如图:
7、广告过滤规则整理
整理了一些好用的,如果有更好的欢迎留言。但如果你有自己长久使用的一套过滤规则,可以自行导入 AdGuard Home 的过滤器。
8、设置域名访问
在装有宝塔的服务器上搭建的好处就是可以给管理地址设置域名访问。比如 IP:8080 我们可以设置域名访问。
保存后,就可以用域名管理AdGuard Home 了,非常的方便!
9、最后
时间匆忙,写的很仓促,如果有错误我在一一改正。
总的来说dns解析没啥问题,但是广告过滤不尽如人意,没有adblock好用,个人建议AdGuard Home+adblock这样使用就完美了*^____^*!
如果您打算自建一个公共DNS,AdGuard Home值得一试。
服务删除地址 /etc/systemd/system/AdGuardHome.service
进程查找:pgrep -l AdGuardHome