平时如果把 Cloudflare R2 当图床或者文件存储用,官方控制台功能基础,登录、管理麻烦,无法高效管理大量文件(复制、移动、重命名等),很多第三方的客户端又必须得下载安装才能用。
GitHub 上有个叫 R2 Web 的轻盈优雅开源项目专门解决这个痛点。
这是个纯 Web 原生的 Cloudflare R2 存储桶文件管理器。它采用了“零构建、零框架、零后端”的设计理念,你完全不需要任何后端服务器,打开浏览器就能直接对 R2 里的文件进行管理、预览和本地压缩上传,一切皆在浏览器中完成。
GitHub 上有个叫 R2 Web 的轻盈优雅开源项目专门解决这个痛点。
这是个纯 Web 原生的 Cloudflare R2 存储桶文件管理器。它采用了“零构建、零框架、零后端”的设计理念,你完全不需要任何后端服务器,打开浏览器就能直接对 R2 里的文件进行管理、预览和本地压缩上传,一切皆在浏览器中完成。
核心功能
- 文件管理:支持目录浏览、分页加载、缩略图懒加载,可按名称、日期或大小排序。支持文件的重命名、移动、复制以及递归删除。
- 多格式在线预览:内置常见格式的图片预览、视频/音频播放器,以及带有代码高亮的文本文件预览,无需下载即可查看内容。
- 私有图床与个性化上传:支持拖拽或快捷键粘贴上传;提供自定义文件名模板(如添加哈希值、日期目录等);上传前可通过 WebAssembly 在本地自动压缩图片以节省流量;支持一键复制 URL 直链、Markdown、HTML 或预签名 URL。
- 多语言与桌面化体验:支持简、繁、英、日多语言和深色模式,可通过 PWA 安装至电脑桌面,获得类似原生应用的使用体验。
底层架构与“三零”设计理念
- 零构建:源码即产物,不需要 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),也不适合复杂的权限管理或自动化脚本场景。