在 Cloudflare 上零成本搭建全能文件管理与文本分享平台
CloudPaste:在 Cloudflare 上零成本搭建全能文件管理与文本分享平台
项目介绍
在日常工作和生活中,我们经常需要分享文件、托管文本、管理云存储。但现有的工具要么功能单一,要么依赖服务器,要么数据分散在不同平台难以统一管理。而 CloudPaste 的出现完美解决了这一问题——它是一个运行在 Cloudflare 上的 Serverless 文件管理与文本分享工具,让你可以在零服务器成本的情况下,拥有一个功能完整、界面优雅、支持多存储聚合的私有网盘系统。
项目地址:https://github.com/luochen-zhang/CloudPaste
开源协议:MIT
核心优势
- 费用:0 元(利用 Cloudflare 免费额度)[reference:0]
- 性能:极速(基于 Cloudflare Workers 300+ 全球边缘节点就近响应)[reference:1]
- 灵活:支持 S3、WebDAV、OneDrive、Google Drive、Telegram 等十余种存储后端[reference:2]
- 功能全面:文件管理 + Markdown 编辑器 + WebDAV 挂载 + 30+ 文件格式预览[reference:3]
- 运维成本:零——无需管理服务器,自动扩缩容[reference:4]
核心功能
CloudPaste 是一套完整的文件管理与分享解决方案,功能覆盖了日常使用的方方面面:
| 功能模块 | 说明 |
|---|---|
| 多存储聚合 | 支持 S3 兼容存储(R2、B2、AWS S3、阿里云 OSS、腾讯云 COS、MinIO 等)、WebDAV、OneDrive、Google Drive、Telegram、Discord Bot、HuggingFace、GitHub API/Releases 等[reference:5] |
| 智能上传 | 前端预签名直传 + 流式上传 + 分块断点续传,实时显示进度,最大限度规避 Cloudflare 限制[reference:6] |
| 文件预览 | 直接预览 30+ 格式(图片、视频、音频、PDF、Office、代码、电子书等),其他格式可通过外部 IFrame 嵌入预览[reference:7] |
| Markdown 编辑器 | 集成 Vditor,支持 GitHub 风格 Markdown、数学公式、流程图、思维导图[reference:8] |
| 富文本分享 | 所见即所得编辑体验,一键导出 PDF、HTML、PNG、Word[reference:9] |
| 安全分享 | 密码保护、有效期、访问次数限制[reference:10] |
| 原始直链 | 类似 GitHub Raw,适合托管配置文件[reference:11] |
| WebDAV 协议 | 支持标准 WebDAV 协议,可挂载为网络硬盘[reference:12] |
| 权限管理 | API Key 授权、细粒度访问控制、可配置 TTL 缓存[reference:13] |
| 定时任务 | 支持清理上传会话、存储同步、搜索索引重建等自动化任务[reference:14] |
| PWA 支持 | 可安装为桌面应用,离线可用[reference:15] |
| 统一管理 | 可视化配置多存储源,灵活切换默认存储源[reference:16] |
技术栈
CloudPaste 采用了现代化的全栈技术方案:
- 平台:Cloudflare Workers / Pages
- 数据库:Cloudflare D1(SQLite)
- 前端框架:Vue 3 + Vite
- 部署方式:支持 Cloudflare Workers(一体化/分离部署)、Docker、Vercel、ClawCloud 等[reference:17]
部署教程
准备工作
开始部署前,你需要准备:
- 一个 Cloudflare 账号[reference:18]
- 一个 GitHub 账号
- 如果使用 R2:开通 Cloudflare R2 服务并创建存储桶(需绑定支付方式)[reference:19]
- 其他 S3 存储服务配置信息(如使用):
S3_ACCESS_KEY_ID、S3_SECRET_ACCESS_KEY、S3_BUCKET_NAME、S3_ENDPOINT[reference:20]
部署架构选择
CloudPaste 提供两种部署架构[reference:21]:
| 架构 | 说明 | 适用场景 |
|---|---|---|
| 一体化部署(推荐) | 前后端部署在同一个 Cloudflare Worker | 同源无 CORS 问题,配置简单,节省 60%+ 成本[reference:22] |
| 分离部署 | 后端部署 Workers,前端部署 Pages | 灵活管理,可独立维护,前端可切换到 Vercel 等平台[reference:23] |
方式一:GitHub Actions 自动化部署(推荐)
这是最便捷的部署方式,配置一次后,后续推送代码即可自动部署[reference:24]。
第 1 步:Fork 仓库
登录 GitHub,打开 CloudPaste 项目仓库,点击右上角的 Fork 按钮,将仓库复制到你的 GitHub 账号下[reference:25]。
第 2 步:配置 GitHub Secrets
在你的 GitHub Fork 仓库中,进入 Settings → Secrets and variables → Actions,添加以下 Secrets[reference:26]:
| Secret 名称 | 是否必需 | 说明 |
|---|---|---|
CLOUDFLARE_API_TOKEN |
✅ 必需 | Cloudflare API 令牌(需 Workers、D1、Pages 权限)[reference:27] |
CLOUDFLARE_ACCOUNT_ID |
✅ 必需 | Cloudflare 账号 ID[reference:28] |
ENCRYPTION_SECRET |
❌ 可选 | 加密敏感数据的密钥(不提供则自动生成)[reference:29] |
ACTIONS_VAR_TOKEN |
✅ 必需 | GitHub Token(仅使用部署控制面板时需要)[reference:30] |
获取 Cloudflare API Token:
- 访问 Cloudflare API Tokens[reference:31]
- 点击 Create Token,选择 Edit Cloudflare Workers 模板[reference:32]
- 添加额外权限:Account → D1 → Edit;Account → Cloudflare Pages → Edit(分离部署时需要)[reference:33]
- 点击 Continue to summary → Create Token,复制并保存 Token[reference:34]
获取 Account ID:
在 Cloudflare 仪表盘右侧找到 Account ID 并复制[reference:35]。
第 3 步:触发部署
进入仓库 Actions 标签页,点击左侧的 Deploy SPA CF Workers[一体化部署],然后点击 Run workflow,选择 main 分支后运行[reference:36]。
💡 部署过程约需 3-5 分钟,工作流会自动完成:构建前端静态资源、安装后端依赖、创建/验证 D1 数据库、初始化数据库结构、设置加密密钥、部署到 Cloudflare Workers[reference:37]。
第 4 步:获取部署地址
部署成功后,在 Actions 日志中可以看到类似输出[reference:38]: