一、前期准备

1.刷开发版系统

1、打开 小米官方ROM网站 http://www1.miwifi.com/miwifi_download.html

2、点击 ROM

image-20231206200258327

3、找到自己的路由器型号,点击下载

image-20231206200346617

4、进入小米路由器后台管理,浏览器输入192.168.31.1(路由器的IP地址)

常用设置 --> 系统状态 --> 手动升级 --> 选择文件(选择刚刚下载的开发版文件[.bin结尾的文件])–> 开始升级

image-20231206200755738

5、如果不能正常进入管理页面,就把下载的bin文件,改名miwifi.bin,然后放到U盘里插到路由器上,通电状态下,长按reset,橙灯闪烁松开。

2.刷入ssh工具

1、进入官网 http://www1.miwifi.com/miwifi_open.html

2、下载SSH工具

往下翻找到开启SSH工具下载工具包记录root密码(后面ssh连接时的密码)![image-20231206201319743](E:\School\笔记\小米路由器\小米路由器 HD 安装opkg源-img\image-20231206201234119.png)

![image-20231206201502937](E:\School\笔记\小米路由器\小米路由器 HD 安装opkg源-img\image-20231206201502937.png)

3、请将下载的工具包bin文件复制到U盘(FAT/FAT32格式)的根目录下,保证文件名为miwifi_ssh.bin;

4、断开小米路由器的电源,将U盘插入USB接口;

5、按住reset按钮之后重新接入电源,指示灯变为黄色闪烁状态即可松开reset键;

6、等待3-5秒后安装完成之后,小米路由器会自动重启,之后您就可以尽情折腾啦 :)

二、安装Alist

1、下载Alist文件

1.打开https://github.com/alist-org/alist,在右侧点击Releases

image-20231208184352174

2.在Assets列表找到适合自己的文件:

alist-linux-musleabi-arm.tar.gz(我是小米路由器R3D)。理论上也适合R1D、R2D、R3D。可以用 uname -a查看自己路由器的系统信息,下面是我的

1
Linux XiaoQiang 3.4.103 #1 MiWiFi-R3D-2.29.5 SMP PREEMPT Thu May 30 08:23:40 UTC 2019 armv7l GNU/Linux

R3D , armv7l 但是alist-linux-arm-7.tar.gz使用用不了。

2、安装

1.创建文件:在userdisk下创还能alist

1
2
3
4
5
#进入userdisk文件夹
cd /userdisk

#创建文件夹alist
mkdir alist

2.上传文件:把alist-linux-musleabi-arm.tar.gz上传到/userdisk/alist

/userdisk 是内置硬盘的路径,很多第三方软件,我都安装在这个目录,比如tailscale等,这个教程后面再说,在这边创建文件夹/userdisk/alist,当然你也可以按照自己喜好建立文件夹名称。

image-20231208185612921

ps:建议在高级里打开文件UTF-8编码。

![image-20231208185800087](\小米路由器 HD 安装opkg源-img\image-20231208185800087.png)

3.解压,运行文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#进入/userdisk/alist目录
cd /userdisk/alist

#解压文件
tar -zxvf alist-linux-musleabi-arm.tar.gz

#查看解压成功没有
ls -l

#给权限
chmod 777 alist

#设置密码---设置账户admin的密码是123456(可以改成自己想要的密码,后面进入系统也可以改)
./alist admin set 123456

#启动服务
./alist server
#大致运行图如下:

image-20231208190358259

打开浏览器,输入你的路由器ip加端口号进入alist,一般都是192.168.31.1:5244

进入这个界面则,表示成功。

image-20231208190539204

登陆进去后,可能显示failed get storage: storage not found; please add a storage first。

image-20231208190809791

点下面的管理,点存储 -->驱动:本地存储(跟自己的需求来)–>挂载路径:/ --> 根文件夹路径:/userdisk/data/alist

image-20231208191223492

然后翻到最下面,点击添加。启用guest用户权限。(这样就可以在不登录的情况下访问)

![image-20231208191618170](小米路由器 HD 安装opkg源-img\image-20231208191618170.png)

image-20231208191652437

3、设置开机自启

设置开机自启,在/etc/init.d目录下创建一个文件。并写入命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#进入目录/etc/init.d
cd /etc/init.d

#创建文件alist,并写入内容(用vim编辑器)
vim alist

######### 输入一下内容 ###########(按 i :才能输入)
#!/bin/sh /etc/rc.common

START=95

start() {
cd /userdisk/alist
./alist server
}

stop() {
kill alist
}
######### 输入完成后 ###########(1.按Esc 2.按shift + :3.输入 wq 4.回车)

image-20231208192554016

简单解释一下:第一行#!/bin/sh /etc/rc.common是固定格式,START=95是优先级别,1~99数字越大表示启动越靠后,我们希望的是路由器开机之后能接通网络,其余的工作都是再联网后挨个加载。接下来的start后面的代码就跟刚刚安装调试的时候差不多,只不过将他丢给后台自动运行。

1
2
3
4
5
6
7
8
9
#查看刚刚的文件是否创建成功
ls

#你这里应该是白色,因为没有给权限
#给权限
chmod 777 alist

#将alist设置为开机自动运行,这里一定要用绝对路径
/etc/init.d/alist enable

image-20231208192800991

**注意: /etc/init.d/alist enable 这个命令一定要用绝对路径,即使 cd到 /etc/init.d 目录下,也要用绝对路径!!

接下来检查一下自动运行,用WinSCP打开/etc/rc.d目录,如果看到S95alist这个文件,说明就已经添加启动成功了。也可以在终端中用cd命令到/etc/rc.d目录,ls查询一下。

image-20231208193038190

最后,在终端输入reboot回车重启路由器,重启后连上路由器网络可以打开alist的网页:192.168.31.1:5244,说明就成功了。

4、开启外网访问端口

这里再连上终端,多操作一步,打开终端连接路由器,输入以下命令:

1
2
3
4
5
6
7
8
9
10
11
#修改防火墙
vim /etc/config/firewall

#### 按“i”键进入编辑模式,在文档最后插入如下命令:
config rule
option name 'alist'
option src 'wan'
option dest_port '5244'
option proto 'tcp'
option target 'ACCEPT'
#这里打开5244端口,可以从WAN口访问。

image-20231208193404069

然后按“Esc”,在英文输入法模式下按 :wq 保存并退出。此处参阅Linux的vi或vim命令的操作方式,有需要了解的朋友另行搜索。

三、内网穿透–openfrp方案(遇到ssl证书问题,穿透计划暂停)

1、路由器系统时间不正确

1
2
3
opkg install ntpdate

ntpdate cn.pool.ntp.org

2、解决curl443问题

“curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused”

查ip:https://www.ipaddress.com/

改host,在/etc/hosts。【185.199.108.133】是在上面网站查这个raw.githubusercontent.com网址得出来的。

1
2
3
4
5
# 2023-12-9 为修复curl 443 问题添加  
185.199.108.133 raw.githubusercontent.com
185.199.108.133 user-images.githubusercontent.com
185.199.108.133 avatars2.githubusercontent.com
185.199.108.133 avatars1.githubusercontent.com

image-20231209161532772

image-20231209180217879

四、有公网ip,就不折腾内网穿透了

1、安装ddns-go

2、启动ddns-go

一般默认端口9876,去网页打开地址:你的路由器ip:9876,如果你这个不是小米路由器的二级路由,地址就是192.168.31.1:9876,在网页里根据自己需要配置。

3、配置ddns-go(以cloudflare为例)