加载中...
不想等待可以点我关掉

前言

该项目是由于我厌倦了管理后台和APP的卡顿而写的,因此项目开发之初就不考虑集成在管理后台,做成一个独立的页面,并实现跨平台。

并且,调用的都是小米路由器独有的api接口,与Openwrt完全不兼容

用于测试的只有r1d和r4a,对于别的型号的支持,还得看大家的反馈才能完善。

感谢YSC6666,黑衣剑士z,Super丶聪(@bilibili)的帮助

代码开源在 https://github.com/Mirouterui/ ,欢迎 star&提prヾ(≧▽≦*)o

碍于实际需求,拿一台瘦客户机装了个ikuai,这个项目先鸽了

面板展示

部署

小米路由器是基于Openwrt的,故下文Openwrt仅指小米路由器
附:

Release下载对应的架构的发行版

64位:amd64,32位:i386,arm: arm

可访问镜像站以获取更快的速度

然后运行,程序会自动下载配置文件,在其中填上密码即可。配置文件中其它条目在下面

再次运行,等待下载页面静态文件,若能支持获取token即为成功

部分设备出现无法运行&无法找到配置文件可使用“不使用upx压缩”版本(即带_noupx后缀的版本)

Release复制对应的架构的发行版的下载链接

使用uname –a查看架构(如果为armv7l,考虑使用armv5版本)

R1D

运行:

curl –L yourlink –o mirouterui

chmod 777 mirouterui

./mirouterui

程序会自动下载配置文件,在其中填上密码即可。配置文件中其它条目在下面。.

再次运行,等待下载页面静态文件

若能支持获取token即为成功

常见问题:

  1. 无法下载配置文件,路由器太老了

使用 curl https://mruiapi.hzchu.top/downloadconfig -o config.json 手动下载

  1. 无法下载静态文件

Mirouterui/static: 前端静态文件 (github.com)下载,并解压到static目录

命令:

docker run -d -p 6789:6789 -v $(pwd):/app/data --name mirouter-ui --restart=always thun888/mirouter-ui

新建一个文件夹,并在该文件夹里运行上述命令,程序会在该文件夹里生成配置文件,修改即可

修改完成后重启该容器(或等待自动重启)

最后命令窗口中会显示网页的访问端口,使用设备的ip地址+端口号(6789)访问面板

常见问题

  1. 密码正确,但无法登陆:尝试获取自己路由器的key,可参考视频或使用自动工具

  2. CPU占用为0: 受api限制,新版路由器无法正常获取,可尝试将其部署在路由器上

  3. 温度显示: 目前API模式只支持R1D,R2D,命令模式只支持红米AX6和R1D

  4. 设备显示不全: 当设备过多时,首页只会显示当前有网络活动的设备,请进入设备详细列表查看

  5. 在线前端无法使用: 受浏览器安全限制,需关闭访问私有ip限制

Chrome

Edge

配置项

config

配置名默认值解释
dev[]路由器信息,参阅dev项
history[]历史记录相关功能,参阅history项
tinyfalse启用后,不再下载静态文件,需搭配在线前端使用
netdata_routerid0调用netdata api时返回的路由器(对应dev项中第n个)
flushTokenTime1800刷新token时间间隔(s)
port6789网页页面端口号
debugtruedebug模式,建议在测试正常后关闭

dev项:

配置名默认值解释
password路由器管理后台密码
keya2ffa5c9be07488bbb04a3a47d3c5f6a路由器管理后台key
ip192.168.31.1路由器IP
routerunitfalse启用后,程序通过gopsutil库获取CPU占用

history项:

配置名默认值解释
enablefalse是否启用历史数据统计
sampletime300采样时间间隔(s)
maxsaved8640最多记录条数

命令行参数:

参数解释
–config配置文件路径,默认为“./config.json”
–basedirectory基础目录路径,在里面存放静态文件
–databasepath数据库路径,默认为“./database.db”

后台运行

注册为系统服务

1
sudo vim /etc/systemd/system/mrui.service
1
2
3
4
5
6
7
8
9
10
[Unit]
Description=mrui
After=network.target network-online.target
Requires=network-online.target

[Service]
ExecStart=/pathto/mrui

[Install]
WantedBy=multi-user.target

设置开机自启

1
sudo systemctl enable mrui

管理

1
2
3
4
查看状态:systemctl status mrui
启动:sudo systemctl start mrui
停止:sudo systemctl stop mrui
重启:sudo systemctl restart mrui

windows守护进程工具–nssm详解 - 博客园 (cnblogs.com)

TODO

  • [x] 历史数据统计
  • [x] 深色模式
  • [x] 多路由支持
  • [x] 快捷更新
  • [ ] 设备小工具
  • [x] netdata,api形式兼容

MRUI开发规划

主要功能已完成开发,接下来随缘更新😶‍🌫️

更新日志

Stars~

Stars~

感谢各位😘

1-100