八九年前,我的小站因为原创分享某模板,爆火,以至于百度网盘时常说我违规取消链接,每天都有人给我发邮件求助,我也只好一遍一遍的生成新的分享链接。
当时就在想,有没有稳定的分享盘啊。这一等就是将近十年。
最近用 AI 做站有点上头,于是打算手搓一个自己的文件分享站:能网页上传,能保证长久有效。
用AI 吭哧吭哧干了几个晚上,做出个 r2share,跑在 Cloudflare 的 R2 上,账单是明明白白的 $0,哈哈哈。
源码在:https://github.com/weipu2026/r2-share
示范站:https://file.114448.xyz
能干啥
本质就是 Worker + R2 公开桶 + 一个 files.json 索引,无数据库。主要功能如下:
- 网页上传管理:登录后拖拽上传、新建目录、批量删除、重建索引,浏览器里全搞定,不用碰任何命令行;
- 直链分享:文件的下载链接就是真实的存储路径,发出去别人直接下,不限速不排队。将来哪天换 S3 服务商,改个域名前缀就行,已经分享出去的链接不变;
- 在线预览:图片、音视频、文本代码、Markdown 都能在页面里直接看,Markdown 还渲染好了再看;
- 目录浏览:列表视图和网格视图随便切,顶部搜索框直接按名字找文件;
- fork-safe:域名、桶名这些只在部署时注入,不写进仓库。别人 fork 了去部署,不会莫名其妙把文件传到我的桶里去。
零成本
- 下载走公开桶直链,不经过 Worker,请求次数是零。Cloudflare 的出口流量本来就免费,所以下多少都不心疼;
- 只有上传和目录页走 Worker,个人用一天点不了几下,免费额度绰绰有余。
代价是得给桶绑个自定义域(r2.dev 那个官方域名限速,不适合干这个),不过域名反正是自己的,绑一下的事。
部署也很简单
零依赖,fork 我的仓库,在 GitHub Actions 里填上 4 个值,push 一下就自动部署到 Cloudflare,连 R2 桶都是第一次部署时自动建的,全程不用改一行代码:
1. fork https://github.com/weipu2026/r2-share
2. 仓库 Settings → Secrets and variables → Actions,填 4 个值:
Variables:WORKER_DOMAIN(入口域名)/ DL_DOMAIN(下载域名)
Secrets:CLOUDFLARE_API_TOKEN(部署钥匙,记得勾 R2 权限,建桶要用)/ ADMIN_PASSWORD(登录密码)
3. push 一下,Actions 自动部署,完事前置条件就两条:Cloudflare 账户开通一下 R2(免费,控制台点一次),域名托管在 CF 上。
我已经挂在自己域名上跑着了(https://file.114448.xyz/),再也不用看别人的脸色,真香。

我以前想过R2存文件,用Edgeone做国内缓存就行。
不过我和cf没缘分,始终无法通过支付验证,哈哈~
我使用paypal验证的,懒得用信用卡
paypal 我当然也试过,结果是PayPal我也验证不过,然后PayPal在cloudflare上也通不过。
至于信用卡,储蓄卡,无论是我自己的真实银行卡,还是在线生成的假卡,还是借用朋友的卡,加起来估计试过上千个号码了,都无效。淘宝上找了2家“代理商”,付了钱,他们上我的账号也都无功而返。