开源

AList:支持多种存储后端的开源文件列表程序

AList 是一个开源文件列表和 WebDAV 程序,支持多种存储后端,包括云盘、FTP、S3 和本地存储,并提供现代化网页界面。

AList:支持多种存储后端的开源文件列表程序

如果您在多个云盘、FTP 服务器和 S3 存储桶之间管理文件,您就会知道在不同界面之间切换、记住不同 URL 以及调和不同权限模型的痛苦。AList 用一个直接的方案解决了这个问题:一个统管一切的 Web 界面。

AList 用 Go(Gin 后端)编写,搭配现代的 Solidjs 前端,已成长为最受欢迎的自托管文件管理平台之一,累积超过 48,000 个 GitHub 星。它通过一个干净、响应式的 Web 界面,在几乎任何存储后端上提供统一的文件列表和管理体验,并具有完整的 WebDAV 支持。

该项目源于一个实际需求:开发者需要跨多个云存储提供商管理文件,并希望有一个单一的管理界面。最初只是一个简单的文件列表,现在已演变为一个功能完整的平台,支持离线下载、跨存储复制文件、多线程流媒体和丰富的媒体预览——同时保持轻量级占用空间,可在适中的硬件上运行。


AList 支持哪些存储后端?

AList 的基于驱动程序的架构支持广泛且持续增长的存储后端列表。该系统设计为可扩展,社区定期为新的提供商贡献驱动程序。

存储类别支持的后端访问协议
本地本地文件系统、挂载卷直接文件 I/O
云盘百度网盘、115 云端、阿里云盘、Google Drive、OneDriveOAuth / API 密钥
对象存储S3、MinIO、Cloudflare R2、Backblaze B2S3 兼容 API
基于协议FTP、SFTP、WebDAV、SMB/CIFS标准协议
特殊用途MediaFire、189 云端、TeraBox、Yandex Disk提供商 API

每个驱动程序实现一个标准接口,这意味着可以在不修改核心 AList 代码的情况下添加新的后端。跨存储文件复制功能尤其强大——它允许直接在后端之间复制文件(例如,从 Google Drive 到 S3),而无需通过本地机器下载和重新上传。


AList 的架构如何工作?

AList 的架构将后端(Go/Gin API 服务器)与前端(Solidjs SPA)分离,通过 RESTful API 进行通信。后端处理认证、存储驱动程序管理、文件操作和媒体转码,而前端提供用户界面。

这一架构使 AList 同时成为 Web 文件管理器和 WebDAV 服务器。您可以将 AList 作为 WebDAV 驱动器挂载在 Windows 资源管理器、macOS Finder 或 Linux 文件管理器中,从而对所有连接的存储后端进行原生的操作系统级访问。


如何部署 AList?

AList 提供多种部署路径以适应不同的环境,所有方法都在项目官方网站上有文档记录。

方法命令 / 步骤使用场景
Dockerdocker run -d -p 5244:5244 xhofe/alist:latest快速、隔离的部署
二进制文件下载您操作系统的预构建二进制文件无需 Docker 依赖
源代码git clone && go build自定义构建
桌面版预构建的桌面应用程序安装程序个人使用,无需终端

默认端口为 5244,初始管理员密码在首次启动时生成并输出到日志中。AList 支持 HTTPS、自定义域名配置和数据库后端(默认为 SQLite,生产部署可选用 MySQL 和 PostgreSQL)。


AList 提供哪些文件预览和功能?

除了基本的文件列表外,AList 还提供一组丰富的功能,使其适用于个人媒体服务器和企业文档管理。

功能详细信息
媒体流视频和音频,支持字幕/歌词
文档预览PDF、Office 格式、Markdown、代码
图片库带缩略图的网格/浏览器视图
离线下载将文件直接下载到连接的存储
打包下载将目录下载为 ZIP 压缩包
文件永久链接用于分享的直接下载链接
深色模式内置深色主题
国际化多语言界面

AList 还包括带有基于角色的访问控制的用户管理,允许管理员对某些路径授予只读访问权限,同时保留对其他路径的写入权限。该平台支持目录的密码保护、速率限制和下载代理配置,以实现安全文件分发。


常见问题

什么是 AList? AList 是一个用 Go 编写的开源文件列表和 WebDAV 程序,可将多个存储后端整合到单一统一的 Web 界面中。它支持云盘(百度网盘、阿里云盘、115 云端)、标准协议(FTP、S3、WebDAV)和本地文件系统,在所有连接的存储源上提供一致的文件管理体验。

AList 支持哪些存储后端? AList 支持广泛的存储后端,包括本地存储、云盘(百度网盘、115 云端、阿里云盘、Google Drive、OneDrive)、对象存储(S3、MinIO)、基于协议的存储(FTP、SFTP、WebDAV、SMB),以及通过其可扩展驱动程序系统由社区贡献的许多驱动程序。

如何部署 AList? AList 支持多种部署方法。推荐的方法是 Docker:docker run -d -p 5244:5244 xhofe/alist:latest。也可以通过 Linux、Windows 和 macOS 的预构建二进制文件部署,或使用 Go 从源代码构建。为了方便,也提供桌面版本。

AList 提供哪些文件预览功能? AList 提供丰富的文件预览功能,包括 PDF 渲染、Markdown 渲染、代码语法高亮、图片库视图、带字幕支持的视频和音频播放、Office 文档预览(DOCX、PPTX、XLSX),以及用于目录说明的 README.md 渲染。

AList 使用什么许可证? AList 采用 AGPL-3.0 许可证,确保软件保持自由和开源。AGPL 许可证要求通过网络部署的任何修改版本都必须向用户提供其源代码。


延伸阅读

TAG
CATEGORIES