在 Android 上的 Termux 内配置 AList 文件列表(可选连接到已存在的本地/远程 mysql 数据库)
从源仓库拉取(方便追新)
main.sh
#!/bin/bash
# 安装依赖
# jq: 解析json添加为环境变量
# curl: 下载alist可执行文件
# proot&resolv-conf: 解决Termux go程序dns解析问题
pkg install jq curl proot resolv-conf
# mysql服务器信息写入环境变量,本地启动时注释掉
# mysql信息开始
values='{"DB_TYPE": "mysql","DB_HOST": "localhost","DB_PORT": "3306","DB_USER": "username","DB_PASS": "password","DB_NAME": "dbname","DB_TABLE_PREFIX": "alist_","DB_SLL_MODE": "true"}'
for s in $(echo $values | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ); do
export $s
done
# mysql信息结束
# 升级时取消注释下面一行
#rm alist
# 如果alist不存在,从仓库下载 arm64 位可执行程序
# 如果不需要github加速,删除下面链接里的https://ghproxy.com/
if [ ! -f "alist" ];then
curl -L https://ghproxy.com/https://github.com/alist-org/alist/releases/latest/download/alist-linux-musl-arm64.tar.gz -o alist.tar.gz
tar -zxvf alist.tar.gz
rm -f alist.tar.gz
fi
# 使用环境变量中的mysql数据库启动
proot -b $PREFIX/etc/resolv.conf:/etc/resolv.conf ./alist server --no-prefix
# 使用本地数据库启动
#proot -b $PREFIX/etc/resolv.conf:/etc/resolv.conf ./alist server
|
chmod +x main.sh
./main.sh
使用 termux 仓库版本
截至本文编辑时,已经可以通过pkg install alist
获取到专为 termux 构建的 alist 版本,不再需要 proot。
alist server
开始运行
alist admin
查看管理员密码(最新版有变动,以官方文档为准)
加上亿点细节:打开 Termux 后自启动 Mysql、Aria2、AList
.bashrc
nohup mysqld_safe -u root > mysqld.log 2>&1 &
nohup aria2c --conf-path=$HOME/.aria2/aria2.conf > aria2.log 2>&1 &
nohup ./main.sh > alist.log 2>&1 &
#Android 14 实测nohup有问题,可以换下面这行
$HOME/main.sh & disown
|
注:Termux 运行 Mysql、Aria2 服务器的方法 Google 即可。为了保证 AList 启动时数据库服务已在运行,建议在 AList 启动命令前加上延时,例如 sleep 2s
。