当前位置:首页>技术教程>每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

如果只是存一些照片、文档和临时文件,为了这点空间每个月固定交几十块网盘会员费,时间长了确实是一笔持续的开销。

这次介绍一个比较适合个人使用的方案:利用 Cloudflare R2,再配合 GitHub 上的 R2 Explorer 项目,搭一个自己的网页网盘。

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

整个过程不用写代码,主要就是在 Cloudflare 和 GitHub 里点几下、填几个参数。

最后得到的东西,使用方式和常见网盘差不多,可以上传、下载、预览和管理文件,还能设置账号密码。

不过有一点需要提前说清楚:R2 虽然有免费额度,但并不是无限免费,超过免费额度之后还是会按量计费,所以不要把“免费”理解成完全没有成本。

开始之前,准备好这几个东西

整个部署会用到三个账号或条件。

GitHub 账号,用来 Fork R2 Explorer 的源码,以及通过 GitHub Actions 完成部署。

Cloudflare 账号,R2 存储和后面的 Worker 都在这里完成。

还有一张可以绑定 Cloudflare 的银行卡。R2 需要先绑定支付方式才能激活,目前不能直接使用纯银联储蓄卡。

如果没有境外信用卡,可以使用支持国际支付的虚拟卡,或者直接使用 Visa、Mastercard 等外币卡。

这里有一个容易误解的地方:绑定支付方式,并不代表马上开始扣费,实际产生费用还是按照 Cloudflare 的使用量计算。

R2 本身提供免费额度,目前包括 10GB 存储、每月 1000 万次读请求和 100 万次写请求,个人日常使用通常可以覆盖不少场景。

第一步:注册 Cloudflare,先把支付方式绑好

已经有 Cloudflare 账号的话,直接登录就行。

没有的话,先注册一个免费账号。

登录 Cloudflare Dashboard 后,点击右上角头像,进入 My Profile,然后找到:

Billing → Payment Methods

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

在这里添加信用卡或借记卡。

完成之后,再进入 R2 页面时就可以进行激活。

如果你使用的是国内银行卡,注意确认卡片是否支持国际支付,不支持的话这里会卡住。

另外,建议顺手在 Cloudflare 的账单页面看看预算控制相关设置,至少知道自己的账户什么时候可能开始产生费用。

第二步:创建 R2 存储桶

支付方式处理好之后,就可以创建真正用来放文件的存储桶了。

回到 Cloudflare Dashboard 首页,在左侧找到 R2

进入之后点击 Create Bucket

存储桶名称可以自己取,比如:

my-private-bucket

这个名字先记下来,后面配置 GitHub 的时候还会用到。

区域选择 Automatic,然后点击 Create

到这里,存文件的地方就准备好了。

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

第三步:创建 Cloudflare API Token

这一步比较关键。

R2 Explorer 部署的时候,需要通过 API Token 操作 Cloudflare,所以这里的权限不能随便填。

点击右上角头像:

My Profile → API Tokens → Create Token

找到 Edit Cloudflare Workers 模板,然后点击 Use Template

接下来看 Account Resources 下面的权限。

默认情况下,Workers Scripts 会是:

Account → Workers Scripts → Edit

这个保持不动。

再找到 R2,把它从:

None

改成:

Edit

也就是最后应该看到:

资源权限
Workers ScriptsEdit
R2Edit

其他配置保持默认即可。

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

然后点击 Continue to Summary,确认之后选择 Create Token

Token 创建出来以后马上复制下来。

这串内容关闭页面之后不会再次完整显示,所以最好现在就保存好,下一步配置 GitHub 会用到。

第四步:把 R2 Explorer 放到自己的 GitHub

接下来处理项目本身。

打开 R2 Explorer 项目:

https://github.com/G4brym/R2-Explorer

进入项目页面以后,点击右上角 Fork,把项目复制到自己的 GitHub 账号下面。

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

Fork 完成后,进入你自己的这个仓库。

找到:

Settings → Secrets and variables → Actions

这里需要配置一个 Secret,再配置三个 Variable。

先添加 API Token

切换到 Secrets 标签,点击 New repository secret

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

名称填写:CF_API_TOKEN
Secret 的值,就是刚才保存的 Cloudflare API Token。

保存即可。

再添加 Worker 名称

切换到 Variables 标签,点击 New repository variable

第一个变量:

Name: R2EXPLORER_WORKER_NAME
Value: my-r2-explorer

Worker 名称可以自己改,比如:

personal-drive

只要符合自己的命名习惯就行。

添加 R2 存储桶

第二个变量叫:
R2EXPLORER_BUCKETS
Value 填:
files:my-private-bucket
这里的格式需要注意:

自定义盘符名:实际存储桶名称

前面的 files 是以后网页界面里显示的目录名称,后面的 my-private-bucket 才是刚才在 Cloudflare R2 创建的存储桶。

如果有多个桶,可以继续往下面写,例如:

files:my-private-bucket
backup:my-other-bucket

最后配置网盘密码

第三个变量:

R2EXPLORER_CONFIG

Value 填入下面这段 JSON:

{
  "readonly": false,
  "basicAuth": {
    "username": "admin",
    "password": "换成你的密码"
  }
}

这里至少有两个地方不要弄错。

readonly 必须是 false,否则网盘只能查看,不能上传文件。

basicAuth 也要配置好账号和密码,否则这个网盘没有访问保护,直接暴露出去是不合适的。

密码不要照抄示例里的内容,改成自己的。

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

第五步:从 GitHub Actions 开始部署

配置完成以后,回到仓库顶部,进入 Actions

第一次使用 GitHub Actions,页面可能会出现:

I understand my workflows, go ahead and enable them

点击启用。

然后在左侧找到 Deploy

进入之后点击 Run workflow,弹窗出来以后再次点击 Run workflow

接下来 GitHub 就会开始执行部署。

通常等待一两分钟,等任务显示绿色的勾,就说明这一步完成了。

如果这里直接报错,不用反复点运行,先看看错误信息。

最常见的问题还是前面的 API Token 权限没有配对,或者 Secret 填错。

第六步:打开自己的网盘

部署成功之后,就可以访问 Worker 地址。

默认地址格式是:

Worker名称.你的Cloudflare账号名.workers.dev

例如 Worker 名称是:

my-r2-explorer

Cloudflare 账号名是:

abc123

那么访问地址就是:

https://my-r2-explorer.abc123.workers.dev

Cloudflare 账号名如果找不到,可以回到 Dashboard,看右上角头像下面显示的账号信息。

例如:

user@example.com (ABC123)

这里的 ABC123 就是账号名。

打开网盘之后,输入前面设置的 basicAuth 用户名和密码,就可以进入。

也可以绑定自己的域名

如果不想一直使用 workers.dev 这个地址,可以再绑定自己的域名。

进入:

Cloudflare Dashboard → Workers & Pages → 找到对应 Worker → Triggers

然后点击 Add Custom Domain

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

输入一个子域名,例如:

files.你的域名.com

保存之后等待生效即可。

遇到问题,可以先看这几个地方

部署过程中如果出了问题,不一定是项目本身有问题,很多时候只是某个配置少了一项。

打开以后白屏或者出现 500

先检查 Cloudflare API Token,特别是 R2 有没有设置成 Edit

如果权限不对,重新创建 Token,然后把 GitHub 里的 CF_API_TOKEN Secret 一起更新。

网页能打开,但文件传不上去

检查 R2EXPLORER_CONFIG

这里的:

"readonly": false

不能写成 true

GitHub Actions 报 403

重点检查 CF_API_TOKEN,包括 Token 是否填错、是否过期,以及权限是否正确。

输入密码一直提示未授权

先确认 basicAuth 里的用户名和密码,再检查 JSON 格式有没有写错。

如果确认没有问题,可以清理一下浏览器缓存后重新登录。

文件上传到一半失败

原方案给出的限制是单次请求体不能超过 100MB,所以单个文件尽量控制在这个范围内。比较大的文件可以考虑分卷。

网盘打开了,但是里面看不到文件

检查 R2EXPLORER_BUCKETS

尤其是存储桶名称,必须和 Cloudflare R2 里的实际名称对应,大小写也要一致。

平时怎么用

部署完成之后,日常操作就比较简单了。

上传文件可以点右上角的 Upload,也可以直接把文件拖到网页里。

下载的话,点击对应文件即可。

文件管理方面,右键菜单可以进行重命名、移动、复制和删除。

图片、PDF、文本文件还可以直接在网页里预览。

所以从实际操作来看,它并不需要你每次都进入 Cloudflare 后台,Cloudflare 主要负责后面的存储和运行环境,平时使用时直接打开自己的网盘地址就行。

每个月都在交网盘会员费?用 Cloudflare 搭一个自己的网盘

项目更新怎么跟

R2 Explorer 如果后续继续更新,你自己的 Fork 不会自动跟着上游变化。

进入自己的 GitHub 仓库,如果顶部看到:

This branch is N commits behind G4brym:R2-Explorer

可以点击 Sync fork,把上游的新内容同步过来。

同步完成后,再进入:

Actions → Deploy → Run workflow

重新执行一次部署。

最后说一下费用

这个方案真正有吸引力的地方,还是成本。

R2 有 10GB 免费存储额度,另外还有每月 1000 万次读请求和 100 万次写请求

超过免费额度以后,按照原方案给出的价格,R2 存储费用是 $0.015/GB/月,也就是多 100GB,大约增加 $1.5 的存储费用。

另外它不收取出站流量费,这也是它和一些传统对象存储方案相比比较明显的一点。

当然,具体费用还是要以 Cloudflare 当前的计费规则为准,尤其是文件数量、请求量比较大的情况下,不要单纯按照“个人使用就是完全免费”来理解。

如果只是拿来放一些个人文件,容量不大,访问量也不高,这套方案的成本确实可以压得很低。

整个过程也没有什么必须写代码的地方。

Cloudflare 负责 R2 和 Worker,GitHub 负责保存项目和触发部署,真正需要自己做的,就是把账号、权限、存储桶和几个配置项对应起来。

项目地址:https://github.com/G4brym/R2-Explorer

官方文档:https://r2explorer.com

声明 本站上的部份软件及文章来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
本站无意侵害您的权益,请发送邮件至 jason#salanghe.com 或点击右侧 私信:月情 反馈,我们将尽快处理。

给TA打赏
共{{data.count}}人
人已打赏
技术教程

用BiliLive-tools搭建B站录播工作流:从录制到自动上传

2026-5-13 17:14:51

浏览器

Opera (Opera浏览器) v125.0.5729.15 最新版

2025-12-14 19:47:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索