基于Cloudflare R2搭建免费云盘,支持带密码分享、查看下载量、管理用户等功能
摘要
EdgeStash 是一个完全构建在 Cloudflare 之上的私有云盘,利用 Workers、R2 存储与 KV,提供带密码分享、在线预览 docx/pdf、后台管理授权用户、查看文件浏览/下载量等功能。本文介绍创建 KV 与 R2、部署 Worker 并绑定变量、设置管理员密码的完整步骤,并提示 R2 免费额度 10G 且需绑卡,仅推荐个人或团队内部使用。
前言
想搭一个自己的私有云盘,很多人第一反应是买 NAS、租服务器。但其实如果你已经有 Cloudflare 账号,完全可以零服务器成本搭一个够用的云盘——靠的就是 Cloudflare 那一套免费基础设施。
EdgeStash 就是这样一个项目:功能强大、部署简单的私有云盘方案,完全构建在 Cloudflare 的全球网络之上。它用 Cloudflare Workers(运行)+ R2(文件存储)+ KV(元数据/配置存储),给你提供一个安全、快速、低成本的个人或团队文件存储与分享平台。

它支持带密码分享文件、在线预览 docx/pdf 文档、后台管理授权用户、查看分享文件的浏览/下载量,功能相当全。项目地址:https://github.com/hhy-2021/EdgeStash
⚠️ 先说个前提,别等部署完才发现:R2 的免费额度只有 10G,而且需要绑定信用卡才能开通 R2。所以这个云盘我只推荐个人或团队内部使用,不适合当对外的大容量公共网盘。

部署教程
整体流程:建 KV → 建 R2 → 建 Worker → 贴代码 → 绑 KV/R2 → 配管理员密码。
第 1 步:创建 KV 命名空间
进入 Cloudflare 控制台,创建一个 KV 命名空间(用来存云盘的配置、分享信息等轻量数据),名字随意。

第 2 步:创建 R2 存储桶
再创建一个 R2 存储桶(R2 是 Cloudflare 的对象存储,用来实际存你的文件),名字随意。

第 3 步:创建 Workers 应用程序
进入 Workers & Pages,创建一个 Workers 应用程序。

第 4 步:从 Hello World 开始
创建 Worker 时,选择从 Hello World 模板开始,先建一个空的 Worker 项目(后面要替换它的代码)。

第 5 步:复制项目代码
EdgeStash 的核心逻辑在项目仓库的 worker.js 里。打开下面地址,复制里面的完整代码:
https://github.com/hhy-2021/EdgeStash/blob/main/worker.js

第 6 步:粘贴代码并部署
回到刚建的 Worker,点 编辑代码,把默认的 Hello World 代码全部替换成刚复制的 worker.js 内容,然后点 部署。

第 7 步:配置 KV / R2 绑定与环境变量
返回 Worker 的概览页面,点 设置 → 变量和机密,进入配置页。

在这里配置下面三样东西:
配置 KV 绑定:
变量名称:
KV_STOREKV 命名空间:选择第 1 步创建的那个

配置 R2 绑定:
变量名称:
R2_BUCKETR2 存储桶:选择第 2 步创建的那个

配置环境变量:
ADMIN_PASSWORD:设置你的管理员登录密码

配置完后,记得重新部署让绑定和变量生效。
访问
1. 直接访问
配置好之后,用 Worker 默认的地址就能直接访问云盘了。

2. 绑定自定义域名(推荐)
默认的 workers.dev 地址不方便记忆和分享,建议绑定自定义域名,用起来更顺手。

已知小 bug 与排错
管理员登录点"登录"没反应
这是个已知小 bug。解决办法:切换到用户登录标签,把用户登录里的"邮箱"输入框内容清空,然后重新进行管理员登录即可。
访问报错 / 文件上传失败
确认
KV_STORE、R2_BUCKET绑定名和值都对(和代码里一致),并已重新部署。确认 R2 已绑定信用卡、额度充足(免费 10G)。
我的结论
EdgeStash 这套方案,用 Cloudflare 的 Workers + R2 + KV 拼出了一个功能完整的私有云盘——带密码分享、文档在线预览、后台用户管理、下载量统计,该有的都有,而且不用自己买服务器,对个人或小团队内部用来说非常合适。
它最需要你提前想清楚的就是那个前提:R2 只有 10G 免费额度,且要绑卡。所以它的定位是"内部工具",不是"对外大容量公共网盘"。如果你只是需要给团队、给朋友分享一些文档,或者做自己的私密文件库,10G 完全够用,性价比很高。
如果你想要一个属于自己的云盘、又不想为它单独租服务器,EdgeStash 值得一试,按上面的步骤半小时内就能搭好。