在 Termux 上安装 AList 并实现外网访问

2023/03/31
共 923 字
约 3 分钟
归档: 技术
标签: Android Termux


利用旧手机搭建个人云盘,配合内网穿透,随时随地访问。


关于优选 IP

自从发现 cloudflare 有那么多免费服务跟额度后,一直想着优选出来的 IP 可以做什么。曾希望能用来给我的托管服务自定义 IP,但 cloudflare 似乎不支持这样做,以失败告终。
Github 上有许多的优选工具,但为了让用户能流畅访问你的服务,而需要他们去改 hosts,这显然不现实,所以选出来的 IP,我实在不知道怎么用。

直到看到 AList,如果是自己用的服务,通过改 hosts 提升体验,那就可以接受了。推荐两个优选 IP 的项目:better-cloudflare-ipXIU2/CloudflareSpeedTest

关于 Alist

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内存,也罢。

留言

本站已运行
© 2024 Jack  由 Hexo 驱动
复制成功