自建网盘聚合 Alist 教程

引言

大家好,今天来聊聊一个我觉得特别实用的开源项目——Alist。

不知道大家有没有遇到过这种情况:同时用了好几个网盘,百度网盘、阿里云盘、OneDrive、Google Drive 啥的,每个网盘都存了一些东西,但是要找文件的时候特别麻烦,得一个个登录、一个个翻。有没有一种方法能把这些网盘都聚合在一起,像访问本地文件夹一样方便地访问它们?

答案是有的!今天要介绍的 Alist 就能完美解决这个问题。这是一个开源的文件列表程序,支持聚合几十种网盘和存储服务,统一管理,统一访问。好了,废话不多说,咱们直接开始教程。

一、环境准备

在开始安装之前,先说说环境要求。Alist 支持在 Linux、Windows、macOS 上运行,也支持在路由器、NAS 等设备上运行。不过最简单、最推荐的方式是用 Docker 来部署,这样不需要关心各种依赖环境,一条命令就能跑起来。

你需要准备的设备:

- 一台常年开机的电脑或服务器(可以是树莓派、小主机、NAS,甚至是你家的路由器)

- Docker 环境

- 域名(可选,用于外网访问)

如果你的设备上没有安装 Docker,先安装一下。Ubuntu/CentOS 系统可以参考下面的命令:

# Ubuntu

curl -fsSL https://get.docker.com | sh

CentOS

yum install -y docker-ce

安装完成后,启动 Docker 服务:

systemctl start docker

systemctl enable docker

二、安装 Alist

Docker 环境准备好了,接下来就是重头戏——安装 Alist。我推荐使用 Docker Compose 来部署,这样后期管理起来方便。

首先创建一个目录用于存放 Alist 的配置文件:

mkdir -p ~/alist/config

cd ~/alist

然后创建 docker-compose.yml 文件:

version: '3.3'

services:

alist:

image: 'xhofe/alist:latest'

container_name: alist

volumes:

- './config:/opt/alist/data'

ports:

- '5244:5244'

environment:

- PUID=0

- PGID=0

- UMASK=022

restart: unless-stopped

保存文件后,执行以下命令启动容器:

docker-compose up -d

等待一会儿,然后用浏览器访问 http://你的IP:5244,如果能看到登录界面,说明已经安装成功了。

首次登录的默认账号和密码是:

- 用户名:admin

- 密码:alist

登录后一定要第一时间去设置里改密码啊!别问我为什么强调这个。

三、添加网盘

,这才是最关键的部分。Alist 支持几十种网盘,主流的百度网盘、阿里云盘、OneDrive、Google Drive、S3、FTP、SFTP 什么的都支持,甚至还可以挂载本地存储。

以添加阿里云盘为例,咱们来看看具体怎么操作:

1. 登录 Alist 管理后台

2. 点击左侧「存储」菜单

3. 点击「添加」

4. 选择「阿里云盘 Open」

5. 填写相关信息:

- 驱动:阿里云盘 Open

- 根文件夹 ID:填 / 表示根目录

- 刷新令牌:这个需要去阿里云盘获取

- 访问令牌:同样需要获取

关于刷新令牌的获取,Alist 官方提供了一个网页工具,只需要扫码登录就能拿到令牌,还是挺方便的。具体可以去看 Alist 官方文档,这里就不展开说了。

添加完成后,点击「添加」按钮保存,然后点击「启用」。回到主页刷新一下,应该就能看到阿里云盘的内容了。

其他网盘的添加方式大同小异,基本上都是需要获取 API 密钥或者授权码之类的。按照提示一步步来就行,不算太复杂。

四、进阶使用

4.1 挂载为本地磁盘

Alist 不仅可以在网页上浏览文件,还可以直接把网盘挂载成你电脑上的本地磁盘,这样就能像操作本地文件一样操作网盘文件了。

在 Windows 上,可以使用 rclone 配合 Alist 来实现。在 Linux/Mac 上则更简单,直接用 rclone mount 命令:

rclone mount alist:/ /mnt/alist --allow-other --vfs-cache-mode writes &

这样就把 Alist 里的文件挂载到 /mnt/alist 目录了。不过这个方案需要你自己去配置 rclone 和 Alist 之间的连接,涉及到 token 的配置,稍微有点门槛,感兴趣的朋友可以深入研究。

4.2 在线播放视频

Alist 支持直接在线播放视频,而且还能自动匹配字幕,简直是影音爱好者的福音。上传一个视频文件,点击播放,就能直接在线观看。支持大部分主流视频格式,响应速度也还不错。

如果配合上挂载成本地磁盘的功能,还可以用 PotPlayer、VLC 之类的本地播放器直接播放,体验更流畅。

4.3 分享文件给朋友

有时候我们需要把网盘里的文件分享给别人,Alist 也支持生成分享链接。在文件列表页面,点击文件右侧的「分享」按钮,就可以生成一个下载链接或预览链接。对方不需要登录 Alist,直接打开链接就能下载或预览。

五、常见问题

Q: 访问速度慢怎么办?

A: 这个主要取决于你网盘本身的带宽和 Alist 服务器的网络质量。如果 Alist 部署在国内服务器上,访问国内网盘速度会快一些;部署在海外服务器上,访问 Google Drive、OneDrive 等海外网盘会更有优势。

Q: 某些网盘无法添加怎么办?

A: 检查一下 Token 是否过期或者填写错误。每个网盘的 API 都有各自的限制和要求,具体可以查看 Alist 官方文档里的驱动说明。

Q: 如何实现外网访问?

A: 有几种方式:1. 使用 frp、ddns-go 等内网穿透工具;2. 如果有公网 IP,直接在路由器上做端口映射;3. 使用 VPN 连接到家里网络。

Q: 容器经常自动重启怎么办?

A: 检查一下日志 docker logs alist,看看是什么原因导致的。常见原因有内存不足、配置文件错误等。

总结

好啦,关于 Alist 的基本使用就介绍到这里。总的来说,这是一个非常实用的工具,可以帮我们统一管理多个网盘,省去了来回切换的麻烦。部署简单,功能丰富,而且完全免费开源。

当然,Alist 也有一些局限性,比如某些网盘的 API 有限速、某些功能需要配合其他工具使用等。但对于日常使用来说,已经完全足够了。

如果你也有多网盘管理的需求,不妨试试 Alist,相信不会让你失望的。有什么问题欢迎在评论区留言讨论,我们下期再见!