8000 GitHub - stevenjoezhang/luci-app-adguardhome: Maybe the best AdGuard Home LuCI app for OpenWRT
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

stevenjoezhang/luci-app-adguardhome

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

luci-app-adguardhome

Advanced OpenWrt LuCI app for AdGuard Home

中文README

Download .ipk from Releases

Features

  • 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
  • Compress core with upx (xz dependency, the script will auto download if needed. If opkg 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 as 127.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 using dnsmasq as upstream)
    • Replace dnsmasq with port 53 (needs AdGuard Home configuration with dnsip=0.0.0.0, ports of dnsmasq and AdGuard Home will be exchanged, ssr-plus will fail if not using dnsmasq as upstream)
  • Customization options:
    • Customize executable file path (supports /tmp, auto redownload after reboot)
    • Customize config file path
    • Customize work directory
    • Customize runtime log path
  • 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)

Known Issues

  • Database doesn't support filesystems that don't support mmap (such as jffs2 and data-stk-oo). Please modify work directory; if jffs2 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

Usage

  • Download release and install with opkg
  • Or when building OpenWrt, clone the code to package path and set as y or m

About Compression

Memory and space usage when using upx compression on the jffs2 compressed filesystem (unit: KB, using best compression):

File size:

  • Source file: 14112 → After upx compression: 5309
  • Actual usage: 6260 → After upx compression: 5324 (Difference: 936)

VmRSS memory usage:

  • Without compression: 14380 → After upx 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.

SSR Combination Methods

  1. GFW Proxy: DNS redirect - as dnsmasq's upstream server
  2. GFW Proxy: Manually set AdGuard Home upstream DNS to 127.0.0.1:[your listening port], then use DNS redirect - use port 53 to replace dnsmasq (after port exchange, dnsmasq becomes the upstream)
  3. Foreign IP Proxy: Any redirect method - add GFW list to AdGuard Home, enable scheduled task to update GFW regularly
  4. GFW Proxy: DNS redirect - redirect port 53 to AdGuard Home, set AdGuard Home upstream DNS to 127.0.0.1:53

Screenshots

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 AdGuard Home LuCI app for OpenWRT

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 49.3%
  • Lua 31.1%
  • HTML 17.4%
  • Makefile 2.2%
0