FlareDrive-R2 是基于 Cloudflare R2 + Workers 构建的在线网盘系统,支持:
- 文件上传/下载/分享
- 多用户权限管理
- 目录级访问控制
- 静态文件托管
📌 本项目修改自 Cloudflare-R2-oss,实现了更加美观的前端页面,本人并不擅长
CF Worker开发,所以如果有功能方面的需求,请在上游仓库提出。
- Cloudflare 账号
- 已开通 R2 服务
前往 Cloudflare R2 控制台:
https://pub-kdsjfhlasnwiuweia4387rfho85tnof4.r2.dev- Fork 本项目仓库到你的 GitHub
- 打开 Cloudflare Pages,新建一个站点
- 点击「连接到 Git」并选择你的仓库
- 保持默认的构建设置即可,第一次构建不会显示内容,为正常现象
在 Cloudflare Pages 项目中,进入 Settings → Environment Variables 添加以下变量:
| 变量名 | 示例值 | 是否必要 | 说明 |
|---|---|---|---|
PUBURL |
https://pub-kdsjfhlasnwiuweia4387rfho85tnof4.r2.dev |
✅ 必填 | R2 公共存储桶地址 |
admin:123456 |
* |
✅ 必填 | 管理员账号,格式为 用户名:密码 |
GUEST |
public/ |
❌ 可选 | 游客写入的默认目录 |
user1:123456 |
user1/,shared/ |
❌ 可选 | 普通用户及其可写入目录,支持多个目录,格式一致 |
部署完成后:
- 进入 Cloudflare Pages 项目设置
- 点击「R2 存储桶」
- 添加一个绑定,变量名填写为:
BUCKET
并选择你的 R2 存储桶。
完成所有设置后,回到 Pages 控制台,点击「Deployments」页面右上角的「Trigger Redeploy」以重新部署服务。
由于 Wrangler 部署无法使用传统环境变量注入,我偷懒了,不想写环境变量,但是仍然可以简单的进行修改,请直接修改以下文件:
-
背景图片
修改文件:assets/App.vue// 约第 213 行 export default { data: () => ({ ... backgroundImageUrl: "/assets/bg-light.webp" }), } -
页脚链接
修改文件:assets/Footer.vue// 约第四十行 <script> export default { name: "Footer", data() { return { homeUrl: "https://www.liushen.fun/", blogUrl: "https://blog.liushen.fun/", githubUrl: "https://github.com/willow-god", emailUrl: "mailto:01@liushen.fun" }; } }; </script>
- 使用
*作为值表示拥有所有目录权限 - 目录名必须以
/结尾 - 避免在值的前后添加多余逗号(如
,dir1/,会错误授予全部权限)
-
文件上传失败:
- 检查 R2 存储桶是否已绑定
- 确认用户有目标目录的写入权限
-
样式未更新:
- 清除浏览器缓存
- 确认修改已提交并重新部署