Advanced OpenWrt LuCI app for AdGuard Home
Download .ipk
from Releases
- AdGuard Home service port management
- Download/update core in LuCI interface (supports custom URL download)
- For
.tar.gz
files, the file structure must match the official one - Or directly use the main program binary
- For
- Compress core with
upx
(xz
dependency, the script will auto download if needed. Ifopkg
source can't connect, please include this package during compilation) - DNS redirection methods:
- As the upstream of
dnsmasq
(IP in AdGuard Home statistics will show as127.0.0.1
, unable to track clients and adjust settings accordingly,ssr-plus
works normally) - Redirect port 53 to AdGuard Home (IPv6 needs additional IPv6 NAT redirect, or if client uses IPv6 the redirect may be invalid;
ssr-plus
will fail if not usingdnsmasq
as upstream) - Replace
dnsmasq
with port 53 (needs AdGuard Home configuration withdnsip=0.0.0.0
, ports ofdnsmasq
and AdGuard Home will be exchanged,ssr-plus
will fail if not usingdnsmasq
as upstream)
- As the upstream of
- Customization options:
- Customize executable file path (supports
/tmp
, auto redownload after reboot) - Customize config file path
- Customize work directory
- Customize runtime log path
- Customize executable file path (supports
- GFWList query to specific DNS server. Also check out luci-app-autoipsetadder
- Modify AdGuard Home login password
- View/delete/backup runtime log in positive/reverse order with 3-second updates + local browser timezone conversion
- Manual configuration:
- YAML editor support
- Templates for fast configuration
- File preservation during system upgrades
- Waits for network access at boot (3min timeout, mainly to prevent filter update failure)
- Workdir backup on shutdown (Note: backup also triggers during IPK updates)
- Scheduled tasks (default values, time and parameters adjustable in scheduler):
- Auto update core (use with caution) -
3:30/day
- Auto truncate query log (hourly, limit to 2000 lines)
- Auto truncate runtime log (
3:30/day
, limit to 2000 lines) - Auto update IPv6 hosts and restart AdGuard Home (hourly, no restart if no updates)
- Auto update GFW list and restart AdGuard Home (
3:30/day
, no restart if no updates)
- Auto update core (use with caution) -
- Database doesn't support filesystems that don't support
mmap
(such asjffs2
anddata-stk-oo
). Please modify work directory; ifjffs2
is detected, the app will automatically create soft links (ln
) for the databases to/tmp
, but DNS database will be lost after reboot - If you find many localhost queries from
127.0.0.1
, the DDNS plugin might be the cause. If you don't use DDNS, please remove or comment out/etc/hotplug.d/iface/95-ddns
. For other abnormal queries from the local machine, advanced users can use kmod-plog-port to diagnose
- Download release and install with
opkg
- Or when building OpenWrt, clone the code to package path and set as
y
orm
Memory and space usage when using upx
compression on the jffs2
compressed filesystem (unit: KB, using best compression):
File size:
- Source file:
14112
→ Afterupx
compression:5309
- Actual usage:
6260
→ Afterupx
compression:5324
(Difference:936
)
VmRSS memory usage:
- Without compression:
14380
→ Afterupx
compression:18496
(Difference:-4116
)
For compressed filesystems, compression benefits exist but aren't significant.
For non-compressed filesystems, the performance-to-cost ratio is quite high.
Compression trades RAM for ROM space - enable it if you consider it worthwhile.
- GFW Proxy: DNS redirect - as
dnsmasq
's upstream server - GFW Proxy: Manually set AdGuard Home upstream DNS to
127.0.0.1:[your listening port]
, then use DNS redirect - use port 53 to replacednsmasq
(after port exchange,dnsmasq
becomes the upstream) - Foreign IP Proxy: Any redirect method - add GFW list to AdGuard Home, enable scheduled task to update GFW regularly
- GFW Proxy: DNS redirect - redirect port 53 to AdGuard Home, set AdGuard Home upstream DNS to
127.0.0.1:53