各种版本OpenWRT上安装AdGuardHome
转载注明来源: 本文链接 来自osnosn的博客,写于 2023-01-12.
官方文档
- 【AdGuard Home】
- 【Installing AdGuardHome on OpenWrt [Manual and opkg method]】
- 【OpenWrt AdGuard Home 101 ( DNSMASQ )】
OpenWRT 官方版 18.06 和 19.07
- 官方包中没有 adguardhome,只有 adblock。adblock有luci界面。
- 如果要装 adguardhome,只能去 【AdguardTeam/AdGuardHome】 手工下载bin包。
压缩包中,就只有一个 golang 的静态编译好的可执行文件 "AdGuardHome"。 - luci 是个第三方包,在 【rufengsuixing/luci-app-adguardhome】。
- adguardhome是个独立运行的软件。
OpenWRT 官方版 21.02 和 22.03
- 在web管理页面,"system"->"software", 点"update list...", 然后搜索
adguard
, 可以找到一个软件包,安装它即可。
或者在命令行,opkg update; opkg install adguardhome;
即可。(v0.107.21) - 安装后,发现没有luci界面。官方文档也说"没有luci界面"。
- luci 是个第三方包,在 【rufengsuixing/luci-app-adguardhome】。我没有安装使用。
去github.com/search
搜索adguardhome
还能搜到不少luci项目。
- luci 是个第三方包,在 【rufengsuixing/luci-app-adguardhome】。我没有安装使用。
- 在 "Status"->"System Log", 看到,adguardhome 启动了,53口绑定失败,80口绑定失败,因为被占用,然后启动到了3000口。
- 浏览器访问op路由器的 3000 口,比如
192.168.1.1:3000
, 可以进入到adguard的配置页面,继续完成安装。
记得把 80 和 53 口改为没有被占用的口,比如,3000 和 5353 。- adguard 的 "DNS设置"->"上游 DNS 服务器",最前面,填入运营商分配的几个 dns 服务器IP (ipv4+ipv6)。
在op的 "Status"->"Overview"->"Network" 状态页。可以找到两个ipv4的 dns IP,和一个 ipv6 的 dns IP。
选择 "并行请求" 性能比较好。 - 检查 "DNS设置"->"DNS 服务配置",去掉"禁用 IPv6 地址的解析"上的勾。否则无法访问ipv6的网站。
- 其他的设置,见下文,或者自行上网搜索。比如规则的添加...
- adguard 的 "DNS设置"->"上游 DNS 服务器",最前面,填入运营商分配的几个 dns 服务器IP (ipv4+ipv6)。
- 激活生效,去op的管理页面,"Network"->"DHCP and DNS"->"General Settings",
在 "DNS forwardings" 中填入127.0.0.1#5353
,让 dnsmasq 的请求转发给 adguardhome 即可。
这种配置方式,就是把 adguardhome,作为 dnsmasq 的上游服务器。- 注:dns中指定非标准端口,使用"#"作为分割,不使用冒号":"分隔。如
127.0.0.1#5353
。
- 注:dns中指定非标准端口,使用"#"作为分割,不使用冒号":"分隔。如
- 通过ipk安装的 adguardhome,是装在 rom的剩余空间中的。重启路由,核心程序不会丢失。
如果路由器 rom空间不够大,参考【newifi_D2_新3_lede_插U盘扩容overlay_装可道云】。 - golang 程序,在op上运行,time.Now()输出的时间,时区不对。是因为op中缺失/etc/localtime文件。
从Linux系统中copy一个过去就好了。
Lean 版的 openwrt-R22.11.11
- 通常已经有 adguardhome的luci入口。
- 首先,在 "服务"->"AdGuard Home" 中,"更新核心版本",其实就是去下载 adguardhome 的bin执行程序。
bin程序比较大通常10-20MB,需要耐心等待,多次尝试,直至下载完成。(可能需要梯子的支持)
或者,手工去【AdguardTeam/AdGuardHome】下载,解压放入openwrt的指定位置。
对于Newifi D2, 使用AdGuardHome_linux_mipsle_softfloat.tar.gz
。
压缩包中,就只有一个 golang 的静态编译好的可执行文件 "AdGuardHome"。 - 然后,在luci界面中"启用"它,配置它。
"xxx重定向" 不知道选择什么的话,就选 "作为 dnsmasq 的上游服务"。 - 在硬路由上(比如newifi D2)刷的 lean版op,【Hyy2001X/AutoBuild-Actions-BETA/releases】的 Lite版。
因为 rom不够大,adguardhome 装不下。实际装在了/tmp/
内存盘中。
所以,路由重启后,需要重新下载adguardhome核心,才能启用。原有配置没丢,包括规则列表也没丢。- adguardhome核心程序,解压后有36.4MB (v0.108.0-b.24)。
- 也可以考虑使用 U盘扩容,参考【newifi_D2_新3_lede_插U盘扩容overlay_装可道云】。
- 软路由一般空间够大,核心程序不会丢失。
虚拟机映像扩容,软路由扩容,见【openwrt_21.02_img_空间扩容_改分区表大小】 - golang 程序,在op上运行,time.Now()输出的时间,时区不对。是因为op中缺失/etc/localtime文件。
从Linux系统中copy一个过去就好了。
独立运行在单独的机器上
- adguardhome是个独立运行的软件。
- 你可以让它单独运行。只要客户端的dns服务器指向这个adguardhome,就能实现广告过滤。
- 去
github.com/search
搜索adguardhome
能搜到很多相关项目,包括规则链接。
AdGuard Home 设置参考
----end----
转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/17046580.html
来自 osnosn的博客 https://www.cnblogs.com/osnosn/ .