一、安装 Adguard Home
如果您使用的是 iStoreOS,建议通过软件包安装,并推荐使用重定向 53 模式。
下载地址:https://github.com/AUK9527/Are-u-ok?tab=readme-ov-file
在 NAS 上可以使用 Docker 安装:
docker run --name adguardhome \
--restart unless-stopped \
-v /你要挂载的目录/workdir:/opt/adguardhome/work \
-v /你要挂载的目录/confdir:/opt/adguardhome/conf \
-p 53:53/tcp -p 53:53/udp \
-p 3000:3000/tcp \
-d adguard/adguardhome:laster
二、设置
使用 IP:3000 进入后台,首次访问时需要设置账户和密码。
常规设置
安全搜索功能可以关闭,因为在国内用处不大。
日志的保存时长需要调整:
存储空间充足时可设置为七天,通常 24 小时即可满足需求。如果有频繁请求的地址,也可以在此处进行忽略。
DNS 设置
上游 DNS 服务器
初始时可以随便填写一个 DNS 服务器,例如 https://dns.alidns.com/dns-query后续会用文件覆盖。
选择并行请求。
上游服务器填写全面,后备服务器可以不填。
BootstrapDNS:
tls://223.5.5.5
quic://223.5.5.5
tls://1.12.12.12
设置完成后,点击应用。
DNS 服务配置
速度限制和地址长度根据需求填写。
勾选启用 EDNS 客户端子网。
将拦截模式修改为自定义 IP,设置为 127.0.0.1 和 ::1。
因为默认的拦截会指向一个黑洞 IP,可能导致响应缓慢。
DNS 缓存设置
缓存大小:134217728(128 MiB),可根据需求调整。对于个人/家庭用户而言,默认的 4 MiB 缓存已足够,无需修改。
覆盖最小 TTL 值:3600,可根据需求增大或缩小。
覆盖最大 TTL 值:604800,可根据需求增大或缩小。
乐观缓存:true。
访问设置
默认设置即可。
过滤器
删除默认的过滤器,因为在国内效果不佳。
黑名单
https://raw.githubusercontent.com/BlueSkyXN/AdGuardHomeRules/master/all.txt
https://raw.githubusercontent.com/BlueSkyXN/AdGuardHomeRules/master/skyrules.txt
白名单
https://raw.githubusercontent.com/BlueSkyXN/AdGuardHomeRules/master/ok.txt
DNS 重写
可以理解为修改 hosts。
已阻止的服务
根据需要开启。
自定义过滤规则
此项可以缓解部分黑名单规则的误杀。当您发现某些域名被 DNS 黑名单误杀时,可以在此处解除阻止。一般用户只需了解以下几种写法:
@@||example.org^ # 对 example.org 及其子域名放行
||example.org^ # 阻止 example.org 域名及其所有子域名
||*.mcdn.bilivideo.cn # 匹配 *.mcdn.bilivideo.cn,并阻止 * 是通配符,表示任意内容
导入 DNS 分流设置
首先找到 Adguard Home 的配置文件 AdGuardHome.yaml。
iStoreOS 的路径为 /etc/AdGuardHome.yaml,Docker 安装的在挂载目录下。
创建下载脚本:
#!/bin/bash
# 定义要下载的文件 URL
URL="https://raw.githubusercontent.com/Leev1s/FAK-DNS/master/converted/FAK-DNS.txt"
# 定义目标文件路径
TARGET_FILE="/etc/FAK-DNS.txt"
# 使用 curl 下载文件
if curl -o "$TARGET_FILE" "$URL"; then
echo "文件已成功下载到 $TARGET_FILE"
else
echo "下载失败"
exit 1
fi
给脚本执行权限:
chmod +x download_fak_dns.sh
sudo ./download_fak_dns.sh
设置定时任务:
# 编辑 crontab 文件:
crontab -e
# 添加定时任务:
# 在打开的编辑器中,添加以下行来设置定时任务:
0 */2 * * * /path/to/your/download_fak_dns.sh
# 保存退出 :wq
# 验证 crontab
crontab -l
sudo crontab -e
然后打开 AdGuardHome.yaml,指定配置文件。