Serverless Storage

一个跑在 Cloudflare 上的
Serverless 云盘与图床

零服务器、零构建、零运行时依赖。Fork 一下,绑两个资源,5 分钟上线。

0
服务器
0
构建
0
运行时依赖
7
种存储后端
10 GB
单文件上限
CC0
1.0 授权

Three Zeros

三个零

零成本

完全跑在 Cloudflare 免费额度内:Pages 托管、KV 元数据、R2 存储、D1 数据库、Functions 计算。不花一分钱。

零运维

没有服务器、没有 Docker、没有 Nginx、没有数据库要养。没有构建步骤,git push 即部署。

零运行时依赖

运行时代码只有标准 Web API。没有 npm 生产依赖,没有 CVE 要追。唯一依赖是 wrangler(开发用)。

密码库 /vault.html 采用零知识加密:主密码经 PBKDF2 派生密钥,整库在浏览器本地用 AES-GCM 加密后才落盘;主密码与密钥从不保存或上传。

Core Capabilities

核心能力

上传

  • 拖拽 / 粘贴 / 批量上传
  • 命令行直传(零 npm 依赖,Node 22 内置 API)
  • URL 转存,带 SSRF 防护
  • 分片上传,R2 原生 multipart,单文件最高 10GB
  • 智能节点选择,超阈值自动切换后端

分享体系

  • 分享落地页 /s/:slug,给人看不是裸流
  • 密码保护、有效期、下载次数上限、自定义短链
  • 预览不计次,只有点「下载」才消耗次数
  • 失效原因明确:过期 / 次数用尽 / 密码错

管理后台

  • 目录树任意层级,批量移动 / 重命名 / 删除
  • 用量监控,KV / R2 实时
  • API Token 发牌 / 轮换 / 吊销,带策略
  • 运行时配置改完即时生效,不用重新部署

隔空投送:8 位连接码(去掉易混字符)、单收端锁定、TTL 5 分钟、传完即焚。给机器用的:REST API v1、MCP 端点、OpenAPI 定义。

Storage Backends

七种存储后端

后端 单文件上限 说明
Cloudflare R2 10GB 唯一原生分片,大文件首选
Telegram 20MB 默认后端,一个 Bot 就能用,完全免费
S3 兼容 40MB AWS S3 / MinIO / B2 / 阿里云 OSS…
WebDAV 40MB 对接 alist / OpenList / NAS / 坚果云
GitHub 40MB contents 20MB,存到仓库 / Release
HuggingFace 35MB Dataset 仓库
Discord 25MB 频道存文件

指定后端未配置时回落 Telegram;变量缺失不会静默降级到其他后端,而是直接报错。

Security

安全

零知识加密密码库

主密码与密钥从不保存或上传,整库在浏览器本地用 AES-GCM 加密后才落盘。

SSRF 防护

URL 导入拦私网 / 回环 / 云元数据 169.254.169.254,每次重定向都重新校验。

Token 策略

allowedStorages / allowedMimeTypes / maxFileSize / folderPrefix 等细粒度控制,哈希存储、恒定时间比较。

管理面 fail-closed

未配管理员账密时管理接口一律 503,绝不默认对公网开放。

Deploy In 5 Steps

5 步上线

STEP 01

Fork

从仓库 fork 到你的 GitHub 账号。

STEP 02

绑资源

绑定 KV / R2 / D1 三个 Cloudflare 原生绑定。

STEP 03

设变量

填环境变量,统一读取层兼容大小写与别名。

STEP 04

部署

npm run pages:deploy 或 npx wrangler pages deploy .

STEP 05

验证

上传、分享、管理后台逐一验证,5 分钟上线。