Keep AdGuard Home up-to-date on your GL.iNet router with ease!
If you find this tool helpful, consider supporting its development:
This script automatically fetches and installs the latest AdGuard Home version, optimized specifically for GL.iNet routers. Keep your AdGuard Home installation current with just one command!
Created by Admon for the GL.iNet community. Tested on nearly all GL.iNet routers with firmware 4.x.
ποΈ Community Maintained β Part of the GL.iNet Toolbox project
β οΈ Independent Project β Not officially affiliated with GL.iNet or AdGuard
- π Automatic Updates β Fetches and installs the latest AdGuard Home version
- π¦ Tiny Version Support β Uses pre-compressed binaries optimized for GL.iNet routers (6 MB vs 32 MB)
- π― Version Selection β Install specific AdGuard Home versions
- πΎ Query Logging Control β Optionally enable query logging to file
- π Persistence Support β Make installations survive firmware upgrades
- π‘οΈ Safe Backups β Automatic backup of original files before updates
- β‘ Flexible Options β Multiple flags for customized installations
| Requirement | Details |
|---|---|
| Router | GL.iNet router with firmware 4.x (including MT-6000 Flint 2 and GL-BE9300 Flint 3) |
| Free Space | At least 15 MB (can be bypassed with --ignore-free-space) |
| AdGuard Home | Pre-installed via GL.iNet firmware (deeply integrated) |
Run the updater without cloning the repository:
wget -q https://get.admon.me/adguard -O update-adguardhome.sh ; sh update-adguardhome.sh
β οΈ Important: Do not run this script as a cron job! Manual execution is recommended.
The update-adguardhome.sh script supports the following arguments:
| Argument | Description |
|---|---|
--ignore-free-space |
Bypasses the free space check and disables backup creation. Use with caution on low-storage devices! |
--select-release |
Displays available releases and lets you choose a specific version to install. |
Update to the latest stable release:
wget -q https://get.admon.me/adguard -O update-adguardhome.sh ; sh update-adguardhome.shInstall a specific AdGuard Home version:
wget -q https://get.admon.me/adguard -O update-adguardhome.sh ; sh update-adguardhome.sh --select-releaseThe script will display available releases for you to choose from.
For devices with limited free space (
wget -q https://get.admon.me/adguard -O update-adguardhome.sh ; sh update-adguardhome.sh --ignore-free-space
β οΈ Warning: This disables safety checks and backup creation. Could potentially break your router if there's not enough free space!
By default, the script uses pre-compressed AdGuard Home binaries that:
- πΉ Save significant storage space (6 MB vs 32 MB)
- πΉ Are optimized specifically for GL.iNet routers
- πΉ Maintain full functionality
- πΉ Are recommended for all GL.iNet devices
By default, AdGuard Home on GL.iNet routers disables query logging to file to:
- πΉ Prevent running out of storage space
- πΉ Prevent flash memory wear
- πΉ Optimize performance
The script will ask if you want to enable query logging after the update.
Enable query logging to file:
sed -i '/^querylog:/,/^[^ ]/ s/^ file_enabled: .*/ file_enabled: true/' /etc/AdGuardHome/config.yaml
/etc/init.d/adguardhome restartDisable query logging to file:
sed -i '/^querylog:/,/^[^ ]/ s/^ file_enabled: .*/ file_enabled: false/' /etc/AdGuardHome/config.yaml
/etc/init.d/adguardhome restartThe script offers to make the installation persistent across firmware upgrades by:
- β
Adding necessary files to
/etc/sysupgrade.conf - β
Setting up automatic update checks via
/etc/rc.local - β Preserving your AdGuard Home configuration and settings
β οΈ Important: Factory reset will NOT revert persistent installations!
Since AdGuard Home is deeply integrated into GL.iNet firmware, reverting changes requires manual steps. Factory reset will NOT revert changes if you made the installation persistent!
-
Remove the update check script from startup:
sed -i '/enable-adguardhome-update-check/d' /etc/rc.local -
Remove the update check script:
rm /usr/bin/enable-adguardhome-update-check
-
Remove persistence entries from
/etc/sysupgrade.conf:/root/AdGuardHome_backup.tar.gz/etc/AdGuardHome/usr/bin/AdGuardHome/usr/bin/enable-adguardhome-update-check/etc/rc.local
-
Stop AdGuard Home:
/etc/init.d/adguardhome stop
-
β οΈ Reset configuration (removes all settings and blocklists!):rm -rf /etc/AdGuardHome
-
Start AdGuard Home:
/etc/init.d/adguardhome start
A backup of the original files is located at /root/AdGuardHome_backup.tar.gz (if created).
If issues persist after manual revert, you can restore AdGuard Home to its original state by re-flashing the firmware.
Need assistance or have questions?
- π¬ Join the discussion on GL.iNet Forum β Community support
- π¬ Join GL.iNet Discord β Real-time chat
- π Report issues on GitHub β Bug reports and feature requests
- π§ Contact via forum private message β For private inquiries
This script is provided as-is without any warranty. Use it at your own risk.
It may potentially:
- π₯ Break your router, computer, or network
- π₯ Cause unexpected system behavior
- π₯ Even burn down your house (okay, probably not, but you get the idea)
You have been warned!
Always read the documentation carefully and understand what a script does before running it.
Special thanks to:
- All the testers and feedback providers in the GL.iNet forum!
- Copilot β Yeah, I am using AI to help write code. But I review and test everything thoroughly!
Want to contribute? Pull requests are welcome!
This project is proudly supported by:
Termius - The SSH client that works everywhere
Termius provides powerful SSH client solutions for developers and system administrators. Perfect for managing your GL.iNet router and other infrastructure from anywhere.
This project is licensed under the MIT License β see the LICENSE file for details.
This project is part of a comprehensive collection of tools for GL.iNet routers.
Explore more tools and utilities:
Discover Tailscale Updater, ACME Certificate Manager, and more community-driven projects!
Made with β€οΈ by Admon for the GL.iNet Community
β If you find this useful, please star the repository!