Skip to content

MarsGao/luci-app-adguardhome

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

luci-app-adguardhome

复杂的AdGuardHome的openwrt的luci界面

  • 可以管理网页端口
  • luci下载/更新核心版本(支持自定义链接下载)
    • 如果为tar.gz文件需要与官方的文件结构一致
    • 或者直接为主程序二进制
  • upx 压缩核心(xz依赖,脚本自动下载)
  • dns重定向
    • 作为dnsmasq的上游服务器(在AGH中统计到的ip都为127.0.0.1,无法统计客户端及对应调整设置,ssr-plus正常)
    • 重定向53端口到 AdGuardHome(ipv6需要开启ipv6 nat redirect 否则如果客户端使用ipv6过滤无效,不以dnsmasq为上游ssr-plus失效)
    • 使用53端口替换 dnsmasq(需要设置AGH的dnsip为0.0.0.0, AGH和dnsmasq的端口将被交换,不以dnsmasq为上游ssr-plus失效)
  • 自定义执行文件路径(支持tmp,每次重启后自动下载bin)
  • 自定义配置文件路径
  • 自定义工作路径
  • 自定义运行日志路径
  • gfwlist 删除/添加/定义上游dns服务器
  • 修改网页登陆密码
  • 倒序/正序 查看/删除/备份 每3秒更新显示运行日志 本地浏览器时区转换
  • 手动修改配置文件
    • 支持yaml编辑器
    • 模板快速配置
  • 系统升级保留程序和配置(查询日志和数据库可选保留)
  • 开机启动时等待网络准备延迟启动(3分钟超时)
  • 关机时备份勾选的工作目录中的文件(须知:在ipk更新的时候也会触发备份)
  • 计划任务(以下为默认值,时间和参数可以在计划任务中调整)
    • 自动更新核心(最好谨慎使用)(3:30/天)
    • 自动截短查询日志 (每小时 限制到2000行)
    • 自动截短运行日志(3:30/天 限制到2000行)
    • 自动更新ipv6主机并重启adh (每小时,无更新不重启)
    • 自动更新gfw列表并重启adh (3:30/天,无更新不重启)

已知问题:

  • db数据库不支持放在不支持mmap的文件系统上比如 jffs2 data-stk-oo,请修改工作目录,本软件如果检测到jffs2会自动ln(软连接)到/tmp,将会导致重启丢失dns数据库
  • AdGuardHome 不支持ipset 设置,在使用ipset的情况下,无法替代dnsmasq只能作为dnsmasq上游存在,如果你想要这个功能就去投票吧
    AdguardTeam/AdGuardHome#1191
  • 反馈出现大量127.0.0.1查询了localhost的请求,问题出现原因是ddns插件,如果不用ddns插件,请删除或者注释掉\etc\hotplug.d\iface\95-ddns的内容,如果还有其他来自本机的异常查询情况,高级玩家可以使用kmod来查找原因https://github.com/rufengsuixing/kmod-plog-port

使用方法

  • 下载release,使用opkg安装即可
  • 或者编译op时clone本项目加入软件包并勾选

关于压缩

本着较真的想法,我测试了在jffs2的压缩文件系统上进行upx压缩结果的内存占用与空间占用(单位kb,使用最好压缩)
文件大小
源文件 14112 使用upx 压缩后 5309
实际占用 6260 使用upx 压缩后 5324 差值为 936
VmRSS运存占用值
不压缩 14380 使用upx 压缩后 18496 差值 -4116
对于压缩文件系统来说开启收益有,但不大
如果是非压缩文件系统,性价比还是比较高的
所以压缩是用运存空间来换rom空间,觉得值得就可以开启

项目已经基本稳定,有bug欢迎主动反馈

Complex openwrt AdGuardHome luci

  • can manage browser port
  • download/update core in luci
  • compress core with upx
  • redirect dns
    • as the upstream of dnsmasq
    • redirect port 53 to AdGuardHome(ipv6 need to install ipv6 nat redirect or if client use ipv6 redirect is invalid)
    • replace dnsmasq with port 53 (need to set AGH,dnsip=0.0.0.0,the port of dnsmasq and AGH will be exchange)
  • change bin path
  • change config path
  • change work dir(support tmp,auto redownload after reboot)
  • change runtime log path
  • gfwlist query to specific dns server
  • modify browser login passord
  • Positive/reverse order see/del/backup runtime log which update every 3 second
  • modify config manually(support yaml editor)
  • use template to fast config(when no config file)
  • Keep bin file and config when system upgrade (database and querylog can be choose)
  • when boot wait for network access (3min timeout)
  • backup workdir when shutdown

known issues:

  • db database not support filesystem which not support mmap such as jffs2 and data-stk-oo,please modify work dir,if jffs2 is found,will auto ln (soft link)the dbs to /tmp ,will lost dns database after reboot
  • AdGuardhome not support ipset,when we use ipset ,it can`t be the repacement of dnsmasq but the upstream of dnsmasq ,if you want it,vote for it.
    AdguardTeam/AdGuardHome#1191
  • find so many localhost query from 127.0.0.1,the ddns plugin is the reason,if you don`t use ddns, please remove or comment \etc\hotplug.d\iface\95-ddns

usage

  • download release,install it with opkg
  • or when make op,clone the code to the package path and set it as y or m

pic

example in zh-cn:
Screenshot_2019-12-23 newifi-d1 - 基础设置 - LuCI 图片 Screenshot_2019-12-23 newifi-d1 - 日志 - LuCI(1) Screenshot_2019-12-23 newifi-d1 - 手动设置 - LuCI

About

maybe the best AdGuardHome luci for openwrt

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 47.9%
  • Lua 29.1%
  • HTML 20.2%
  • Makefile 2.8%