使用 AList 搭建云盘聚合平台

◇ 安装

💡 建议 Alist (参见) 和 Aria2 (参见) 分开部署,方便进阶配置。

这里使用 Docker 部署:

使用的是内建 aria2 的版本,镜像地址:https://hub.docker.com/r/xhofe/alist-aria2

▷ 直接部署

输入以下命令:

1
docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5288:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist-aria2" xhofe/alist-aria2:latest
  • -d 表示在后台启动。
  • -v 表示将主机的 /etc/alist 目录映射到 Docker 容器的 /opt/alist/data 目录。
  • -e 设置环境变量。
    • PUID 表示容器内运行的进程的用户 ID, 0 表示 root 用户权限。
    • PGID 表示容器内运行的进程的用户组 ID,0 表示 root 用户组权限。
    • UMASK 是一个文件权限掩码,022 表示限制文件所属组和其他用户的写权限,即 777-022=755。

▷ Docker Compose 部署

⚠ 从 2023 年 7 月起,Compose V1 停止接收更新。Compose V2 已被视为插件规划为 Docker CLI 的一部分。

命令写法如 docker compose version,注意 dockercompose 之间是空格,不再需要中横线;version 作为一个命令存在,而不是参数。

查看是否安装 docker-compose 插件:
(前提是已经安装了 Docker Engine 和 Docker CLI,如果没有,参见:Ubuntu 安装 Docker)

1
2
$ docker compose version
Docker Compose version v2.21.0

如果没有安装,执行以下命令安装:

1
2
sudo apt-get update
sudo apt-get install docker-compose-plugin

确认安装后,执行以下命令:

1
2
3
4
5
6
7
8
# 创建项目路径
mkdir -p project/alist

# 切换到该项目路径
cd project/alist

# 创建并打开配置文件
vim docker-compose.yml

键入 i 打开编辑模式,填入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: '3.3'
services:
alist:
image: 'xhofe/alist-aria2:latest'
container_name: alist
volumes:
- './data:/opt/alist/data' # 改为自己的路径
- './drive/disk:/mnt/drive/disk'
- './drive/thumbnail:/mnt/drive/thumbnail'
# If you use host network mode, then no port mapping is required.
# This is the easiest way to use IPv6 networks.
network_mode: host
# ports:
# - '5244:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
restart: unless-stopped

键入 :wq 保存并退出。

然后启动 Docker 容器:

1
2
3
4
5
# 后台运行
docker compose up -d

# 若不使用默认的docker-compose.yml 文件名
docker compose -f server.yml up -d

◇ 放行端口

登录阿里云,点击 “安全组”:
安全组

添加一条规则:
添加一条规则

然后浏览器访问 http://ip:5288 ,即可显示登陆页面:
login

◇ 创建管理员密码

3.25.0 以上版本将密码改成加密方式存储的 hash 值,无法直接反算出密码,如果忘记了密码只能通过重新随机生成或者手动设置:

1
2
3
4
5
# 随机生成一个密码
docker exec -it alist-aria2 ./alist admin random

# 手动设置一个密码
docker exec -it alist-aria2 ./alist admin set <NEW_PASSWORD>

◇ 添加存储

▷ 阿里云盘 (Open)

- 驱动

阿里云盘Open

- 挂载路径

唯一标识,即要挂载到的位置,如果要挂载到根目录,就是 /

- 序号

当有多个账户时,用于排序,越小越靠前。

- 备注

随便填即可,只是提醒这个存储是什么。

- 缓存过期时间

目录结构的缓存时间 (分钟)。默认 30 min。

- Web 代理

默认关闭。

- WebDAV 策略

默认 302 重定向。

默认下载方式

- 下载代理URL

默认为空。

开启 Web 代理 时不填写此字段,默认使用本机进行传输。

- 提取文件夹

  • 提取到前面:排序时将所有文件夹放在前面。
  • 提取到后面:排序时将所有文件夹放在后面。

- 启用签名

对文件进行签名加密 (不需要密码),仅对本驱动生效。

使用场景:不想开启全部签名,也不想设置元信息加密,只想对某驱动进行签名加密防止被扫。

影响范围:签名所有 > 元信息目录加密 > 单驱动签名。

- 云盘类型

  • 默认:有达人等级用户默认展示的是资源库内容,没有达人等级用户默认展示的是备份盘内容。
  • 资源库:对应云盘的资源库。
  • 备份盘:对应云盘的备份盘。

- 根文件夹ID

默认为 root,展示全部云盘内容,若只想展示某文件夹內内容,可以改为 file_id

打开阿里云盘官网,点击进入要设置的文件夹,如:
https://www.aliyundrive.com/drive/folder/5fe01e1830601baf774e4827a9fb8fb2b5bf7940

这个文件夹的 file_id 即为:5fe01e1830601baf774e4827a9fb8fb2b5bf7940

- 刷新令牌

前往:https://alist.nn.ci/tool/aliyundrive/request

按提示操作即可。

- 排序

按什么排序。

- 排序方式

升序或降序。

- Oauth令牌链接

默认即可。

若无法连接,可更改为:

- 客户端ID

如果自己申请了官方授权也可以使用自己的进行填写,为空时默认使用 AList 提供的。

- 客户端密钥

如果自己申请了官方授权也可以使用自己的进行填写,为空时默认使用 AList 提供的。

- 移除方式

  • 回收站:在 AList 删除后进入网盘回收站,会占用云盘空间,但是后期如果误删可以找回。
  • 删除:直接删除不会停留在回收站,不会占用云盘空间,但是后期如果误删不能找回。

- 秒传

在挂载时,需要启用秒传,要秒传的前提是阿里云盘已经有这个文件才可以进行秒传否则就是普通的上传。

v.3.27.0 版本增加增强秒传:可以直接通过复制方式来和 115 网盘进行相互秒传文件。
前提是要从阿里云盘秒传到 115 的文件,115 已经存在,否则就是正常复制任务。
如果将 115 的文件秒传到阿里云盘,需要将阿里云盘的秒传选项打开否则为正常模式上传。

- 内部上传

如果部署 AList 的服务器是阿里云北京地区 ECS,打开此开关可以提升文件上传速度。

不符合要求的服务器请不要打开此开关,否则会出现无法上传的问题。

- Livp 下载格式

IOS 实况照片因为非 IOS 系统无法解析,无法下载,根据自己的需求选择:

  • Jpeg:实况照片所展示的封面
  • Mov:长按实况照片的视频画面

▷ 夸克网盘

- WebDAV 策略

默认 本地代理

夸克云盘下载很慢是因为夸克云盘需要开通会员,并且挂载只能 (强制) 使用本地代理方式,就需要搭建 AList 的机器有一个很高的带宽速度。

什么是本地代理?
本地代理就是用搭建 AList 的机器来中转,先下载到搭建 AList 的机器,再由机器转发给你,搭建 AList 的机器速度不够快,再转发给你的速度自然也不够快。

默认下载方式

登录夸克网盘,F12 打开调试。按下图寻找:
夸克网盘获取cookie及文件夹id

- 根文件夹 ID

如上图所示,寻找pdir_fid 字段。根目录为 0。

▷ 蓝奏云

- WebDAV 策略

默认 302 重定向。
默认下载方式

- 类型

  • 账户模式:类型选择 账户,填写 账户密码 选项,以及 根文件夹 ID (选填,默认为根目录全部文件)。

  • Cookie 模式:类型选择 Cookie,填写 Cookie,以及根文件夹 ID (选填,默认为根目录全部文件)。

  • 链接模式:类型选择 链接,填写分享链接根文件夹 ID 以及 分享密码 (如果有密码)。

    分享链接格式:https://xxx.lanzou.com/aaabbbccc

    • 分享链接 填写:https://xxx.lanzou.com

    • 根文件夹 ID 填写:aaabbbccc

    • 分享密码 填写:有密码就写没有就不用写

如下图所示查找:
cookie

- 根文件夹 ID

进入需要的文件夹,然后如下图所示查找:
folder_id_c

- 基本 URL

默认即可。

- 修复文件信息

如果需要 WebDav 服务请打开它。

▷ 本机存储

编辑 docker-compose.yml,添加 2 条,分别为映射的云盘路径和缩略图路径:

1
2
3
volumes:
- './drive/disk:/opt/alist/drive/disk'
- './drive/thumbnail:/opt/alist/drive/thumbnail'

更新容器:

1
docker compose up -d

- WebDAV 策略

默认本地代理。
默认下载方式

- 根文件夹路径

输入上面映射的目录:/mnt/drive/disk

- 缩略图

本地存储视频封面,可自行选择。

- 缩略图缓存文件夹

输入上面映射的目录:/mnt/drive/thumbnail

- 显示隐藏

显示隐藏目录以及文件。

- 创建文件夹权限

默认 777。

▷ 其它

阅读官方文档获取最新说明:https://alist.nn.ci/zh/guide/

◇ 参考内容

  1. AList文档. https://alist.nn.ci/zh/guide/
  2. docker-compose教程(安装,使用, 快速入门). https://blog.csdn.net/pushiqiang/article/details/78682323
  3. 使用阿里云服务器安装AList. https://blog.csdn.net/weixin_43635534/article/details/129572518
  4. Install the Compose plugin. https://docs.docker.com/compose/install/linux/
  5. docker-compose之v1.x与v2.x说明. https://developer.aliyun.com/article/1230223