Skip to content
nufegiaPublic

About

CLI tool for the ZTE U60 Pro mobile hotspot

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

u60p-cli

CLI tool for the ZTE U60 Pro mobile hotspot (随身 WiFi). Read commands support --json for AI agent consumption.

Tested on macOS. Requires Python 3.9+.

Install

chmod +x install.sh && ./install.sh

This installs Python dependencies for your user account and copies bin/u60p-cli to ~/.local/bin/u60p-cli. To install the executable elsewhere:

PREFIX=/usr/local/bin ./install.sh

Make sure ~/.local/bin is in your PATH. If not, add this to ~/.zshrc:

export PATH="$HOME/.local/bin:$PATH"

Usage

First, save your router password:

u60p-cli config --password "your-admin-password"

The password is stored locally in a config file readable only by your user account.

Then run any command:

u60p-cli status                # Human-readable dashboard
u60p-cli status --json         # JSON for AI agents
u60p-cli clients               # Connected devices
u60p-cli clients --json        # JSON device list
u60p-cli wifi show             # WiFi config per band
u60p-cli usage                 # Data usage stats
u60p-cli network               # Network / signal / operator
u60p-cli device info           # IMEI / IMSI / ICCID
u60p-cli device reboot         # Restart (asks for confirmation)
u60p-cli config --show         # View saved config
u60p-cli version               # Show CLI version

JSON output

Every read command accepts --json. Output goes to stdout as valid JSON. Example for an AI agent:

u60p-cli status --json | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['network']['signalbar'])"

Configuration

Stored at ~/.config/u60p-cli/config.json with file mode 0600:

{"router_ip": "192.168.0.1", "password": "your-password"}

Change the router IP if yours is different:

u60p-cli config --router-ip 192.168.1.1
u60p-cli config --password "your-password"

Requirements

  • Python 3.9+
  • Dependencies: click, httpx, rich (listed in requirements.txt and installed by install.sh)
  • Network access to the router (default 192.168.0.1)

Supported devices

  • ZTE U60 Pro (MU5250, UFI, PASSWORD_ENCODE_SHA256=2 firmware)
  • Other ZTE hotspots sharing the same zwrt_web / ubus API may work

How it works

The router runs an OpenWRT-based system exposing a JSON-RPC 2.0 API at /ubus/. Authentication: SHA256(SHA256(password) + salt). Session tokens are valid for 300 seconds and auto-refreshed.

Key API endpoints:

Module Method Used by
zwrt_web web_login_info, web_login Authentication
zte_nwinfo_api nwinfo_get_netinfo status, network
zwrt_data get_wwandst status, usage
zwrt_zte_mdm.api get_sim_info status, device info
zwrt_wlan iface_report, report status, wifi show
zwrt_router.api router_wireless_access_list clients
zwrt_router.api router_get_user_list_num clients
zwrt_mc.device.manager device_reset device reboot

AI agent integration

A skill file is provided for Claude Code and Codex. Point your agent to skills/u60p-cli/SKILL.md to teach it how to use this CLI.

License

MIT

About

CLI tool for the ZTE U60 Pro mobile hotspot

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages