黑帽联盟

标题: AdGuardHome 安装及部署教程 [打印本页]

作者: 定位    时间: 2023-10-19 17:10
标题: AdGuardHome 安装及部署教程
AdGuardHome是什么

AdGuardHome 是一款全网广告拦截与反跟踪软件。它是一个开源的 DNS 服务器,部署方便、UI 友好易用,有着防污染、防跟踪、防篡改的能力,其次才是它的去广告、反跟踪功能,是通过重定向 DNS 解析记录实现的。


官网地址:https://adguard.com/adguard-home.html

项目GitHub地址:https://github.com/AdguardTeam/AdGuardHome

项目Docker地址:https://hub.docker.com/r/adguard/adguardhome


AdGuard Home 去广告效果怎样?

既然有去广告功能,自然还是要讨论它的去广告效果的。不过在这里博主要给小伙伴们直接泼一盆冷水了,广告的种类和形态是多样的,不要指望一个 DNS 能把所有的广告消灭干净了。


对于 PC 端的网页广告效果最好的有且仅有浏览器插件,如果配合 Ad­Guard Home 在广告到达浏览器之前进行阻挡一些会给设备节省不少的计算开销,理论上来说会起到一定的省电效果,但估计也没人会在意。如果只是单纯的使用 Ad­Guard Home 并没有什么效果,少量的被拦截的广告会在页面上留下一个空白区域。


对于手机上的广告最直观的感受是手机收到的推送广告明显减少了,然后是部分 App 的开屏广告消失了,还是能起到一定作用的。对于 ADUI 这样的广告级魔改安卓系统效果尤其明显


AdGuard Home安装教程
1、开放端口
  1. `53`:DNS 端口。即其他设备访问 AdGuard Home 进行 DNS 解析的默认端口。因为部分系统不支持自定义 DNS 端口,所以不建议自定义。部署前务必要查看是否有其它程序占用。
  2. `67, 68`: DHCP 端口。除非想代替你路由上的 DHCP 服务器,否则用不到。
  3. `80`: 管理页面默认 HTTP 端口。可忽略,在初始化页面设置管理端口为 `3000` 端口即可。
  4. `443`:HTTPS 和 DoH 端口。本地内网环境不需要。
  5. `853`:DoT 端口。不使用相关功能可忽略。
  6. `3000`:初始化设置端口。除非通过配置文件去设置,否则必须开启。
复制代码
2、自动安装(Linux和Mac)

在终端中运行以下命令:

  1. curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh
复制代码

如果提示 curl: command not found ,那是因为没装 Curl ubuntu/debian 系统安装 Curl 方法:

  1. apt-get install curl -y
复制代码

centos 系统安装 Curl 方法:

  1. yum install curl -y
复制代码
3、手动安装(Linux x64)

在终端中运行以下命令:

  1. <font size="3">wget https://<font color="rgb(102, 217, 239)">static</font>.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz</font><font size="3">tar xvf</font>
复制代码
  1. tar xvf AdGuardHome_linux_amd64.tar.gz
复制代码

进入解压目录执行以下命令安装

  1. <blockquote>cd AdGuardHome
复制代码
4、Windows安装

前往 AdGuard Home 官网下载安装包。
下载二进制文件

使用浏览器 / 下载工具下载:https://static.adguard.com/adguardhome/edge/AdGuardHome_windows_amd64.zip
解压压缩包得到 AdGuardHome.exe 文件
11.png


将 AdGuardHome.exe 移动到 C:\Program Files\AdGuard_Home 文件夹中
12.png



以管理员身份打开命令提示符,执行以下命令

  1. cd "C:\Program Files\AdGuard_Home"
  2. .\AdGuardHome.exe --service install
复制代码

13.png


当提示 AdGuard Home is successfully installed and will automatically start on boot. 即表示 AdGuard Home 在当前系统上安装成功。在命令行中会显示管理后台的地址与端口,默认为 http://IP:3000



5、Docker安装(Linux x64)
(1)Bridge 网络模式
  1. docker run -d \
  2.     --name adguardhome \
  3.     -v $PWD/adguardhome/work:/opt/adguardhome/work \
  4.     -v $PWD/adguardhome/conf:/opt/adguardhome/conf \
  5.     -p 53:53/tcp \
  6.     -p 53:53/udp \
  7.     -p 3000:3000/tcp \
  8.     adguard/adguardhome
复制代码
(2)Host 网络模式
  1. docker run -d \
  2.     --name adguardhome \
  3.     --restart unless-stopped \
  4.     --log-opt max-size=1m \
  5.     --network host \
  6.     -v $PWD/adguardhome/work:/opt/adguardhome/work \
  7.     -v $PWD/adguardhome/conf:/opt/adguardhome/conf \
  8.     adguard/adguardhome
复制代码

AdGuard Home设置教程
1、初始化设置

使用网页浏览器访问 IP + 3000 端口即可进入到 Ad­Guard Home 的初始化界面,比如 IP 是 10.0.0.53,那么就访问 http://10.0.0.53:3000
14.png



接着是监听接口(网卡)和端口设置,根据不同的网络模式和实际情况需要作出不同的修改
15.png

然后是设置管理用户名和密码,后面都是直接下一步:
16.png

完事之后输入用户名和密码登录,就来到了仪表盘页面。
17.png

至此 Ad­Guard Home 就部署完成了。



2、高级配置

18.png



19.png


(1)常规设置

20.png




(2)DNS 设置

21.png


  1. tls://dot.360.cn
  2. https://doh.360.cn/dns-query
  3. tls://dns.pub
  4. https://dns.pub/dns-query
  5. tls://dns.alidns.com
  6. https://dns.alidns.com/dns-query
  7. tls://dns.ipv6dns.com
  8. https://dns.ipv6dns.com/dns-query
复制代码
  1. 119.29.29.29
  2. 223.5.5.5
  3. 180.76.76.76
  4. 2400:3200::1
  5. 2400:da00::6666
  6. 240C::6666
复制代码


(3) DNS 封锁清单

为了更好地发挥 AdGuard Home 去广告的功能,仅依靠默认的过滤规则是不够的,但也不宜过多,过多的过滤规则会影响解析的速度,各位可以根据需要添加过滤规则。
22.png

  1. halflife
  2. https://raw.githubusercontent.com/o0HalfLife0o/list/master/ad.txt

  3. anti-AD
  4. https://anti-ad.net/easylist.txt

  5. neoHosts
  6. https://cdn.jsdelivr.net/gh/neoFelhz/neohosts@gh-pages/full/hosts.txt

  7. 大圣净化 - 针对国内视频网站
  8. https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts

  9. adgk手机去广告规则
  10. https://raw.githubusercontent.com/banbendalao/ADgk/master/ADgk.txt

  11. 广告终结者
  12. http://sub.adtchrome.com/adt-chinalist-easylist.txt

  13. Adbyby
  14. https://raw.githubusercontent.com/adbyby/xwhyc-rules/master/lazy.txt

  15. EasyList China+EasyList
  16. https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt

  17. EasyPrivacy
  18. https://easylist-downloads.adblockplus.org/easyprivacy.txt
复制代码
(4) DNS允许清单
  1. anti-ad白名单
  2. https://raw.githubusercontent.com/privacy-protection-tools/dead-horse/master/anti-ad-white-list.txt

  3. filter_whitelist
  4. https://raw.githubusercontent.com/hl2guide/Filterlist-for-AdGuard/master/filter_whitelist.txt

  5. LWJ's white list
  6. https://raw.githubusercontent.com/liwenjie119/adg-rules/master/white.txt

  7. DNS允许白名单
  8. https://raw.githubusercontent.com/ChengJi-e/AFDNS/master/QD.txt
复制代码

AdGuard Home 所有的配置参数都保存在一个名为 AdGuardHome.yaml 的配置文件中,这个配置文件默认路径通常为 AdGuard Home 二进制文件 AdGuardHome 所在的目录。

这里我们只需调整以下两个参数,就是可以明显提升 AdGuard Home 的 QPS 能力。


(5)开启DoH/DoT

设置一个DNS的解析域名并申请SSL证书,进入加密设置,勾选启用加密,输入自己刚刚设置好的域名,HTTPS端口填写没有被占用的端口,粘贴好SSL证书和秘钥后保存配置即大功告成,宝塔面板反代http://ip:8080并开启SSL。
23.png


在设备上使用 AdGuard Home DNS

最后你可以在 Ad­Guard Home 的设置指导页面找到相应系统的 DNS 设置方法,先不要着急在路由器上使用,建议先设置电脑或手机,通过访问一些网站来测试是否能正常解析。正常的情况下在仪表盘界面会有统计信息,在查询日志界面你会看到解析的详细记录信息。
24.png


完成 AdGuard Home 的设置后,便可将 AdGuard Home 的 DNS 地址部署到局域网设备上。



1、更改路由器 DNS 地址

不同品牌路由器修改的方法各有差异,具体步骤可参照说明书或网上的教程(路由器型号 + 更改 DNS),下方以 Redmi AC2100 路由器为例。

打开并登录路由器的后台管理页面。
25.png



在局域网设置中找到 DNS 设置,将首选 DNS 服务器更改为 AdGuard Home 的 DNS 地址,可设置为其它的 DNS 服务商,避免因 AdGuard Home 服务器宕机而导致局域网无法访问互联网。更改完成后点击保存即可。在路由器更改 DNS 后,局域网内的所有设备的 DNS 解析都会通过 AdGuard Home DNS 完成,实现过滤广告与反隐私跟踪。
26.png



2、更改手机 DNS 地址

27.png



3、 iOS 设备

28.png



4、更改电脑 DNS 地址

29.png



30.png

31.png



常见问题
1、端口冲突

在 Linux 设备上运行 AdGuard Home,通常会出现 53(本地 DNS 服务器)、68(DHCP 客户端)、80(Http)、443(Https) 端口冲突的问题,可以通过netstat -tunlp | grep端口号 查询占用进程。有两种解决方案:使用不同端口、停用冲突进程。
如果是通过 Docker 方式运行 AdGuard Home,出现 listen udp 0.0.0.0:53: bind: address already in use 的提示,需要手动处理,方法如下:

  1. #停止 DNSStubListener
  2. systemctl stop systemd-resolved

  3. #创建文件夹(如果不存在)
  4. mkdir /etc/systemd/resolved.conf.d/

  5. #使用 Nano 创建配置文件2021-04-29 16:16:00 星期四
  6. nano /etc/systemd/resolved.conf.d/adguardhome.conf
复制代码

在编辑器中粘贴以下内容:

  1. [Resolve]
  2. DNS=127.0.0.1
  3. DNSStubListener=no
复制代码

保存后执行以下命令。

  1. #创建备份
  2. sudo mv /etc/resolv.conf /etc/resolv.conf.backup

  3. #将 /etc/resolv.conf 链接至 /run/systemd/resolve/resolv.conf
  4. ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

  5. #重启 DNSStubListener
  6. systemctl restart systemd-resolved
复制代码

完成后使用 netstat -tunlp | grep 53 命令检查是否依旧有进程占用 53 端口,如无冲突,重启 AdGuard Home 容器即可。


2、平均处理时间过长?

以下几个因素会使 AdGuard Home 的处理时间过长:



作者: 972227544    时间: 2023-11-10 02:31
虽然看不懂但是非常的厉害 感觉啊啊啊




欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5