首页
cloudflare技术

在 Cloudflare 上零成本搭建全能文件管理与文本分享平台

在 Cloudflare 上零成本搭建全能文件管理与文本分享平台:CloudPaste是一套全栈技术方案,支持多存储聚合、智能上传、文件预览、Markdown编辑器等功能,仅需 Cloudflare 免费额度,无需管理服务器。

洛宸

洛宸

在 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]

部署教程

准备工作

开始部署前,你需要准备:

  1. 一个 Cloudflare 账号[reference:18]
  2. 一个 GitHub 账号
  3. 如果使用 R2:开通 Cloudflare R2 服务并创建存储桶(需绑定支付方式)[reference:19]
  4. 其他 S3 存储服务配置信息(如使用):S3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEYS3_BUCKET_NAMES3_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:

  1. 访问 Cloudflare API Tokens[reference:31]
  2. 点击 Create Token,选择 Edit Cloudflare Workers 模板[reference:32]
  3. 添加额外权限:Account → D1Edit;Account → Cloudflare PagesEdit(分离部署时需要)[reference:33]
  4. 点击 Continue to summaryCreate 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]: