zltrouter
The router's stock web UI is slow: several taps and a page reload to answer one question (did the signal actually move?), and nothing you can pipe into a terminal or check from your phone.
So I read the device's own served JavaScript and worked out its undocumented JSON API: the reqproc/proc_get and proc_post endpoints, a nonce-salted SHA-256 login, and the CSRF token dance behind every write. That became a small Click CLI covering status, network mode, SMS, and USSD, with raw passthroughs for anything not first-classed, and a guard that refuses to spend your last login attempt before the router locks you out.
A FastAPI dashboard sits on the same client for what a one-shot command can't do: a pinned signal meter with rolling 15-minute RSRP history for walking the router around the house, the SMS inbox, interactive USSD menus, and a browser-side speed test that measures the device you opened it on. It installs as a user service (systemd, LaunchAgent, or Task Scheduler) and serves zero CDN assets, so it still works when the router's LAN is your only network.
- →Signal, band, SNR, and network mode from a single command
- →Live dashboard with rolling 15-minute RSRP walk-test history
- →SMS inbox, sending, mark-read and delete; interactive USSD menus
- →Lockout guard that refuses to spend the last login attempt