• 游客:春节快乐,您有一个20余烬兑换码(‌Happy Chinese New Year!, you have a 20-plus ember exchange code):531820260216有效期7天.请尽快兑换.

文件存储服务 Cloudflare R2 的 Web 客户端,可以上传/管理文件

平时如果把 Cloudflare R2 当图床或者文件存储用,官方控制台功能基础,登录、管理麻烦,无法高效管理大量文件(复制、移动、重命名等),很多第三方的客户端又必须得下载安装才能用。

GitHub 上有个叫 R2 Web 的轻盈优雅开源项目专门解决这个痛点。

这是个纯 Web 原生的 Cloudflare R2 存储桶文件管理器。它采用了“零构建、零框架、零后端”的设计理念,你完全不需要任何后端服务器,打开浏览器就能直接对 R2 里的文件进行管理、预览和本地压缩上传,一切皆在浏览器中完成。

1773455891861.webp


核心功能​

  • 文件管理:支持目录浏览、分页加载、缩略图懒加载,可按名称、日期或大小排序。支持文件的重命名、移动、复制以及递归删除。
  • 多格式在线预览:内置常见格式的图片预览、视频/音频播放器,以及带有代码高亮的文本文件预览,无需下载即可查看内容。
  • 私有图床与个性化上传:支持拖拽或快捷键粘贴上传;提供自定义文件名模板(如添加哈希值、日期目录等);上传前可通过 WebAssembly 在本地自动压缩图片以节省流量;支持一键复制 URL 直链、Markdown、HTML 或预签名 URL。
  • 多语言与桌面化体验:支持简、繁、英、日多语言和深色模式,可通过 PWA 安装至电脑桌面,获得类似原生应用的使用体验。
1773455903224.webp

底层架构与“三零”设计理念​

  • 零构建:源码即产物,不需要 Node.js、Webpack 或 Vite 等构建工具进行编译打包。
  • 零框架:不依赖 React、Vue 等现代前端框架,优先使用纯原生 Web 技术(如 HTML5、CSS3、ES6+、CSS Layers、原生dialog和 Fetch)。
  • 零后端:纯前端实现,不经过任何第三方服务器,应用在浏览器中直接连接并调用 R2 API。代码语言主要由 JavaScript (60.3%)、HTML (21.1%) 和 CSS (18.1%) 组成。
  • 依赖库说明:引入少量必要依赖,如处理 S3 API 签名的aws4fetch,以及用于本地图片压缩的@jsquash/* 库。

部署流程与安全机制​

  • 在线免部署直连:用户可以直接访问官方地址r2.viki.moe,填写 R2 凭证后即可开始管理桶内文件。
  • 私有化静态部署:用户可以 fork 仓库后,将src 目录一键部署到 Vercel、Netlify 或 Cloudflare Pages 等静态托管平台上。
  • 纯本地凭证加密:高度注重隐私安全,用户的 API 凭证仅加密存储在本地浏览器的 localStorage 中,绝不会上传。图片的默认压缩也是利用 WebAssembly 完全在本地浏览器中完成。

注意事项​

  • 必须配置跨域策略:无论使用官方地址还是私有部署,都必须在 Cloudflare 控制台中配置 CORS(跨域资源共享)策略,允许相应的域名以及各类 HTTP 方法访问你的存储桶。
  • 超大文件与复杂场景限制:官方明确指出该工具不适合处理大于 300MB 的超大文件上传(建议使用 rclone),也不适合复杂的权限管理或自动化脚本场景。
有趣的是,开发者透露这个项目是通过纯手工编写提示词,驱动 Claude 4.6 Opus AI 模型协助完成的代码开发与架构设计。
1773455911569.webp

评论

目前没有任何评论.

笔记文章信息

作者
波坤太叔
查看
4
最后更新

开源项目中更多文章

波坤太叔的博客文章

分享此笔记

社区
规则 帮助 用户
      聊天中还没有人留言。快跟大家说声Hi!
      用户活动
      刚才 · 5318资源社区