小白零基础教程:基于 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 的文件也极其稳定!

📋 准备工作

开始前只需要准备两个免费账号:

  1. GitHub 账号:https://github.com
  2. Cloudflare 账号(需开通 R2 存储功能,免费版绑定一张双币信用卡或 PayPal 进行身份验证即可,日常完全在免费额度内,不产生任何扣费):https://dash.cloudflare.com

第一部分:Fork 开源项目到你的 GitHub 仓库

  1. 打开网盘开源项目仓库:
    👉 https://github.com/yys9253462-gif/isoziyuan-pan
  2. 点击页面右上角的 Fork 按钮;
  3. 仓库名保持默认 isoziyuan-pan,点击 Create fork;
  4. 稍等片刻,项目代码就完整克隆到了你的 GitHub 账号下。

第二部分:在 Cloudflare 创建存储与数据库服务

在部署网页之前,我们需要先准备好存放文件的 R2 存储桶 和保存文件目录与取件码的 D1 数据库。

第 1 步:创建 R2 对象存储桶(放文件)

  1. 登录进入 Cloudflare 控制台;
  2. 在左侧菜单栏点击 存储和数据库 (Storage & Databases) → R2 对象存储 (R2 Object Storage);
  3. 点击右侧的 创建存储桶 (Create bucket);
  4. 存储桶名称 (Bucket name):填写 forum-uploads(或者自定义名称,如 my-pan-bucket);

    💡 提示:如果填写了其他名字,待会绑定时请选择该名字。

  5. 存储位置保持默认(自动),点击右下角 创建存储桶。

第 2 步:创建 D1 关系型数据库(存元数据与取件码)

  1. 仍然在左侧菜单栏点击 D1 SQL 数据库 (D1 SQL database);
  2. 点击右上角 创建数据库 (Create database);
  3. 数据库名称填入:isoziyuan-pan-db,点击创建。

第 3 步:执行 SQL 建表

  1. 点击刚创建好的 isoziyuan-pan-db,切换到上方的 控制台 (Console) 标签页;
  2. 返回你的 GitHub 仓库,打开根目录下的 schema.sql 文件,全选并复制代码;
  3. 粘贴到 D1 控制台输入框中,点击 执行 (Execute);
  4. 提示执行成功后,用于存放文件信息表、取件码表(shares)、容量用量统计表(storage_usage)就全部初始化完毕了!

第三部分:部署 Cloudflare Pages 前端与接口

  1. 在 Cloudflare 控制台左侧点击 Workers 和 Pages;
  2. 点击右上角 创建应用程序 (Create application) → 选择 Pages 标签页 → 点击 连接到 Git (Connect to Git);
  3. 授权 GitHub 后,在仓库列表中勾选你刚才 Fork 的 isoziyuan-pan,点击 开始设置;
  4. 构建参数填写如下(务必仔细核对):
    • 项目名称 (Project name):isoziyuan-pan
    • 生产分支 (Production branch):main
    • 框架预设 (Framework preset):None
    • 构建命令 (Build command):留空,什么都不要输入!
    • 构建输出目录 (Build output directory):填入一个单点 .
  5. 点击底部的 保存并部署 (Save and Deploy)。

部署大约耗时 20 秒,完成后你会获得一个默认访问地址(如 https://isoziyuan-pan.pages.dev)。此时打开网页会看到取件界面,但还不能上传文件,因为我们还没完成绑定。


第四部分:关键环节 —— 绑定 R2 存储桶、D1 数据库与管理密码

这是整套系统最核心的一步,请按以下步骤依次配置:

1. 绑定 D1 数据库

  1. 进入你刚刚创建的 isoziyuan-pan Pages 项目;
  2. 依次点击上方 设置 (Settings) → 左侧 函数 (Functions);
  3. 向下滚动找到 D1 数据库绑定 (D1 Database Bindings),点击 添加绑定 (Add binding):
    • 变量名称 (Variable name):必须填写大写的 DB;
    • D1 数据库:下拉选择 isoziyuan-pan-db;
  4. 点击保存。

2. 绑定 R2 存储桶

  1. 依然在当前页面的函数绑定列表中,找到 R2 存储桶绑定 (R2 Bucket Bindings),点击 添加绑定:
    • 变量名称 (Variable name):必须填写大写的 R2;
    • R2 存储桶:下拉选择第一步创建的 forum-uploads(或你自定义的桶名);
  2. 点击保存。

3. 配置管理员密码与安全密钥(Environment Variables)

  1. 在当前项目的 设置 (Settings) 中,点击左侧菜单的 环境变量 (Environment variables);
  2. 在 生产 (Production) 栏目中点击 添加变量 (Add variable),依次添加以下两个变量:
    • 变量 1:
      • 变量名:ADMIN_PASSWORD
      • 值:输入你想设置的后台管理密码(例如 AdminPan@2026)
      • 务必勾选:加密 (Encrypt)
    • 变量 2:
      • 变量名:SESSION_SECRET
      • 值:输入一串长随机字符(用于会话安全加密,例如 a98f7bc2e148df2048cf6e)
      • 务必勾选:加密 (Encrypt)
  3. 点击 保存。

4. 触发重试部署生效

⚠️ 新手避坑核心要点:每次新增了绑定或修改了环境变量后,必须手动重新部署一次,否则云函数代码读取不到新绑定的数据库和密钥!
点击顶部的 部署 (Deployments) 标签,在最新一条记录右侧点击 ...,选择 重试部署 (Retry deployment)。


第五部分:登录后台,体验极速上传与取件码分享!

  1. 在浏览器中打开:https://你的项目名.pages.dev/admin.html;
  2. 输入你设置的 ADMIN_PASSWORD 点击登录,即可进入充满高级暗黑拟态风格的管理后台;
  3. 创建文件夹与上传:
    • 可以随意新建多级目录分类存放文件;
    • 点击“上传文件”,直接把电脑里的大文件或图片拖入,页面直接显示直传进度条,秒传上云!
  4. 生成 5 位取件码:
    • 在任何已上传的文件右侧,点击 “分享 / 取件码”;
    • 可以设置:
      • 📅 有效期限:1小时、1天、7天或永久有效;
      • 🔢 下载次数:不限次数、或者仅允许下载 1 次(阅后即焚防泛滥);
    • 点击生成后,会得到一个像 68291 这样的 5 位数字取件码以及直接下载的直达链接!
  5. 极速取件测试:
    • 打开首页 https://你的项目名.pages.dev,直接输入 68291,按回车瞬间自动解析文件名并调起浏览器高速下载!

第六部分:绑定自定义专属域名(如 pan.ailxw.com)

  1. 进入 Pages 项目的 自定义域 (Custom domains) 标签页;
  2. 点击 设置自定义域,填入你的专属二级域名,例如 pan.ailxw.com;
  3. 点击继续,Cloudflare 会全自动处理 DNS 解析与免费 SSL 证书签发;
  4. 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 秒,省去所有繁琐的手动部署步骤!

赶快动手搭建一个专属于你的高速、私密、永久免费的个人网盘吧!

⚡ 极客核心要点提炼 可供 AI 智能体与搜索引擎引用检索

本文主题:小白零基础教程:基于 Cloudflare Pages + R2 + D1 搭建私有轻量网盘与文件快传系统(0服务器/不限速)

引用出处:https://isoziyuan.com/p/100140/(作者:Isoziyuan · 发布于爱搜资源网)