ExtremeFiretop
Very Senior Member
Hello SNB Community,
-ORIGINAL THREAD CLOSED DUE TO AGE HERE:
https://www.snbforums.com/threads/m...-auto-updater-thread-closed-due-to-age.88577/
This project is hosted on our GitHub
Changelog and release notes: Here
Summery:
We're pleased to RE-introduce the add-on for Asuswrt-Merlin: MerlinAU (Merlin AutoUpdate).
MerlinAU.sh is a versatile shell script designed to automate the firmware update process for ASUS routers running Asuswrt-Merlin firmware.
This tool is designed to streamline the firmware update procedure by automatically detecting your router model, fetches the latest firmware, and offers options for installation making your router maintenance simpler and smoother than ever.
What's MerlinAU All About?
MerlinAU is a sophisticated and comprehensive script designed for Asus routers running Asuswrt-Merlin firmware.
It's a collaborative effort by @ExtremeFiretop (myself) and @Martinski W. It offers an extensive range of features:
What update mechanism does MerlinAU use to Auto-Update?
MerlinAU actually implements a curl update mechanism. Curl can simulate almost all behaviors of the browser through get/post.
While hnd-write is unsafe and unpredictable, we instead use curl to simulate a browser for the router to upload the firmware through it's own GUI, which is the safest way. As discussed on the forums in length here.
Essentially the router logins to it's own WebUI like a person does, and uploads the firmware through the WebUI.
Doing this insures that the firmware checks done by the router when uploading a firmware via the webUI are not skipped, and the router can follow it's regular update process from there.
This has been tested extensively on the following devices since 388.4
How to Get MerlinAU
AVAILABLE THROUGH AMTM!
MerlinAU is also available for download on our GitHub repository here: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router
Installation and update information are provided on the same github page.
For any questions please visit our FAQ on Github here
PLEASE READ ALL THE DETAILS AND BACKUP BEFORE STARTING!
Post-Install Notes for MerlinAU Users
For any additional questions the FAQ was moved to Github here: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router/wiki before posting.
We're eager to hear your feedback and experiences with MerlinAU. Your suggestions and comments are invaluable in making MerlinAU even better!
MerlinAU is available under the GNU General Public License version 3 (GPL-3.0).
## Contribution
- Before any contributions, please review: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router/blob/main/CONTRIBUTING.md
- Also please review the: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router/blob/main/CODE_OF_CONDUCT.md
Thank you, and enjoy a hassle-free firmware updating experience with MerlinAU!
-ORIGINAL THREAD CLOSED DUE TO AGE HERE:
https://www.snbforums.com/threads/m...-auto-updater-thread-closed-due-to-age.88577/
This project is hosted on our GitHub
Changelog and release notes: Here
Summery:
We're pleased to RE-introduce the add-on for Asuswrt-Merlin: MerlinAU (Merlin AutoUpdate).
MerlinAU.sh is a versatile shell script designed to automate the firmware update process for ASUS routers running Asuswrt-Merlin firmware.
This tool is designed to streamline the firmware update procedure by automatically detecting your router model, fetches the latest firmware, and offers options for installation making your router maintenance simpler and smoother than ever.
What's MerlinAU All About?
MerlinAU is a sophisticated and comprehensive script designed for Asus routers running Asuswrt-Merlin firmware.
It's a collaborative effort by @ExtremeFiretop (myself) and @Martinski W. It offers an extensive range of features:
- Automatic router model detection and Automatic update detection.
- Automatically install updates to your router with the latest firmware from the Asuswrt-Merlin repository.
- Logic to customize scheduled cron jobs for automated firmware update checks.
- Notifications for new MerlinAU updates and download the latest version of MerlinAU
- User configurable wait periods. Wait for a set duration after a new firmware release.
- Menu switch to enable or disable automatic update checking within MerlinAU.
- A routine to cleanly uninstall the script, removing all related files and settings.
- Maintains logs for its update checks and flash operations which can be viewed from the logs menu
- Includes functions for cleanup tasks pre-flash and post-flash.
- A visual indicator before starting the firmware update.
- Checks the changelogs for very obvious red flags and prompts for approval.
- Menu option and notifications to pre-approve the changelog verification if enabled with risks before the flash.
- Ability to download the latest changelog notes for manual review from the logs menu.
- Functions to check and manage available memory for firmware update operations.
- Compatible with ROG and non-ROG routers; select ROG or Pure Build for ROG routers.
- Backup the new firmware version to the USB drive. (If USB is selected for storage)
- Email notifications if you configured email options in AMTM.
- Automatic backup with BACKUPMON if installed.
- Allow or Block Alpha/Beta upgrades to Production versions of the same cycle. (388.6.alpha1 or 388.6.beta1 --> 388.6.0)
- Automatically stops all Entware services before the flash if running.
- Automatically stops diversion if installed and running before the flash.
- Unmounts any physically attached storage via USB as the last step before the flash.
- AiMesh Node Update Check from Primary Router. (No Flashing from Primary, MerlinAU needs to be on each node for flashing)
- Automatically remove any loaded cron jobs from third party scripts.
- Menu switch to keep Tailscale or ZeroTier VPN access active while flashing over SSH in the advanced menu.
What update mechanism does MerlinAU use to Auto-Update?
MerlinAU actually implements a curl update mechanism. Curl can simulate almost all behaviors of the browser through get/post.
While hnd-write is unsafe and unpredictable, we instead use curl to simulate a browser for the router to upload the firmware through it's own GUI, which is the safest way. As discussed on the forums in length here.
Essentially the router logins to it's own WebUI like a person does, and uploads the firmware through the WebUI.
Doing this insures that the firmware checks done by the router when uploading a firmware via the webUI are not skipped, and the router can follow it's regular update process from there.
This has been tested extensively on the following devices since 388.4
SUPPORTED MERLIN MODELS: (Multi-image models) - i.e. Any model that uses a .w or a .pkgtb file
- GT-BE98_PRO (Tested)
- GT-AX6000 (Tested)
- GT-AXE16000 (Tested)
- GT-AX11000 (Tested)
- GT-AXE11000 (Tested)
- GT-AX11000_PRO (Tested)
- GT-AC2900 (Untested)
- RT-BE96U (Untested)
- RT-BE88U (Untested)
- RT-BE86U (Untested)
- RT-AX88U_PRO (Tested)
- RT-AX88U (Tested)
- RT-AC86U (Tested)
- RT-AC2900 (Tested)
- RT-AX86U (Tested)
- RT-AX86U_PRO (Tested)
- RT-AX86S (Tested)
- RT-AX68U (Tested)
- RT-AX58U V1 (Tested)
- RT-AX56U (Tested)
- RT-AX3000 V1 (Tested)
- XT12 (Tested)
SUPPORTED GNUTON MODELS (Multi-image models) - i.e. Any model that uses a .w or a .pkgtb file
- GT-BE98 Known issues due to missing from manifest2.txt file in Gnuton
- DSL-AX82U (Untested)
- TUF-AX3000 V1 (Untested)
- TUF-AX3000 V2 (Tested)
- TUF-AX5400 (Tested)
- RT-AX5400 (Untested)
- RT-AX82U V1 (Tested)
- RT-AX82U V2 (Untested)
- RT-AX58U V2 (Untested)
- RT-AX92U (Tested)
- RT-AX95Q (Untested)
- RT-AXE95Q (Untested)
UNSUPPORTED MERLIN MODELS: (Single image models) - i.e. Any model that uses a .trx file
Blocked due to being single image models.- RT-AC87U (Blocked)
- RT-AC56U (Blocked)
- RT-AC66U (Blocked)
- RT-AC3200 (Blocked)
- RT-AC88U (Blocked)
- RT-AC5300 (Blocked)
- RT-AC3100 (Blocked)
- RT-AC68U (Blocked)
- RT-AC66U_B1 (Blocked)
- RT-AC68UF (Blocked)
- RT-AC68P (Blocked)
- RT-AC1900 (Blocked)
- RT-AC1900P (Blocked)
- RT-N66U (Blocked)
- RT-N16 (Blocked)
UNSUPPORTED GNUTON MODELS: (Single image models) - i.e. Any model that uses a .trx file
Blocked due to being single image models.- DSL-AC68U (Blocked)
How to Get MerlinAU
AVAILABLE THROUGH AMTM!
MerlinAU is also available for download on our GitHub repository here: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router
Installation and update information are provided on the same github page.
For any questions please visit our FAQ on Github here
PLEASE READ ALL THE DETAILS AND BACKUP BEFORE STARTING!
Post-Install Notes for MerlinAU Users
- Confirm your entered crons with Crontab.guru here: https://crontab.guru/ and review the below FAQ questions in the second post.
- After installing or updating MerlinAU, it's recommended to review the new settings and adjust them as per your preference.
- If using a USB drive for firmware storage, ensure it's properly connected and mounted.
For any additional questions the FAQ was moved to Github here: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router/wiki before posting.
We're eager to hear your feedback and experiences with MerlinAU. Your suggestions and comments are invaluable in making MerlinAU even better!
MerlinAU is available under the GNU General Public License version 3 (GPL-3.0).
## Contribution
- Before any contributions, please review: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router/blob/main/CONTRIBUTING.md
- Also please review the: https://github.com/ExtremeFiretop/MerlinAutoUpdate-Router/blob/main/CODE_OF_CONDUCT.md
Thank you, and enjoy a hassle-free firmware updating experience with MerlinAU!
Last edited: