言归正传
1、前期准备
1.1、开启SSH小米路由器刷开发版,并刷SSH,此处教程略过。
1.2、用到的软件:(1)Xshell,用于连接路由器终端,根据自己的运行环境而定,其他ssh软件或终端均可;
(2)WinSCP,用于上传或下载文件至路由器;
(3)Notepad++,用于编辑脚本,其他类似软件也行,Windows环境不建议用记事本,这里涉及到换行符(不深究)。
(4)Watt Toolkit,(曾经叫Steam++),用于代理或加速浏览github,可在 Microsoft Store 中获取。
2、下载Alist文件下载小米路由器R1的可用的alist文件:alist-linux-musleabi-arm.tar.gz
如果下载有问题可留言。
通过“uname -a"命令,可以查询到R1D是armv7l ,
- uname -a
- Linux XiaoQiang 2.6.36 #3 MiWiFi-R1D-2.25.213 SMP PREEMPT Tue Oct 16 11:44:14 UTC 2018 armv7l GNU/Linux
复制代码
但是尝试下载过 alist-linux-arm-5.tar.gz、alist-linux-arm-6.tar.gz、alist-linux-arm-7.tar.gz,似乎运行不起来,对应不同的更新版本 alist-linux-musleabi-arm.tar.gz、alist-linux-musleabihf-armv5l.tar.gz可以使用。
挨个尝试了好多版本试出来的。
3、上传文件到路由器以及安装/userdisk 是内置硬盘的路径,很多第三方软件,我都安装在这个目录,比如tailscale等,这个教程后面再说,在这边创建文件夹/userdisk/alist,当然也可以按照自己喜好建立文件夹名称。
下面以alist-linux-musleabi-arm.tar.gz文件为例,把alist-linux-musleabi-arm.tar.gz上传到/userdisk/alist目录,然后打终端,逐步运行如下命令:
- cd /userdisk/alist
- #打开/userdisk/alist文件目录
- tar -zxvf alist-linux-musleabi-arm.tar.gz
- #解压alist压缩包,会得到一个alist文件
复制代码
上面这个步骤是在路由器里面解压,也可以在PC上解压好alist,用WinSCP或者其他类似软件传过去。
alist文件文件就绪,给他授权。命令如下:
- chmod +x alist
- #赋予它可执行的权限
- ./alist server
- #启动alist服务,这时候,你如果看到终端开始跑代码了,就已经成功了。
复制代码 如果看到终端开始跑代码了就没错了,此时按下Ctrl + C,停止运行,输入如下命令:- ./alist admin set NEW_PASSWORD
- #设置登录用户名和密码,用户名为admin,NEW_PASSWORD为密码,请自行更改。
- ./alist server
- #启动alist服务
复制代码
注意:1、NEW_PASSWORD要替换成自己的密码
2、此时终端页面不要关闭,不要停止运行程序,将其最小化。
打开浏览器,地址输入:
- http://192.168.31.1:5244/
- #小米路由器的默认地址是192.168.31.1,如果你已更改地址,或以有线中继模式运行,请打开小米路由器手机APP查阅路由器地址。
复制代码
到此,如果你看到了类似页面,说明已经成功了90%。我的alist页面做了简单修改,添加了R1D的logo,这边就不解释了。到这里能操作无误的,大家可以查询其他alist的玩法,只要在网页端配置就行。
4、开机自启我目前用alist挂载了路由器的NAS文件夹的目录“/userdisk/data”,以及一些网盘,挂载方法请各显神通。
言归正传,我们继续在R1D上安装alist启动文件。
打开刚刚最小化的终端,按下Ctrl + C快捷键,终止运行alist。
用Notepad++新建一个文本,并将文件名保存为alist,该文件输入如下内容:
- #!/bin/sh /etc/rc.common
-
- START=95
-
- start() {
- cd /userdisk/alist
- ./alist server
- }
-
- stop() {
- kill alist
- }
复制代码
简单解释一下:第一行#!/bin/sh /etc/rc.common是固定格式,START=95是优先级别,1~99数字越大表示启动越靠后,我们希望的是路由器开机之后能接通网络,其余的工作都是再联网后挨个加载。
接下来的start后面的代码就跟刚刚安装调试的时候差不多,只不过将他丢给后台自动运行。
这里注意请勿使用记事本编辑此文件!!!
我使用Notepad++,换行符用UNIX,避免出现问题。
将保存好的alist文件,上传至路由器/etc/init.d目录
接下来打开终端运行如下命令:
- cd /etc/init.d
- #打开/etc/init.d目录
- ls
- #查看alist文件在不在,以及文件名的颜色,简单判断一下它的权限
复制代码
这时候你的/etc/init.d/alist这个文件应该显示的是白色的,是没有权限的,需赋予它可执行权限,再设置为自动运行。
- chmod +x /etc/init.d/alist
- #赋予alist可执行权限
- /etc/init.d/alist enable
- #将alist设置为开机自动运行,这里一定要用绝对路径
复制代码 注意: /etc/init.d/alist enable 这个命令一定要用绝对路径,即使 cd到 /etc/init.d 目录下,也要用绝对路径!!
接下来检查一下自动运行,用WinSCP打开/etc/rc.d目录,如果看到S95alist这个文件,说明就已经添加启动成功了。
这里简单解释一下,S95就是刚刚/etc/init.d/alist文件的启动顺序。
这里也可以在终端中用cd命令到/etc/rc.d目录,ls查询一下。
5、开启外网访问端口这里再连上终端,多操作一步,打开终端连接路由器,输入以下命令:
- vi /etc/config/firewall
- #修改防火墙
复制代码
按“i”键进入编辑模式,在文档最后插入如下命令:
- config rule
- option name 'alist'
- option src 'wan'
- option dest_port '5244'
- option proto 'tcp'
- option target 'ACCEPT'
- #这里打开5244端口,可以从WAN口访问。
复制代码
然后按“Esc”,在英文输入法模式下按 :wq 保存并退出。此处参阅Linux的vi或vim命令的操作方式,有需要了解的朋友另行搜索。
重启路由器之后,就可以从wan口访问alist。
可以用ipv6+ddns域名访问,也可以用内网穿透。
后面我再出教程设置内网穿透功能,我曾使用zerotier设置穿透,但是一直未能成功,目前使用tailscale一直很稳定,基本上是直连的。
在外就可以用IPv6直接访问路由器里面的影片,网速方面,大头取决于路由器所在网络的上行带宽速率,还有就是硬盘读写速度。
小米路由器安装了alist,接下来的玩法,网络上的教程就很多了。
以上教程,一部分来自alist官方文档,手动安装-Linux版
- https://alist.nn.ci/zh/guide/install/manual.html#%E6%89%8B%E5%8A%A8%E8%BF%90%E8%A1%8C
复制代码