jesther-ai/open-u60-pro

GitHub: jesther-ai/open-u60-pro

该项目是面向中兴 U60 Pro 5G 路由器的开源全栈管理工具包,通过轻量 Rust 代理和原生移动应用替代臃肿且带有遥测的官方管理栈,实现对路由器的深度管控。

Stars: 33 | Forks: 10

Dashboard  Signal Monitor  Router Settings

# ZTE U60 Pro 工具包 **解锁您的 ZTE U60 Pro (MU5250) 5G 移动路由器的全部潜力。** 设备端 REST 代理 + 原生移动配套应用,用于信号监控、频段锁定、 配置备份/解密、网络自定义等。 [![Rust](https://img.shields.io/badge/rust-stable-orange.svg)](https://www.rust-lang.org/) [![Platform](https://img.shields.io/badge/device-ZTE%20U60%20Pro%20(MU5250)-orange.svg)]() [![Qualcomm](https://img.shields.io/badge/chipset-Snapdragon%20X75-red.svg)]() [![OS](https://img.shields.io/badge/firmware-ZWRT%20(OpenWrt%2023.05)-green.svg)]() [![Website](https://img.shields.io/badge/website-open--u60--pro.vercel.app-blue.svg)](https://open-u60-pro.vercel.app)
## 设备 | | | |---|---| | **型号** | ZTE U60 Pro (MU5250) | | **硬件** | `MU5250_HW1.0` | | **固件** | `CN_ZTE_MU5250V1.0.0B27` (2025年10月31日) | | **芯片组** | Qualcomm Snapdragon X75 (SDX75 / SDXPINN) | | **CPU** | 4x Cortex-A55 (ARMv8.2-A) @ 2.2 GHz | | **RAM** | 1.6 GB | | **存储** | 8 GB eMMC (Longsys JS08AC), 69 个分区, A/B 插槽 | | **Modem** | 5G-A Sub-6 + mmWave, Cat 22 LTE | | **NR 频段** | n1/2/3/5/7/8/18/20/26/28/29/38/40/41/48/66/71/75/77/78/79 | | **LTE 频段** | 1/2/3/4/5/7/8/18/19/20/26/28/29/32/34/38/39/40/41/42/43/48/66/71 | | **WiFi** | WiFi 7 (802.11be), 2x2 MIMO, EHT160 | | **WiFi 芯片组** | Qualcomm WCN7851 (`qcacld32`) | | **WiFi 射频** | 2.4 GHz (ch 1-13, EHT40, 19 dBm) · 5 GHz (ch 36-165, EHT160, 18 dBm) | | **电池** | 10,000 mAh 锂离子, 4.5V 最大值, PM7550B 电量计 | | **充电** | USB-PD, 15W (5V/3A), 快充 | | **USB** | USB-C (PD sink, OTG/充电宝) | | **显示屏** | 3.5" IPS LCD (Sitronix ST77926), 320x480, RGB565, DRM/KMS | | **UI 工具包** | LVGL 配合 FreeType + LodePNG, 资源位于 `/usr/ui/` | | **背光** | AWINIC AW9523B (I2C `1-005b`), sysfs `/sys/class/leds/led:lcd/brightness` (0-255) | | **触摸** | Sitronix (I2C `1-0055`) -> `/dev/input/event3` | | **OS** | ZWRT (OpenWrt 23.05.4 r24012-d8dd03c46f) | | **内核** | Linux 5.15.170-perf, SMP PREEMPT, aarch64 | | **PMIC** | PMX75 + PM7550BA + PMG1110 | | **SIM** | 单 nano-SIM (无 eSIM) | | **NFC** | 快速设备配对 | | **蓝牙** | Qualcomm WCN7850 (BT 5.3+), UART 传输 — 已禁用 (服务已停止, 模块已卸载) | | **客户端** | 最多 64 个 (每个射频 32 个) | ## 包含内容 ### 设备端代理 (`zte-agent`) ``` # 为设备交叉编译 cargo build --release --target aarch64-unknown-linux-musl -p zte-agent ``` **涵盖 16 个类别的 143 个 endpoint:** | 类别 | # | 功能 | |---|---|---| | 设备 | 14 | 系统信息, 电池, CPU, 内存, 散热, 充电器, 充电控制, 重启, 恢复出厂设置, 省电 | | 网络 | 9 | 信号强度 (RSRP/SINR/RSRQ), 速度, 流量统计, WAN/LAN 状态, rmnet, 已连接客户端 | | Modem | 12 | 飞行模式, 移动数据开关, 网络模式 (2G-5G), 运营商扫描, 手动注册 | | SMS | 5 | 列表, 发送, 删除, 标记已读, 存储容量 | | SIM | 7 | SIM 信息, IMEI, PIN 管理, PUK 解锁 | | 小区/频段 | 19 | NR/LTE 频段锁定, 小区锁定, 邻区扫描, STC, 信号质量检测 | | 路由器 | 29 | DNS, LAN/DHCP, 防火墙, NAT, DMZ, UPnP, 端口转发, QoS, 域名过滤, APN 配置, VPN/ALG | | WiFi | 4 | 状态, SSID/密码/信道/TX 功率, 访客 WiFi | | USB | 3 | USB 模式切换, 充电宝控制 | | 电话 | 11 | 语音呼叫 (拨号/挂断/接听/DTMF/静音), USSD 代码, SIM Toolkit 菜单 | | 测速 | 4 | 服务器列表, 运行测试, 进度追踪 | | DoH 代理 | 6 | DNS-over-HTTPS 代理, 缓存管理 | | 局域网测试 | 3 | WiFi ping, 下载/上传吞吐量测量 | | SMS 转发 | 9 | 自动转发规则, CRUD, 测试, 日志管理 | | 系统 | 2 | 进程列表, 结束预装应用进程 | | 调度器 | 5 | 为任何 API 操作计划/循环执行任务 | ### 移动配套应用 通过 WiFi 直接连接的原生应用 —— 无需电脑。 | | iOS | Android | |---|---|---| | **框架** | SwiftUI | Jetpack Compose | | **最低版本** | iOS 16.0 | Android 8.0 (API 26) | | **依赖项** | 无 (仅 Apple 框架) | OkHttp, Hilt, Vico, kotlinx.serialization | | **功能** | BandLock, 通话, 客户端, 配置, 仪表盘, 设备信息, 登录, 路由器设置, 调度器, 信号, SIM/STK/USSD, SMS, 工具, USB 模式 | BandLock, 客户端, 配置, 仪表盘, 设备信息, 登录, 路由器设置, 调度器, 信号, SIM/STK, SMS, 工具, USB 模式 | | **标签页** | 仪表盘, SMS, 工具, 路由器, 设置 | 仪表盘, SMS, 工具, 路由器, 设置 | | **路径** | `mobile/ios/OpenU60/` (109 个 Swift 文件) | `mobile/android/OpenU60/` (90 个 Kotlin 文件) | ## 为什么使用此工具而不是官方 ZTE 应用? 原厂 ZTE U60 Pro 运行着 **44 个专有 daemon**,仅用于设备管理就消耗了 **225 MB 的 RAM**。其中许多是不必要的(TR-069 远程管理、MQTT 遥测、Samba、NFC、诊断),并且会将数据回传至 ZTE 服务器。 `zte-agent` 用一个约 2.3 MB 的二进制文件取代了对官方 ZTE 管理应用的需求: | | zte-agent | ZTE 官方栈 | |---|---|---| | **进程** | 1 | 44 | | **内存 (RSS)** | ~0.8 MB | 225 MB | | **二进制大小** | ~2.3 MB | 合计 ~50+ MB | | **线程** | ~10 | ~130+ | | **遥测** | 无 | 回传数据至 `iot.zte.com.cn` 等 | | **应用** | 开源原生 iOS/Android | 闭源,仅中文 | 官方 ZTE 栈占用内存最多的组件: | 进程 | RAM | 用途 | |---------|-----|---------| | `zte_topsw_devui` | 22.8 MB | LCD UI daemon | | `zte_topsw_get_brand` | 14.2 MB | 运营商品牌标识 | | `zte_topsw_data` | 10.9 MB | 移动数据管理 | | `zte_topsw_tr069` + 子进程 | 23.2 MB | ISP 远程管理 | | `zte_topsw_diag` | 7.1 MB | 诊断/日志 | ## 设备影响 ### 文件系统布局 ``` /data/ (writable /data partition) ├── zte-agent <- on-device REST agent └── local/tmp/ ├── start_zte_agent.sh <- agent boot script ├── dropbear <- SSH binary (if installed) └── start_dropbear.sh <- SSH boot script (if installed) /etc/ (read-only rootfs) ├── rc.local <- boot hooks appended here └── dropbear/ ├── authorized_keys <- SSH public key (if installed) └── dropbear_rsa_host_key <- generated host key (if installed) ``` ## 快速开始 ### 前置条件 ``` # 1. 安装 Rust —— 参见 https://rustup.rs curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 2. 添加 musl 交叉编译 target rustup target add aarch64-unknown-linux-musl # 3. 安装 musl 交叉链接器 # macOS: brew install filosottile/musl-cross/musl-cross # Ubuntu/Debian: sudo apt install musl-tools gcc-aarch64-linux-gnu # 4. 安装 ADB # macOS: brew install android-platform-tools # Ubuntu/Debian: sudo apt install android-tools-adb # 5. 构建 agent cargo build --release --target aarch64-unknown-linux-musl -p zte-agent ``` ### 首次设置 对于从未安装过 zte-agent 的全新出厂设备: **选项 A —— 浏览器(无需工具)** 访问 [open-u60-pro.vercel.app](https://open-u60-pro.vercel.app),输入您的路由器密码和所需的代理密码,连接 USB,然后点击部署。需要 Chrome 或 Edge。 **选项 B —— 命令行** ``` ./setup.sh ``` 启用 ADB,构建并推送代理,创建启动脚本,并可选择为无线部署设置 SSH。 ### 部署代理(后续更新) ``` ./deploy.sh yourpassword ``` 这会构建二进制文件,通过 SSH(端口 2222)将其部署到设备上,更新启动密码,并重启代理。 ### 连接移动应用 1. 将您的手机连接到路由器的 WiFi 2. 打开 OpenU60 应用 3. 设置代理 URL:`http://192.168.0.1:9090` 4. 输入您在上面设置的代理密码 ## 项目结构 ``` u60-Pro-rs/ ├── zte-agent/ On-device REST API server │ └── src/ │ ├── main.rs Entry point (Axum HTTP server) │ └── routes/ REST endpoint handlers │ └── mobile/ Native companion apps ├── README.md Mobile apps documentation ├── ios/OpenU60/ SwiftUI app │ ├── Core/ Networking, crypto, models │ ├── Features/ │ │ ├── BandLock/ Band locking │ │ ├── Call/ Voice calls │ │ ├── Clients/ Connected devices │ │ ├── Config/ Config backup/restore │ │ ├── Dashboard/ Signal cards, WiFi card, status │ │ ├── DeviceInfo/ Hardware + firmware info │ │ ├── Login/ Auth + keychain │ │ ├── RouterSettings/ │ │ │ ├── APN/ APN profile management │ │ │ ├── CellLock/ Cell locking │ │ │ ├── Device/ Reboot, USB, battery, charge policy │ │ │ ├── DNS/ DNS settings │ │ │ ├── Firewall/ Firewall rules │ │ │ ├── LAN/ DHCP settings │ │ │ ├── MobileNetwork/ Network mode, SA/NSA │ │ │ ├── NetworkMode/ Network selection │ │ │ ├── QoS/ Traffic shaping │ │ │ ├── Schedule/ Scheduled reboot/wifi │ │ │ ├── SignalDetect/ Signal quality detection │ │ │ ├── SIM/ SIM card PIN/PUK management │ │ │ │ └── STK/ SIM Toolkit & USSD │ │ │ ├── STC/ Smart Tower Connect │ │ │ ├── Telemetry/ Telemetry blocking │ │ │ ├── VPN/ VPN settings │ │ │ └── WiFi/ WiFi configuration │ │ ├── Scheduler/ Scheduled/recurring jobs │ │ ├── Settings/ App settings │ │ ├── Signal/ Signal monitor │ │ ├── SMS/ SMS compose/read/conversations │ │ ├── Tools/ Band lock, clients, config, etc. │ │ └── USBMode/ USB mode detection/switching │ └── Navigation/ 5-tab bar (Dashboard, SMS, Tools, Router, Settings) └── android/OpenU60/ Jetpack Compose app ├── core/ Network, crypto, models, DI ├── feature/ bandlock, clients, config, dashboard, │ deviceinfo, login, router, scheduler, │ settings, signal, sms, tools, usb └── navigation/ NavHost + bottom bar ├── web/ Landing page & web dashboard (open-u60-pro.vercel.app) │ ├── src/ │ │ ├── app/ Next.js app router (page, layout, globals) │ │ ├── components/ Landing sections, UI primitives │ │ └── data/ Feature data, API endpoints, device specs │ └── public/ Static assets (images, icons) ``` ## 信号阈值 | 指标 | 优秀 | 良好 | 一般 | 较差 | |---|---|---|---|---| | **RSRP** (dBm) | >= -80 | >= -100 | >= -110 | < -110 | | **SINR** (dB) | >= 20 | >= 10 | >= 0 | < 0 | | **RSRQ** (dB) | >= -10 | >= -15 | >= -20 | < -20 | ## 许可证与免责声明 本项目基于 [MIT 许可证](LICENSE) 授权。 **免责声明:** 本软件按“原样”提供,不提供任何形式的保证。使用风险由您自行承担。对于因使用本软件而导致的设备损坏、保修失效或其他后果,作者概不负责。
标签:5G网络, Android, DSL, iOS, OpenWrt, Rust, 云资产清单, 内存分配, 可视化界面, 网络流量审计, 路由器工具, 逆向工程