开源可自部署在Cloudflare上的临时文件共享服务

https://youtu.be/SiiN8TQjAJo

可以理解为结合了 Pastebin 与 Firefox Send,使用场景一般是偶尔需要临时传给别人文本/文件,但接收设备不一定能用 AirDrop、通用剪贴板、微信(尤其是公用设备)等工具基于 Cloudflare Worker + Pages + R2 + D1,只需要一个托管在 Cloudflare 的域名即可使用

项目简介

  • PocketChest 是什么?
    这是一个现代化的文件和文本分享服务,利用 Cloudflare Workers 和 Pages 构建,无需服务器也不需要用户注册
  • 分享方式
    用户可以上传文件或粘贴文本,并生成一个独一无二的 6 位提取码(例如 ABC123)。接收者通过该码即可下载全部内容([GitHub][1])。

核心功能亮点

  • 支持大文件上传
    通过 multipart 上传方式,将文件存储在 Cloudflare R2 中,支持高达数百 GB 的文件
  • 自动过期机制
    上传内容可以设置 1、3、7、15 天后自动过期(也可以设为永久)。系统配合定时清理任务,自动删除过期文件
  • 无需注册账户 / 可选 TOTP 双因素认证
    绝大多数操作无需登录账号,轻松分享;但若希望更高安全性,可启用 TOTP(时间同步一次性密码)认证来限制访问
  • 高性能、响应式
    构建于 Cloudflare 的全球边缘网络,确保页面加载和文件传输性能出色,并支持移动设备访问

技术架构

  • 后端
    使用 Cloudflare Workers 作为 API 层,数据库则使用 D1,文件存储使用 R2
  • 前端
    使用 Next.js 14 + Tailwind CSS,部署在 Cloudflare Pages 上
  • 语言
    主要使用 TypeScript 开发

实际应用场景

  • 想在公共设备分享敏感内容,但不想登录账号?
  • 想临时传输大文件但又嫌 FTP 或传统云盘麻烦?
    PocketChest 在这些情况下非常实用——轻便、安全、快速
  • 有人总结类比说:“结合了 Pastebin 与 Firefox Send”
    它在临时性、代码访问方式上类似 Pastebin,又具备 Firefox Send 的大文件传输能力,但实现方式更加现代与 Serverless

总结概览

特性描述
分享内容文件 + 文本
访问方式唯一 6 位码
过期支持多种时长设置(1–15 天或永久)
认证方式默认无需登录,可选 TOTP 双因素
文件存储Cloudflare R2 支持大文件
前/后端技术栈Next.js + Tailwind / Cloudflare Workers + D1
部署方式Cloudflare Pages + Workers Edge
开发语言TypeScript

Github:https://github.com/Hzao/PocketChest/
油管:https://youtu.be/SiiN8TQjAJo