最近在折腾 alist ,碰到了不少坑点,记录一下,同时也是备忘。过程中有些不明白的地方,如果谁之前碰到过、解决了,也请指教下。
(我知道某软件中心有,但我没装某软件中心,我喜欢自己动手。)
一、背景:
路由器为华硕 AX86U/梅林固件,有台 win 家庭服务器通过有线连接路由器。
准备通过 alist 连接某数字网盘,最终通过 iPhone/iPad/MacbookPro/Apple TV (以下简称 infuse 终端)的 infuse 读取和播放 4k remux mkv 资源。
家中宽带 200M ,某三位数网盘直接下载或播放基本能跑到满速。
二、win 家庭服务器篇:
一开始把 alist 放在了 win 家庭服务器上,发现播放 4k remux mkv 资源 20-30 分钟会发生断流,症状为家庭服务器和路由器之间掉线、ping 不通,重新拔插网线可以恢复。
另外,之前 iPhone 手机通过 wifi 直接下载某数字网盘的资源,也会出现类似的断流,通过关闭 /开启 wifi 可以恢复。
因此,怀疑是 AX86U 路由器在高流量负载下会断流,网上有人说是因为 AX86U 的芯片发热造成的(看了下,此时 CPU 温度大概 70 多度)。同时,感觉大流量在路由器-win 家庭服务器-路由器-infuse 终端之间跑也是浪费资源,所以考虑把 alist 挂在路由器上。
同时,去某宝买了个散热风扇,在 PWM40%(基本没声音)的前提下,能把 AX86U 的 CPU 温度降低 20 度左右。
具体断流是 PC 侧还是路由器侧造成的,懒得去研究了。
三、华硕 AX86U 路由器-jffs 篇:
接下来是 AX86U 路由器上安装 alist 。
华硕路由器刷梅林固件、打开 jffs 、ssh 等等不说了,网上都能找到。win 侧我一般只用 powershell 里的 ssh 操作,不用第三方软件。
一开始我选择把 alist 装到了路由器的 jffs 上。**注意,装在 jffs 上存在很大的风险!**我会在本篇的最后面做解释。建议按照第四篇装在路由器挂载的 U 盘上。
首先,打开 powershell ,连接路由器:
ssh admin@192.168.XX.XX (此处填入你自己的路由器地址)
接下来填入密码,登录成功后会显示 /tmp/home/root#
接下来去 jffs 文件夹并创建 alist 目录
cd /jffs
mkdir alist
cd alist
接下来是下载 alist ,我试过了最新的 3.10.1 和上一个版本的 3.9.2 ,都会报错,如果是 AX86U 的,不用去下这两个版本了,最后试了个 3.6.0 版本,可以正常运行,就这个版本了。
在命令行执行
curl -L
https://ghproxy.com/https://github.com/alist-org/alist/releases/download/v3.6.0/alist-linux-musl-arm64.tar.gz -o /tmp/alist.tar.gz
接下来解压缩
tar zxf /tmp/alist.tar.gz -C /jffs/alist
这个解压的过程有点慢,耐心等一下
解压完成后,运行测试( alist 官方的安装说明里还要授予程序执行权限:chmod +x alist ,我自己是发现解压完就是可执行文件了)
./alist
如果操作说明正常弹出,再跑下服务器
./alist server
如果服务器正常开启,就没问题了,后面的流程和其他设备上装 alist 的设置是一样的,不再赘述。
需要开机启动的,看第五篇的脚本。
最后说下我为什么不推荐把 alist 装在 jffs 上。
snbforum 上反馈这几年的华硕路由器 jffs 寿命很长,可擦写 10 万次,华硕自己的 syslog 文件也往 jffs 上写(在 jffs 文件夹下 ls 能看到)。
但是,我在 infuse 终端操作、播放测试了大约 1 小时后,根据我对 alist 文件夹的观察,daemon 文件夹下的 start.log 和 data/log 文件夹下 log.log 已经各有近 4MB 文件,而且更新是比较频繁的。本身 jffs 也就几十兆的可用容量,就算可擦写 10 万次,我觉得也坚持不了太久的。
**总之,我非常非常不建议装在 jffs 上,毕竟换 U 盘比换路由器便宜多了,不是吗?**
四、华硕 AX86U 路由器-U 盘篇:
因为前述的原因,改为安装在 U 盘上。
准备一个不用的 U 盘,如果之前有 GPT 分区的,先清一下 GPT 分区并改为 MBR (比如使用 win 的 diskpart )。
插入路由器的 U 盘口,用 fdisk 建立分区。
以上两个网上都有很多教程,不再赘述。
我碰到的坑是 ext4 格式的 u 盘有时路由器不会自动挂载,格式化成 ext2 格式后就行了,本着能用就行的原则,没有深究。
mkfs.ext2 /dev/sda1
接下来是去 U 盘文件夹并创建 alist 目录
cd /tmp/mnt/sda1
mkdir alist
cd alist
在命令行执行
curl -L
https://ghproxy.com/https://github.com/alist-org/alist/releases/download/v3.6.0/alist-linux-musl-arm64.tar.gz -o /tmp/alist.tar.gz
接下来解压缩
tar zxf /tmp/alist.tar.gz -C /tmp/mnt/sda1/alist
这个解压的过程有点慢,耐心等一下
解压完成后,运行测试( alist 官方的安装说明里还要授予程序执行权限:chmod +x alist ,我自己是发现解压完就是可执行文件了)
./alist
如果操作说明正常弹出,再跑下服务器
./alist server
如果服务器正常开启,就没问题了,后面的流程和其他设备上装 alist 的设置是一样的,不再赘述。
目前用 U 盘跑有没有坑我还在测试
五、华硕 AX86U 路由器-开机启动篇:
华硕路由器 /梅林固件的启动是通过脚本实现的
进入脚本文件夹(如果你还在 alist 的 server 进程里,可以直接按 CRTL+C 先退出)
cd /jffs/scripts
新建 post-mount 文件并编辑(注意,此处 post-mount 名字不能改,具体见
https://github.com/RMerl/asuswrt-merlin.ng/wiki/User-scripts )
touch post-mount
nano post-mount
写入如下脚本代码
alist 文件在 U 盘的:
#!/bin/sh
sleep 60
/tmp/mnt/sda1/alist/alist start
alist 文件在 jffs 的:
#!/bin/sh
sleep 60
/jffs/alist/alist start
按 CTRL+O 写入,按回车确定,按 CTRL-X 退出
如果要测试开机启动是否成功的话,reboot 重启即可
六、其他篇:
1 、某三位数网盘的用户,建议 cookies 用 iPhone 客户端的(抓包可用 stream )。年初没有买终身我后悔了。
2 、建议别玩脱了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/914857
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.