Skip to content

Mirouterui/mirouter-ui

Repository files navigation

mrui-logo

Mirouter-ui

😎 基于小米路由器API的展示面板

Docker Pulls HitCount Release And Docker Build DEV version

Alt

将本程序部署在小米路由器的网络环境中,配置完成即可食用

后端基于Golang,多平台兼容

已在小米路由器R1D,R4A上测试通过

部分新路由无法获取cpu占用,如红米AX6000,AX1800。可在路由器上运行解决。

图片展示

首页 设备列表 设备详情
index Snipaste_2023-08-24_14-53-25 devicelist
路由器详情 温度显示(仅支持部分设备) 历史数据统计
router Snipaste_2023-08-25_13-33-54 history_index
Upnp
upnp

部署

Docker

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

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

对于一些支持docker的小米路由器,也可以尝试使用docker运行

直接运行

下载

Release下载二进制文件

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

如果路由器有足够(内存)空间可以下载对应架构版本的部署在路由器上(ps:使用uname -m查看,若为armv7l,请使用armv5版本)

不推荐在中低端系列路由器上运行~

image

获取key

自动获取:Mirouterui/MiKVIVator ps:我在3个路由器上发现了一样的数值,已添加为默认值,如果无法登录再尝试更改吧

打开路由器登录页面,右键,点击查看页面源代码,按下CTRL + F组合键打开搜索框,搜索key:,不出意外你能看见以下结果

image

复制双引号里的内容粘贴到config.json对应栏目中,并填上密码(路由器后台密码)

image

config.json 会在初次运行时自动导出

ip可以根据实际情况修改

配置项

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

dev项:

配置名 默认值 解释
password 路由器管理后台密码
key a2ffa5c9be07488bbb04a3a47d3c5f6a 路由器管理后台key
ip 192.168.31.1 路由器IP
routerunit false 启用后,程序通过gopsutil库获取CPU占用

配置多个以使用多路由模式,但要注意,如果使用有线/无线组网,数据统计由主路由负责,子路由无法获取信息属于正常情况

history项:

配置名 默认值 解释
enable false 是否启用历史数据统计
sampletime 300 采样时间间隔(s)
maxsaved 8640 最多记录条数

Note

保存数据条数过多可能会造成前端页面卡顿 同时,为了减小历史数据拟合时产生的误差,sampletime应不超过600

命令行参数:

参数 解释
--config 配置文件路径,默认为“./config.json”
--workdirectory 基础目录路径,在里面存放静态文件
--databasepath 数据库路径,默认为“./database.db”
--autocheckupdate bool,是否检查更新(默认true)

然后运行即可

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

后台运行

注册为系统服务

sudo vim /etc/systemd/system/mrui.service
[Unit]
Description=mrui
After=network.target network-online.target
Requires=network-online.target

[Service]
ExecStart=/pathto/mrui

[Install]
WantedBy=multi-user.target

设置开机自启

sudo systemctl enable mrui

管理

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

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

Todo

  • 历史数据统计
  • 深色模式
  • 多路由支持
  • 快捷更新
  • netdata,api形式兼容
  • prometheus(挖个坑先)
  • 重构API接口
  • 进一步简化安装

Stars~

Stars~