Script: GL.iNet Utils for GL.iNet routers

Building on the successful OpenSpeedTest script, I present a new utilities script for GL.iNet routers.

Features

  • :desktop_computer: Deep Hardware Insights – Total visibility into your CPU, RAM, and storage. Includes paged navigation for network interfaces and wireless radio details (Link speeds, MIMO, Channel bandwidth).

  • :shield: VPN Crypto Audit – Instantly verify if your hardware acceleration (AES-CE, NEON) is active at the kernel level for optimized OpenVPN and WireGuard performance.

  • :hammer_and_wrench: AdGuardHome Control Center – A central hub to toggle the service, manage/enable UI updates, and bulk manage a pre-set list of blocklists and allowlists. Manage persisting AdGuardHome updates through firmware updates.

  • :sos_button: Fail-Safe Recovery – "Industrial" self-healing logic. If your AGH binary or init scripts are corrupted, the script pulls pristine copies directly from the device's /rom to restore functionality.

  • :package: Surgical Backups for AdGuardHome – Precision-tracked AdGuardHome backups. Create, manage, and restore configurations, binaries, and init scripts with automated timestamping and integrity checks.

  • :floppy_disk: Zram Swap Management – Essential for lower-RAM travel routers like the Beryl 7. Easily install and tune compressed RAM swap to prevent out-of-memory crashes.

  • :bar_chart: Performance Benchmarks – Real-world testing including stressing CPU cycles, OpenSSL throughput, raw Disk and Memory I/O speeds, and DNS throughput compared to a Beryl 7 baseline.

  • :clipboard: Secure UCI Viewer – Quick, read-only access to your system config. Audit SSIDs, Wi-Fi keys, VPN tunnels, and GoodCloud settings without digging through the CLI.

  • :rocket: OpenSpeedTest Integration - Automated download and deployment of the OpenSpeedTest server script for optimized local network speed diagnostics.

  • :counterclockwise_arrows_button: Native Self-Updater – Stay current with zero effort. The script checks GitHub on launch and can perform an in-place update.

  • :free_button: GPL-3.0 Licensed – Free, open, and community-driven.

Tested on various GL.iNet models (Beryl, Beryl AX, Beryl 7, Slate 7, Flint 3, Flint 3e, etc.) running recent firmware.


:rocket: Installation

  1. SSH into your GL.iNet router:
ssh [email protected]

  1. Download the script:
wget -O glinet_utils.sh https://raw.githubusercontent.com/phantasm22/GL-iNet_utils/main/glinet_utils.sh && chmod +x glinet_utils.sh

  1. Run the script:
./glinet_utils.sh


4 Likes

Thank you for your contribution and for sharing!

That is awesome, I think this integrated script is very helpful for troubleshooting some issues.

3 Likes

New features added:

  • Real time monitoring:
    • Uptime
    • Load Average
    • CPU temperature
    • Fan speed
    • Used RAM
    • Free disk space

Located on page 1 of the hardware information page.

1 Like

Thanks a lot for the script.

On Flint2 4.8.3-op24 I get this error:

┌────────────────────────────────────────────────┐
│ CPU Thermal Stress Test │
└────────────────────────────────────────────────┘

:warning: stress not found, installing...
:cross_mark: Failed to install stress

Press any key to continue...

Changed the script to stress-ng and it works. Maybe you can add a check and install stress-ng if needed :wink:

Thanks for the feedback. On gl firmware releases, there seems to be a bug with dependencies installing stress-ng that can cause the router to crash. I’ve added stress-ng as a backup in case stress package has been removed from the packages list. It’s good to know that stress-ng works on your setup. Please let me know if you find any other bugs.

2 Likes

Working great now :wink:

1 Like

I tweaked the UI for the benchmarks bringing some common UI elements across the benchmarks. Also added a new feature to install the Ookla Speedtest binary. Check it out.

2 Likes

Looking great :wink: Thanks!

Why would you need to stress test the cpu so much?

Mine stays at 50C at idle​:sob:

I have a fan on mine :smiley:

3 Likes