osnosn

  博客园 :: 首页 :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::

各种版本OpenWRT上安装AdGuardHome

转载注明来源: 本文链接 来自osnosn的博客,写于 2023-01-12.

官方文档

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项目。
  • 在 "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的网站。
    • 其他的设置,见下文,或者自行上网搜索。比如规则的添加...
  • 激活生效,去op的管理页面,"Network"->"DHCP and DNS"->"General Settings",
    在 "DNS forwardings" 中填入 127.0.0.1#5353,让 dnsmasq 的请求转发给 adguardhome 即可。
    这种配置方式,就是把 adguardhome,作为 dnsmasq 的上游服务器。
    • 注:dns中指定非标准端口,使用"#"作为分割,不使用冒号":"分隔。如 127.0.0.1#5353
  • 通过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核心,才能启用。原有配置没丢,包括规则列表也没丢。
  • 软路由一般空间够大,核心程序不会丢失。
    虚拟机映像扩容,软路由扩容,见【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/ .


posted on 2023-01-12 16:06  osnosn  阅读(36761)  评论(1编辑  收藏  举报