【开发者自荐】microbin-workers:部署在 Cloudflare 的文本、文件分享和短链接工具

软件名称

microbin-workers(MicroBin for Cloudflare Workers)

一句简介

部署在自己的 Cloudflare 账号下,用来分享文本、代码片段、文件和短链接。

应用平台

Web,目前为英文界面,网页创建功能需要启用 JavaScript。普通分享流程没有用户注册系统,访问要求由实例配置决定;自行部署需要 Cloudflare 账号。

推荐类型与费用

开发者自荐。我是这个项目的作者。 源码采用 AGPL-3.0-or-later 开源许可证,保留上游 MicroBin 的版权声明。软件源码可免费获取,Cloudflare 运行费用取决于 Workers、D1、R2 的方案和用量,不能保证完全免费。

为什么做

我最近写了一个面向 Cloudflare Workers 的 MicroBin 重写版本。出发点是把文本、文件分享和短链接这些小功能放到自己的 Cloudflare 账号下,减少维护服务器和本地磁盘环境的工作。

它沿用上游 MicroBin 的功能思路和界面风格,后端改用 TypeScript 和 Hono,D1 存放元数据,R2 存放文件。部署后仍需要管理应用更新、访问控制、费用和备份。

界面与主要功能

图 1:实际创建页面,图中是尚未提交的示例内容。选择有效期、阅读次数、语法和隐私模式后,可以保存并分享链接,也可以添加附件。

  • 文本、文件和短链接:支持多附件,文本只有一个 HTTP(S) 网址时可作为短链接使用。
  • 预览与下载:代码语法高亮,图片、音视频预览,附件可打包下载。
  • 有效期与阅后删除:设置过期时间或阅读次数,后台定时清理过期数据。
  • 分片上传:网页自动对较大文件分片上传;另有 curl 兼容接口和 JSON API。
  • 实例管理:可配置管理后台、上传密码和 Basic Auth。

图 2:选择 Secret、1 小时有效期和首次阅读后删除的设置示例。图中未填写密码,也未提交内容。

隐私模式的区别需要说明一下:

模式 谁能读取 内容加密
Public 任何人,可出现在列表中 不加密
Unlisted 有链接的人,不出现在列表中 不加密
Read-only 有链接的人;密码保护编辑、删除 不加密
Private 需要密码 服务端加密,服务器在请求期间可接触明文
Secret 需要密码 浏览器端加解密文本、文件和文件名

Unlisted 不等于加密。Secret 模式的密码不会发送给服务器,忘记密码后无法恢复内容。

部署和使用

仓库 README 有完整步骤,大致流程是:

  1. 准备 Node.js 24 或以上版本和 pnpm,获取源码并安装依赖。
  2. 登录 Cloudflare,配置必需的 SESSION_SECRET;需要管理后台时再设置 ADMIN_PASSWORD。
  3. 按 README 使用 Wrangler 部署,首次部署可自动创建并绑定 D1、R2,也可手动创建。
  4. 执行远程数据库迁移,再按需要设置自定义域名、上传权限和大小限制。

使用时,在网页中输入文本或选择文件,设置隐私模式和有效期,保存后分享生成的链接。接收者用浏览器打开;加密内容需要相应密码。

适用场景与已知限制

适合愿意自行部署、熟悉或愿意学习 Cloudflare 的用户,临时分享代码片段、日志、图片和文件,或搭建个人、小范围使用的分享站。

  • 免费方案不能保证所有功能稳定运行:密码验证、服务端加密、打包下载可能超过免费 Workers 的 CPU 限制。README 建议付费方案;免费方案请先小规模测试。
  • 默认每条内容最多 20 个文件,未加密文件上限为 2048 MB,加密文件上限为 256 MB;Private 还受单次上传阈值限制,默认约 64 MB。实际仍受平台和客户端条件影响。
  • 没有上游数据的自动迁移工具,历史加密内容不能直接导入;未加密内容可重新上传。
  • Basic Auth 不会自动保护所有分享直链,公开部署需要理解隐私模式、权限设置,并考虑滥用防护。
  • 阅后删除内容在最后一次阅读后,已获得文件下载令牌的访问者仍有最长一小时的下载窗口。
  • 项目是近期新写的,长期运行表现还需要更多实际使用反馈。如果需要 Linux 服务器、本地数据库和磁盘部署,可以考虑上游 MicroBin。

项目链接

如果遇到部署或使用问题,可以在这里讨论,或到仓库提交 Issue。描述复现步骤时请去掉密码、令牌和私人内容。