在 Termux 上安装 AList 并实现外网访问
利用旧手机搭建个人云盘,配合内网穿透,随时随地访问。
关于优选 IP
自从发现 cloudflare 有那么多免费服务跟额度后,一直想着优选出来的 IP 可以做什么。曾希望能用来给我的托管服务自定义 IP,但 cloudflare 似乎不支持这样做,以失败告终。
Github 上有许多的优选工具,但为了让用户能流畅访问你的服务,而需要他们去改 hosts,这显然不现实,所以选出来的 IP,我实在不知道怎么用。
直到看到 AList,如果是自己用的服务,通过改 hosts 提升体验,那就可以接受了。推荐两个优选 IP 的项目:better-cloudflare-ip、XIU2/CloudflareSpeedTest
关于 Alist
AList 不仅仅支持本地存储,还支持阿里云盘、OneDrive 等数十款网盘的挂载,做到一个地方管理你的多个云存储。还可以预览常见格式的文件,意味着可以直接用它看书看电影,几乎拥有你想得到的所有功能,可以说非常完善。
安装步骤
在 Termux 安装 AList
pkg install alist
查看 admin 密码
alist admin
启动 AList
alist server
浏览器访问 127.0.0.1:5244
,进入登录页面,利用刚刚得到的管理员密码登录。
挂载步骤
获取本地存储权限,手机会弹出授权申请,选择允许
termux-setup-storage
登录后添加存储:存储–添加–本机存储
挂载路径:挂载后的文件夹别称,可以随意
根文件夹路径:想要挂载的手机文件夹路径,如根目录
/data/data/com.termux/files/home/storage/
设置自启
利用上一篇介绍的 Cloudflared Tunnel,只需要把端口改为5244,即可实现外网访问。但这样以后每次启动都需要开两个会话,分别运行服务,设置自启就可以省事很多。
自启有许多方法,这里使用官方的 termux-services
为例,参考文档
安装后重启 Termux
pkg install termux-services -y
以 AList 为例,编写一个自启动服务,cd 到 /data/data/com.termux/files/usr/var/service/
,没有 service 文件夹可以手动新建
# 创建 alist 文件夹
mkdir alist
# 进入 alist 文件夹
cd alist
# 创建并编辑 run 文件
vim run
编写需要执行的脚本,保存
#!/data/data/com.termux/files/usr/bin/sh
alist server
赋予执行权限
chmod +x run
设置自启,如提示服务不存在,重启 Termux 解决
sv-enable alist
其他常用命令:
# 取消自启动
sv-disable alist
# 停止服务,并使本次 Termux 运行期间自启动失效
sv down alist
# 启动服务
sv up alist
# 查看运行状态
sv status alist
获取唤醒锁
termux-wake-lock
Cloudflared Tunnel 同理,至此,可以做 Termux 启动时自启内网穿透与 AList 服务。
可能会遇到的问题
上述步骤后,可能出现登录密码错误的问题。
究其原因是,在脚本里的 alist 跟在命令行里的不是同一个。可以发现 alist admin
与进入到 alist 所在目录再执行 ./alist admin
不是同一个密码
暂时的解决方法:脚本里进入到 alist 所在目录,通过 ./alist
执行命令,密码也使用里面的,这样就不会出问题了
cd /data/data/com.termux/files/usr/bin/
./alist server
写在最后
把几部安卓6.0的旧手机翻出来,本想让他们发挥余热,结果发现旧版本的 Termux 各种依赖都没有,手动装上了 cloudflared,还是卡在了 AList,可能装上 proot 会后有机会,但一看才32G内存,也罢。
留言