OpenList 是一个有韧性、长期治理、社区驱动的 AList 分支,旨在防御基于信任的开源攻击。
本仓库(OpenList-TSWorker)是官方 OpenListTeam/OpenList 项目的 TypeScript 移植版
基于 Cloudflare Workers / EdgeOne Cloud Function 运行
OpenList-TSWorker 是官方 OpenListTeam/OpenList(Go 后端,位于 OpenList-Backends)的 TypeScript 移植版,将后端从 Go 重写为运行于 Cloudflare Workers 上的 TypeScript 服务,前端保持一致的界面与交互体验。
- 上游源码:https://github.com/OpenListTeam/OpenList
- 本项目仅对上游进行技术栈移植(Go → TypeScript / Cloudflare Workers),不改动功能语义与数据模型。
- 本项目遵循与上游一致的 AGPL-3.0 开源许可证。
OpenList 是一个由 OpenList 团队独立维护的开源项目,遵循 AGPL-3.0 许可证,致力于保持完整的代码开放性和修改透明性。
我们注意到社区中出现了一些与本项目名称相似的第三方项目,如 OpenListApp/OpenListApp,以及部分采用相同或近似命名的收费专有软件。为避免用户误解,现声明如下:
-
OpenList 与任何第三方衍生项目无官方关联。
-
本项目的全部软件、代码与服务由 OpenList 团队维护,可在 GitHub 免费获取。
-
项目文档与 API 服务均主要依托于 Cloudflare 提供的公益资源,目前无任何收费计划或商业部署,现有功能使用不涉及任何支出。
我们尊重社区的自由使用与衍生开发权利,但也强烈呼吁下游项目:
-
不应以“OpenList”名义进行冒名宣传或获取商业利益;
-
不得将基于 OpenList 的代码进行闭源分发或违反 AGPL 许可证条款。
为了更好地维护生态健康发展,我们建议:
-
明确注明项目来源,并以符合开源精神的方式选择适当的开源许可证;
-
如涉及商业用途,请避免使用“OpenList”或任何会产生混淆的方式作为项目名称;
-
若需使用本项目位于 OpenListTeam/Logo 下的素材,可在遵守协议的前提下进行修改后使用。
感谢您对 OpenList 项目的支持与理解。
- 多种存储
- 本地存储
- 阿里云盘
- OneDrive / Sharepoint(国际版、中国、DE、US)
- 天翼云盘(个人、家庭)
- GoogleDrive
- 123云盘
- FTP / SFTP
- PikPak
- S3
- Seafile
- 又拍云对象存储
- WebDAV
- Teambition(中国、国际)
- MediaFire
- 分秒帧
- ProtonDrive
- 和彩云(个人、家庭、群组、分享)
- YandexDisk
- 百度网盘
- Terabox
- UC网盘
- 夸克网盘
- 迅雷网盘
- 蓝奏云
- 蓝奏云优享版
- Google 相册
- Mega.nz
- 百度相册
- SMB
- 115
- Cloudreve
- Dropbox
- 飞机盘
- 多吉云
- Azure Blob Storage
- 超星
- CNB
- Degoo
- 豆包
- Febbox
- GitHub
- OpenList
- Teldrive
- 微云
- 钉钉文档
- 部署方便,开箱即用
- 文件预览(PDF、markdown、代码、纯文本等)
- 画廊模式下的图片预览
- 视频和音频预览,支持歌词和字幕
- Office 文档预览(docx、pptx、xlsx 等)
-
README.md预览渲染 - 文件永久链接复制和直接文件下载
- 黑暗模式
- 国际化
- 受保护的路由(密码保护和认证)
- WebDAV
- Cloudflare Workers 原生部署
- 文件/文件夹打包下载
- 网页上传(可允许访客上传)、删除、新建文件夹、重命名、移动和复制
- 离线下载
- 跨存储复制文件
- 单文件多线程下载/流式加速
- 运行环境:Cloudflare Workers(Edge Computing)
- Web 框架:Hono.js
- 数据库:Cloudflare D1(SQLite)/ 支持 MySQL、MariaDB、PostgreSQL、SQL Server
- 缓存:Cloudflare KV(可选)
- 语言:TypeScript
- 构建工具:Wrangler、esbuild
- 框架:React 19 + TypeScript
- UI 库:Ant Design / Material-UI
- 构建工具:Vite
OpenList-TSWorker/
├── src/ # 后端源码(TypeScript / Cloudflare Workers)
│ ├── admin/ # 系统管理模块
│ ├── binds/ # OAuth 绑定管理
│ ├── crypt/ # 加密配置管理
│ ├── drive/ # 云存储驱动
│ ├── fetch/ # 离线下载管理
│ ├── files/ # 文件操作管理
│ ├── group/ # 用户组管理
│ ├── mates/ # 元数据配置管理
│ ├── mount/ # 挂载路径管理
│ ├── oauth/ # OAuth 认证管理
│ ├── saves/ # 数据持久化
│ ├── share/ # 分享管理
│ ├── system/ # 系统信息
│ ├── tasks/ # 任务管理
│ ├── token/ # Token 管理
│ ├── users/ # 用户管理
│ └── index.ts # 主入口文件
├── pages/ # 前端源码
├── prisma/ # Prisma 数据模型
├── migrations/ # 数据库迁移
├── schema.sql # 数据库结构
├── wrangler.jsonc # Cloudflare Workers 配置
└── package.json # 项目依赖
完整部署说明请参考上游官方文档:https://doc.oplist.org
- Node.js 18+
- Cloudflare 账号(用于部署到 Workers)
# 1. 安装后端依赖
npm install
# 2. 安装前端依赖
npm run install:page
# 3. 配置 wrangler.jsonc(填写 JWT_SECRET、KV/D1 绑定)
# 4. 启动后端开发服务器
npm run dev
# 5. 在另一个终端启动前端开发服务器
npm run dev:page# 一键部署(前端构建 + 后端部署到 Cloudflare Workers)
npm run deploy如有一般性问题请前往 Discussions 讨论区,Issues 仅用于错误报告和功能请求。
OpenList 是基于 AGPL-3.0 许可证的开源软件。
- 本项目为免费开源软件,旨在通过网盘便捷分享文件,主要用于 Go 语言的下载与学习。
- 使用本软件时请遵守相关法律法规,严禁任何形式的滥用。
- 本软件基于官方 SDK 或 API 实现,未对其行为进行任何修改、破坏或干扰。
- 仅进行 HTTP 302 跳转或流量转发,不拦截、存储或篡改任何用户数据。
- 本项目与任何官方平台或服务提供商无关。
- 本软件按“原样”提供,不附带任何明示或暗示的担保,包括但不限于适销性或特定用途的适用性。
- 维护者不对因使用或无法使用本软件而导致的任何直接或间接损失负责。
- 您需自行承担使用本软件的所有风险,包括但不限于账号被封、下载限速等。
- 本项目遵循 AGPL-3.0 许可证,详情请参见 LICENSE 文件。
我们衷心感谢原项目 AlistGo/alist 的作者 Xhofe 及所有其他贡献者。
感谢这些优秀的人: