前言
由于之前用的 MT 工具箱 和 MIXBOX 都已经停止维护了,很多插件都用不了了,所以有必要给路由器升级一波插件了。
简单介绍下:
安装这些插件的前提是已开启 SSH,教程需要自己百度。
我是基于官方固件安装的,其他固件不保证通用,理论上和 R3D 同时期的路由器都适用。
开始
alist
1. 下载
首先要根据路由器处理器架构,选择合适的文件
SSH 连接路由器后,输入以下命令,即可打印处理器信息
uname -a
R3D 的结果是
Linux XiaoQiang 3.4.103 #1 MiWiFi-R3D-2.29.5 SMP PREEMPT Thu May 30 08:23:40 UTC 2019 armv7l GNU/Linux
代表处理器支持的指令集是 armv7l
打开 alist github release,下载对应的可执行文件,这里选择
alist-linux-musleabihf-armv7l
2. 压缩
下载完解压后文件大概 80M,虽然 R3D 有 256M 的 ROM,但是为了节约空间,我们还是压缩一下
安装 upx(已安装的话忽略)
brew install upx
安装后输入以下命令执行压缩
upx [文件路径]
压缩完大概还剩 20M
3. 安装
为了避免影响硬盘休眠,建议安装在路由器 ROM 分区
把压缩完的文件上传到路由器硬盘
用 SSH 连接路由器,在 data 目录下新建 alist 文件夹
cd /data
mkdir alist
将硬盘中的文件移动到 /data/alist 下
mv /userdisk/data/xxx/alist /data/alist/
授予可执行权限
cd /data/alist
chmod +x alist
尝试启动服务
./alist server
如果 Shell 没有报错,基本上就启动成功了,可以用浏览器打开管理页面确认
192.168.31.1:5244
如果看到登录页面,就是成功了
这时我们先不着急使用,还需要设置管理员密码
用 Ctrl+C 终止程序
./alist admin set [新密码]
4. 开机自启
在电脑上新建启动文件
#!/bin/sh /etc/rc.common
START=99
start() {
cd /data/alist
./alist server
}
stop() {
kill alist
}
99 表示优先级最低,开机后最后执行
start() 是在开机时执行的代码,stop() 是在关机时执行的代码
保存为 alist 文件
再次上传到路由器硬盘,并移动到 /etc/init.d/ 目录下
mv /userdisk/data/xxx/alist /etc/init.d/
授予可执行权限
cd /etc/init.d
chmod +x alist
启用启动任务(必须使用绝对路径)
/etc/init.d/alist enable
启用成功后会在 /etc/rc.d 目录下生成 S99alist 文件,可以二次确认
最后执行 reboot 重启路由器,如果以上操作都没问题,重启成功后大概1分钟左右,用浏览器再次打开管理页面,即可直接使用
5. 开启外网访问端口
这一步需要用到 vi 命令编辑防火墙配置
需要用到的 vi 命令
- i: 切换到输入模式,可以用方向键控制光标
- esc: 退出输入模式,切换到命令模式
- :w: 保存文件
- :q: 退出编辑器
vi /etc/config/firewall
用方向键滚动到文件末尾,添加以下配置
config rule
option name 'alist'
option src 'wan'
option dest_port '5244'
option proto 'tcp'
option target 'ACCEPT'
保存,退出,重启路由器生效
安装 ddns-go
1. 下载
参考下载 alist 部分,选择合适的文件,由于 ddns-go 没有提供 armv7l 架构,我们选择通用的
ddns-go_xxx_linux_armv7
2. 压缩
ddns-go 不能用 upx 压缩,否则运行会报错!
ddns-go 不能用 upx 压缩,否则运行会报错!
ddns-go 不能用 upx 压缩,否则运行会报错!
我一开始也像压缩 alist 一样压缩 ddns-go,结果死活跑不起来,最后发现是压缩的问题,太坑了,还好 ddns-go 只有 8M
3. 安装
把文件上传到路由器硬盘
用 SSH 连接路由器,在 data 目录下新建 ddns-go 文件夹
cd /data
mkdir ddns-go
将硬盘中的文件移动到 /data/ddns-go 下
mv /userdisk/data/xxx/ddns-go /data/ddns-go/
授予可执行权限
cd /data/ddns-go
chmod +x ddns-go
安装
./ddns-go -s install -c /data/ddns-go/ddns-go.yaml -skipVerify
-c 表示指定配置文件路径,默认的路径没有权限访问
-skipVerify 表示跳过证书验证,不配置的话可能无法访问 https 地址
打开管理页面即可使用,安装的时候会自动添加启动任务,无需手动添加。
配置完 ddns 后,即可随时随地在外网访问 alist!
装完2个插件后 ROM 还有 80M,内存占用一半,还可以。
总结
本文主要介绍在 R3D 上安装 alist、ddns-go 两个常用插件的过程,基本覆盖了我个人平时90%的使用场景,完美替换之前的工具箱。