小白零基础教程:基于 Cloudflare Pages + R2 + D1 搭建私有轻量网盘与文件快传系统(0服务器/不限速)
作者:爱搜资源
难度:★★☆☆☆(超详细保姆级,跟着点鼠标就能搭建完成)
预计耗时:10 ~ 15 分钟
开源项目:https://github.com/yys9253462-gif/isoziyuan-pan
演示站点:https://pan.ailxw.com
🌟 为什么你需要这个私有网盘?
平常分享大文件或资源给朋友、客户时,传统方式往往非常折磨:
- 公共网盘限速严重:下载还要强制安装客户端、注册登录,甚至不开会员只有几十 KB/s;
- 自建网盘服务器太昂贵:买台云主机,带宽只有小水管 3M~5M,传几个大文件瞬间把服务器流量或带宽跑爆;
- 搭建维护门槛高:Nextcloud、Alist 等虽然好用,但需要维护 Linux 服务器、反向代理、SSL 证书与挂载存储。
今天教大家搭建的 isoziyuan-pan 彻底颠覆了这一切:
- ⚡ 纯 Serverless 架构,完全无需购买 VPS 服务器;
- 📦 类似蜂巢快递柜的 5 位数字取件码体验:支持输入取件码即刻下载,支持阅后即焚、限制下载次数或设置有效天数;
- 💰 极致省钱(真正 0 成本):文件存储在 Cloudflare R2(每月赠送 10GB 永久免费存储,且全球出网流量完全 0 元,不限速);
- 🚀 大文件客户端直传(Presigned PUT):上传与下载直连 R2,完全不消耗 Workers 的 CPU 执行时间,哪怕传几个 G 的文件也极其稳定!
📋 准备工作
开始前只需要准备两个免费账号:
- GitHub 账号:https://github.com
- Cloudflare 账号(需开通 R2 存储功能,免费版绑定一张双币信用卡或 PayPal 进行身份验证即可,日常完全在免费额度内,不产生任何扣费):https://dash.cloudflare.com
第一部分:Fork 开源项目到你的 GitHub 仓库
- 打开网盘开源项目仓库:
👉 https://github.com/yys9253462-gif/isoziyuan-pan - 点击页面右上角的
Fork按钮; - 仓库名保持默认
isoziyuan-pan,点击Create fork; - 稍等片刻,项目代码就完整克隆到了你的 GitHub 账号下。
第二部分:在 Cloudflare 创建存储与数据库服务
在部署网页之前,我们需要先准备好存放文件的 R2 存储桶 和保存文件目录与取件码的 D1 数据库。
第 1 步:创建 R2 对象存储桶(放文件)
- 登录进入 Cloudflare 控制台;
- 在左侧菜单栏点击
存储和数据库(Storage & Databases) →R2 对象存储(R2 Object Storage); - 点击右侧的
创建存储桶(Create bucket); - 存储桶名称 (Bucket name):填写
forum-uploads(或者自定义名称,如my-pan-bucket);💡 提示:如果填写了其他名字,待会绑定时请选择该名字。
- 存储位置保持默认(自动),点击右下角
创建存储桶。
第 2 步:创建 D1 关系型数据库(存元数据与取件码)
- 仍然在左侧菜单栏点击
D1 SQL 数据库(D1 SQL database); - 点击右上角
创建数据库(Create database); - 数据库名称填入:
isoziyuan-pan-db,点击创建。
第 3 步:执行 SQL 建表
- 点击刚创建好的
isoziyuan-pan-db,切换到上方的控制台(Console) 标签页; - 返回你的 GitHub 仓库,打开根目录下的
schema.sql文件,全选并复制代码; - 粘贴到 D1 控制台输入框中,点击
执行(Execute); - 提示执行成功后,用于存放文件信息表、取件码表(
shares)、容量用量统计表(storage_usage)就全部初始化完毕了!
第三部分:部署 Cloudflare Pages 前端与接口
- 在 Cloudflare 控制台左侧点击
Workers 和 Pages; - 点击右上角
创建应用程序(Create application) → 选择Pages标签页 → 点击连接到 Git(Connect to Git); - 授权 GitHub 后,在仓库列表中勾选你刚才 Fork 的
isoziyuan-pan,点击开始设置; - 构建参数填写如下(务必仔细核对):
- 项目名称 (Project name):
isoziyuan-pan - 生产分支 (Production branch):
main - 框架预设 (Framework preset):
None - 构建命令 (Build command):留空,什么都不要输入!
- 构建输出目录 (Build output directory):填入一个单点
.
- 项目名称 (Project name):
- 点击底部的
保存并部署(Save and Deploy)。
部署大约耗时 20 秒,完成后你会获得一个默认访问地址(如 https://isoziyuan-pan.pages.dev)。此时打开网页会看到取件界面,但还不能上传文件,因为我们还没完成绑定。
第四部分:关键环节 —— 绑定 R2 存储桶、D1 数据库与管理密码
这是整套系统最核心的一步,请按以下步骤依次配置:
1. 绑定 D1 数据库
- 进入你刚刚创建的
isoziyuan-panPages 项目; - 依次点击上方
设置(Settings) → 左侧函数(Functions); - 向下滚动找到
D1 数据库绑定(D1 Database Bindings),点击添加绑定(Add binding):- 变量名称 (Variable name):必须填写大写的
DB; - D1 数据库:下拉选择
isoziyuan-pan-db;
- 变量名称 (Variable name):必须填写大写的
- 点击保存。
2. 绑定 R2 存储桶
- 依然在当前页面的函数绑定列表中,找到
R2 存储桶绑定(R2 Bucket Bindings),点击添加绑定:- 变量名称 (Variable name):必须填写大写的
R2; - R2 存储桶:下拉选择第一步创建的
forum-uploads(或你自定义的桶名);
- 变量名称 (Variable name):必须填写大写的
- 点击保存。
3. 配置管理员密码与安全密钥(Environment Variables)
- 在当前项目的
设置(Settings) 中,点击左侧菜单的环境变量(Environment variables); - 在
生产(Production) 栏目中点击添加变量(Add variable),依次添加以下两个变量:- 变量 1:
- 变量名:
ADMIN_PASSWORD - 值:输入你想设置的后台管理密码(例如
AdminPan@2026) - 务必勾选:
加密(Encrypt)
- 变量名:
- 变量 2:
- 变量名:
SESSION_SECRET - 值:输入一串长随机字符(用于会话安全加密,例如
a98f7bc2e148df2048cf6e) - 务必勾选:
加密(Encrypt)
- 变量名:
- 变量 1:
- 点击
保存。
4. 触发重试部署生效
⚠️ 新手避坑核心要点:每次新增了绑定或修改了环境变量后,必须手动重新部署一次,否则云函数代码读取不到新绑定的数据库和密钥!
点击顶部的部署(Deployments) 标签,在最新一条记录右侧点击...,选择重试部署(Retry deployment)。
第五部分:登录后台,体验极速上传与取件码分享!
- 在浏览器中打开:
https://你的项目名.pages.dev/admin.html; - 输入你设置的
ADMIN_PASSWORD点击登录,即可进入充满高级暗黑拟态风格的管理后台; - 创建文件夹与上传:
- 可以随意新建多级目录分类存放文件;
- 点击“上传文件”,直接把电脑里的大文件或图片拖入,页面直接显示直传进度条,秒传上云!
- 生成 5 位取件码:
- 在任何已上传的文件右侧,点击 “分享 / 取件码”;
- 可以设置:
- 📅 有效期限:1小时、1天、7天或永久有效;
- 🔢 下载次数:不限次数、或者仅允许下载 1 次(阅后即焚防泛滥);
- 点击生成后,会得到一个像
68291这样的 5 位数字取件码以及直接下载的直达链接!
- 极速取件测试:
- 打开首页
https://你的项目名.pages.dev,直接输入68291,按回车瞬间自动解析文件名并调起浏览器高速下载!
- 打开首页
第六部分:绑定自定义专属域名(如 pan.ailxw.com)
- 进入 Pages 项目的
自定义域(Custom domains) 标签页; - 点击
设置自定义域,填入你的专属二级域名,例如pan.ailxw.com; - 点击继续,Cloudflare 会全自动处理 DNS 解析与免费 SSL 证书签发;
- 1 分钟后,你就可以直接通过自己干净好记的域名
https://pan.ailxw.com分享文件给任何人了!
🚨 新手避坑指南与常见报错
| 常见问题排查 | 背后根本原因 | 一键解决办法 |
|---|---|---|
| 上传文件提示 Upload Failed / 403 | R2 绑定未配置或变量名写错 | 检查 Settings → Functions → R2 绑定,变量名称必须是大写的 R2。 |
| 登录后台提示 401 Unauthorized | 密码环境变量未生效 | 确认添加了 ADMIN_PASSWORD,并在 Deployments 页面点击一次 Retry deployment 重试部署。 |
| 取件提示 500 / 数据库错误 | D1 绑定名称错误或未执行建表 | 1. 确认 D1 绑定变量名是大写 DB;2. 确认在 D1 控制台执行了 schema.sql 建表语句。 |
| 大文件上传途中卡死 | 走了中转而非直传 | 本项目已采用 Presigned URL 客户端直连模式,确保本地网络不中断即可。 |
🎁 本地修改进阶:一键双击极速发布
如果您将代码 Clone 到了本地电脑进行 UI 微调或二次开发,根目录下同样贴心内置了:
📂 一键发布到Cloudflare.bat
平常改动代码后,直接双击运行它,脚本会自动比对 Git 差异、提交到 GitHub 并直推 Cloudflare Pages 边缘节点,全程仅需 2 秒,省去所有繁琐的手动部署步骤!
赶快动手搭建一个专属于你的高速、私密、永久免费的个人网盘吧!
本文主题:小白零基础教程:基于 Cloudflare Pages + R2 + D1 搭建私有轻量网盘与文件快传系统(0服务器/不限速)
引用出处:https://isoziyuan.com/p/100140/(作者:Isoziyuan · 发布于爱搜资源网)
登录后参与讨论
注册或登录账户,即可查看并发表文章评论。