OpenList
通过 83 种存储驱动统一聚合阿里云盘、百度网盘、Google Drive 等主流网盘,一个 Web
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
通过 83 种存储驱动统一聚合阿里云盘、百度网盘、Google Drive 等主流网盘,一个 Web
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:OpenList 项目 Logo
你是否有过这样的经历:辛苦整理了几年的云盘文件,某天突然收到通知——账号存在"异常操作"被封禁,所有资料无法访问。又或者,国内某网盘服务商悄悄调整了接口,原来正常使用的同步工具一夜之间全部失灵。这些并非极端个例。随着各大云服务商加强对账号行为的监控,以及部分平台对第三方工具的封禁,越来越多的用户意识到:把数据托付给单一商业平台,是有风险的。
OpenList 正是在这样的背景下诞生的。它不是一个普通的文件管理器,而是一个统一聚合层——通过 83 种存储驱动的插件化架构,将阿里云盘、百度网盘、Google Drive、OneDrive、天翼云、S3 等几乎所有主流网盘服务,整合到一个 Web 界面中统一管理。用户只需部署一个服务,就能通过浏览器访问、搜索、分享来自几十个不同来源的文件,彻底摆脱"每个平台装一个 App"的割裂体验。

图2:OpenList 支持多种第三方客户端访问
OpenList 是 AList 项目的一个社区分支。AList 是一款在 GitHub 上拥有超过 3.8 万 Star 的知名文件管理工具,其设计理念是"让文件存储系统团结起来"。然而,2024 年底,原 AList 维护者因其个人公司业务相关原因,在社区引发了一场关于「开源项目治理信任」的广泛讨论。
OpenList 团队由此决定:fork AList,建立一个长期由社区治理、代码完全透明的分叉版本。项目采用 AGPL-3.0 开源许可证,明确承诺永不闭源,并成立了 OpenList 团队独立维护。这一立场赢得了大量原 AList 用户和贡献者的支持,项目 Star 数在短时间内飙升至 2.2 万以上,迅速成为存储类开源项目中的顶流。
项目的 Logo 和品牌素材也完全独立,开源托管在 OpenListTeam/Logo 仓库中,任何人可在遵守协议的前提下自由使用和修改。
OpenList 的核心卖点是其插件化存储驱动系统。目前支持 83 种存储类型,大致可分为以下几类:
| 类别 | 代表驱动 |
|---|---|
| 国内云盘 | 阿里云盘、百度网盘、123云盘、天翼云、和彩云、迅雷云盘 |
| 国际云盘 | OneDrive、Google Drive、Dropbox、pCloud、Mega、ProtonDrive |
| 对象存储 | S3(AWS/阿里/腾讯/华为等)、Azure Blob、又拍云 |
| 协议存储 | WebDAV、SFTP、FTP、SMB/NAS |
| 垂直平台 | Teambition、Seafile、Cloudreve、MediaFire、分秒帧 |
| 特殊用途 | IPFS、STrm(流媒体直链)、Virtual(虚拟文件夹) |
每个驱动都是一个独立的 Go 包,位于 drivers/ 目录下,遵循统一的接口规范。这种设计使得社区可以快速添加新驱动——目前驱动数量仍在持续增长。
OpenList 将所有存储统一呈现在一个 Web 文件管理器中,支持:
OpenList 不仅仅是一个 Web UI,它同时是一个多协议网关。内置支持:

图3:iina 播放器直接通过 OpenList 播放网盘视频
这意味着用户可以配置一次,之后用任何原生工具(Finder、资源管理器、播放器)直接访问远程文件,无需每次打开网页。
OpenList 的后端完全使用 Go 语言开发,主要依赖:
go:embed 打包存储元数据版本信息通过编译时 ldflags 注入,包括构建时间、Git 提交哈希、前端版本号等,确保每次部署都可追溯。
OpenList 的前端资源(HTML/CSS/JS)通过 Go 的 //go:embed 指令直接打包进二进制文件:
//go:embed all:dist
var Public embed.FS
这意味着无需单独部署前端:编译后的单个二进制文件就是一个完整的、可独立运行的服务端。这是 AList/OpenList 广受欢迎的关键设计之一——用户只需下载一个可执行文件,配置好存储账号,一个全功能文件管理服务就上线了。
Docker 构建时,前端资源通过 FRONTEND_REPO 环境变量指向 OpenListTeam/OpenList-Frontend 仓库的 Release,构建脚本自动下载并嵌入。
Dockerfile 采用了多阶段构建:builder 阶段负责 Go 编译,运行阶段基于 openlistteam/openlist-base-image,通过 BASE_IMAGE_TAG ARG 支持 base/aria2/ffmpeg/aio 四种镜像变体。base 镜像仅包含核心功能;aria2 变体集成离线下载;ffmpeg 变体支持视频转码;aio(All-In-One)包含全部扩展。这种镜像分层策略让用户可以根据需求选择最小镜像。
services:
openlist:
image: openlistteam/openlist:latest
volumes:
- '/etc/openlist:/opt/openlist/data'
ports:
- '5244:5244' # Web 服务
- '5245:5245' # WebDAV 服务
environment:
- TZ=Asia/Shanghai
restart: always
一行命令 docker-compose up -d 即可启动。
OpenList 几乎不需要 GPU,纯 CPU 运算。内存占用仅需 512MB 以上,磁盘仅需 200MB(不含存储数据)。一台普通的低配云服务器(1核1G)就能流畅运行。对于家庭用户,树莓派(3B+ 以上)也能胜任。
部署难点主要集中在:存储账号的 API Token 获取(如阿里云盘的刷新令牌、百度网盘的 access_token),这部分需要用户自行在对应平台申请。
OpenList 作为 AList 的分叉,引发了部分社区争议。一些观点认为,分叉本身虽然合法,但可能造成社区分裂,影响 AList 生态的健康发展。OpenList 团队在 README 中明确声明与第三方衍生项目(如 OpenListApp/OpenListApp)无任何关联,并呼吁下游项目不要冒用 OpenList 名义。
OpenList 高度依赖各大云服务商的非官方 API。这些 API 并非云服务商官方公开支持,随时可能因平台政策调整而失效。例如,百度网盘、阿里云盘的第三方接口历史上曾多次被限制。OpenList 团队需要持续跟进并更新驱动以应对这些变化,这是一项长期的维护负担。
虽然项目包含 WebAuthn 登录和细粒度的权限控制设计,但 OpenList 本质上是一个将多个第三方账号权限集中管理的平台。用户需要妥善保管配置好的 API Token,一旦服务端被入侵,所有绑定的存储账号均面临风险。建议通过反向代理 + HTTPS + 强密码策略保护服务访问。
OpenList 的出现,本质上回应了一个根本性问题:在云服务碎片化的时代,如何获得数据主权? 通过统一聚合层的思路,OpenList 让用户即使面对十几个不同的云服务商,也能维持统一的文件管理体验。
从增长曲线看,AList 系项目在过去两年保持了极高的社区活跃度,反映了市场对此类工具的强劲需求。随着 AI 助手对文件检索、知识管理场景的重视程度提升,类似 OpenList 这样的结构化文件聚合层,有望成为 AI 时代的"个人知识库入口"。
目前 OpenList 的发展方向包括:持续扩展存储驱动覆盖、增加 AI 辅助的文件分类和搜索能力、改进移动端体验,以及完善团队协作功能。