
一、项目简介
在云存储和网盘服务日益普及的今天,统一管理和访问分散在各个平台的文件成为了一种普遍需求。AList 正是这样一款现代化、轻量级且开源的文件列表程序,它允许用户通过统一的Web界面,便捷地浏览、管理和分享来自不同存储后端的文件。无论是本地磁盘、各大云厂商的对象存储,还是个人网盘,AList都能将它们聚合在一起。
它遵循“简单、安全、高效”的设计理念,采用模块化架构,支持灵活的部署方式,并提供了丰富的RESTful API,便于二次开发和系统集成。
二、主要特性
1. 多存储后端支持
AList 广泛兼容主流存储类型,实现了真正的存储聚合:
- 本地文件系统(Local FS):直接映射服务器目录。
- 公有云对象存储:阿里云OSS、腾讯云COS、华为云OBS、七牛云Kodo。
- S3兼容存储:MinIO及任何兼容S3协议的服务。
- 网盘与协议:WebDAV、阿里云盘、OneDrive、Google Drive等。
2. 用户友好的 Web 界面
- 采用响应式设计,完美适配桌面端与移动端浏览器。
- 支持多种文件格式的在线预览,包括图片、文本、PDF、音视频等。
- 提供文件下载、批量操作、分享链接复制等管理功能。
- 支持拖拽上传,部分后端可实现断点续传。
3. 权限与安全机制
- 支持多种认证方式,如Basic Auth、Token及OAuth2(针对特定网盘)。
- 可精细配置存储的读写或只读权限。
- 提供IP白名单/黑名单访问控制。
- 支持强制HTTPS,保障数据传输安全。
4. 高性能与低资源占用
- 核心由高效的 Golang 语言编写,编译为单二进制文件,部署极其简单。
- 绝大多数功能无需依赖外部数据库,轻量简洁。
- 内存占用低,启动速度快,适合运行在资源受限的环境。
5. 强大的扩展能力
- 提供完善的RESTful API,支持自动化脚本和第三方系统集成。
- 支持自定义界面主题、Logo、页脚等信息。
- 部分版本支持插件机制,可进一步扩展功能。
三、项目信息
目前,AList 是开源社区中最活跃、功能最全面的多存储文件列表程序,堪称“OpenList”这一概念的标杆实现。
四、详细部署指南
1. 系统要求
- 操作系统:Linux / Windows / macOS(推荐使用Linux服务器)
- CPU架构:amd64 (x86_64) / arm64 / armv7
- 内存:≥ 128MB
- 磁盘空间:仅需存放程序本身(约20MB),文件数据仍存储于各自的后端。
2. 快速安装(Linux 一键脚本)
对于Linux系统,官方提供了便捷的安装脚本。
# 下载并运行官方安装脚本
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
# 启动AList服务
systemctl start alist
# 查看首次启动生成的随机管理员密码
cat /opt/alist/data/data.db | grep -a password
# 或通过日志查看
journalctl -u alist -f
安装完成后,在浏览器访问 http://你的服务器IP:5244 即可进入登录界面。
3. Docker 部署(推荐)
使用 Docker 部署是管理和维护最为方便的方式。
# 拉取最新版镜像
docker pull xhofe/alist:latest
# 创建用于持久化配置的目录
mkdir -p /opt/alist/data
# 运行容器
docker run -d --restart=always \
--name=alist \
-p 5244:5244 \
-v /opt/alist/data:/opt/alist/data \
xhofe/alist:latest
容器启动后,执行 docker logs alist 即可查看控制台输出的初始账号密码。
4. 手动二进制部署
适合需要自定义路径或无法使用Docker的环境。
# 下载最新版本的二进制文件(以Linux amd64为例)
wget https://github.com/alist-org/alist/releases/latest/download/alist-linux-amd64.tar.gz
# 解压
tar -zxvf alist-linux-amd64.tar.gz
# 赋予执行权限
chmod +x alist
# 首次运行,生成配置文件
./alist server
# 后台运行(建议配置为systemd服务)
nohup ./alist server > alist.log 2>&1 &
5. 配置反向代理(Nginx 示例)
为了使用域名访问并启用HTTPS,通常需要配置反向代理。以下是Nginx配置示例。
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:5244;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
配置完成后,可通过Let‘s Encrypt等工具为域名申请SSL证书,在Nginx中启用HTTPS。
五、添加存储后端(以阿里云 OSS 为例)
- 使用管理员账号登录AList的Web管理界面(默认端口5244)。
- 点击左侧「管理」->「存储」->「添加」。
- 在驱动类型中选择 “阿里云OSS”。
- 填写必要的配置信息:
- Access Key ID / Secret:具有Bucket读写权限的RAM用户密钥。
- Bucket 名称:目标存储桶的名称。
- Endpoint:存储桶对应的地域节点,如
oss-cn-beijing.aliyuncs.com。
- 挂载路径:在AList中访问该存储的路径,例如
/oss。
- 点击保存并启用。
配置成功后,即可通过 https://your-domain.com/oss 访问阿里云OSS桶内的所有文件。
六、高级功能
- 多用户管理:可以创建子账号,并为不同用户分配不同的存储访问权限。
- WebDAV 输出:可将AList中管理的任意存储挂载为本地WebDAV网络驱动器,兼容各类支持WebDAV的客户端。
- 离线下载:通过集成Aria2,支持BT种子、磁力链接的离线下载任务。
- 元信息缓存:对文件列表进行缓存,显著提升包含大量文件的目录的浏览速度。
- 令牌自动刷新:对于阿里云盘、OneDrive等需要刷新访问令牌的网盘,AList可自动处理续期。
七、安全性建议
- 立即修改默认密码:首次登录后,务必在管理后台修改强密码。
- 强制使用HTTPS:在生产环境中,务必配置SSL证书,避免信息明文传输。
- 限制管理后台访问:通过运维防火墙规则或Nginx配置,仅允许可信IP访问管理员登录路径。
- 保持程序更新:定期关注GitHub Release,及时升级以修复安全漏洞。
- 遵循最小权限原则:为云存储服务配置的Access Key应只赋予必要的最小权限。
八、常见问题
Q1:能否同时挂载多个同类型的存储桶?
✅ 完全可以。每个存储桶都作为独立的存储进行添加,只需确保它们的“挂载路径”不同即可。
Q2:是否支持国际主流网盘,如 OneDrive 或 Google Drive?
✅ 完整支持。AList通过标准的OAuth 2.0流程进行授权,无需用户提供API Key,只需登录授权即可安全挂载。
Q3:访问和播放大量文件或大视频时性能如何?
- 文件列表:常规文件列表响应在毫秒级。对于超过万级文件的目录,建议启用缓存功能。
- 视频播放:支持直接流式播放(取决于存储后端是否支持),也支持通过内置的HLS转码进行适配播放(需服务器安装FFmpeg)。
九、总结
尽管“OpenList”在中文社区中常被用作此类程序的代称,但AList无疑是当前实现这一理念的最佳选择。它开源免费、生态活跃、文档齐全,并且部署简单。无论是个人希望统一管理散落在各处的云存储和网盘资源,还是团队需要搭建一个内部的文件共享门户,AList都能提供一个强大、美观且高效的解决方案。