一个现代化的 Cloudflare R2 存储桶可视化管理工具
Cloudflare R2 Manager 是一个功能完善的 R2 存储桶管理工具,提供直观的可视化操作界面。支持 Web 浏览器和 Windows 桌面端两种使用方式。
- 前端: React 18 + TypeScript + Vite
- 后端: Express.js 代理服务器
- 桌面端: Tauri v2
- 样式: Tailwind CSS + shadcn/ui
- 动效: Framer Motion
- 状态: Zustand
- API: AWS S3 SDK (兼容 R2)
- 创建存储桶(名称格式校验)
- 删除存储桶(安全确认,需输入桶名)
- 桶列表浏览与快速切换
- 上传: 拖拽上传、按钮上传、文件夹上传
- 下载: 单文件下载、批量下载
- 删除: 单文件删除、批量删除、递归删除文件夹
- 重命名: 文件/文件夹重命名
- 复制/移动: 跨桶复制移动、文件夹递归操作、循环引用检测
- 全选/取消全选当前层级
- 批量删除(递归处理文件夹)
- 批量下载(并发获取预签名 URL)
- 批量复制/移动
- SSE 实时进度反馈
- 冲突处理策略(跳过/覆盖/保留两者)
- "应用到所有"一键批量处理
- 操作结果详情(成功/重命名/跳过/失败统计)
类似百度网盘的传输管理页面,提供完整的上传下载任务管理:
- 进行中任务列表(上传/下载/批量操作)
- 历史记录(最近 100 条)
- 任务排队机制(全局线程池)
- 上传: S3 Multipart Upload API,支持大文件
- 下载: Range 请求分块下载
- 可配置分块大小(上传 5-16MB,下载 4-32MB)
- 可配置并发线程数(1-10)
- 上传暂停/恢复(断点续传)
- 下载暂停/恢复(Range 请求续传)
- 暂停状态持久化(应用重启后可恢复)
- IndexedDB 缓存已下载分块
- 自动重试网络错误和服务器临时不可用
- 指数退避 + 随机抖动策略
- 可配置重试次数和延迟
- 实时进度条和百分比
- 传输速度计算与显示
- 进度气泡组件(批量操作时右下角显示)
- 子项级别状态追踪
- 现代化 UI 设计
- 深色/浅色/跟随系统三种主题
- shadcn/ui 组件库
- Framer Motion 流畅动画
- 列表视图 / 网格视图切换
- 文件图标自动识别(vscode-icons 风格)
- 面包屑路径导航(Win11 风格折叠)
- 响应式布局适配
- 移动/复制对话框集成文件夹浏览器
- 可折叠侧边栏
- 跨桶操作支持
- 手动输入路径
- 使用系统 WebView2(Windows 10/11 内置)
- 体积小巧(约 5-15 MB)
- Sidecar 方式打包 Express 服务端
- 桌面端:配置存储到
{Documents}/CloudFlareR2-Manager/config.json - 浏览器端:配置存储到 localStorage
- 自动迁移旧配置
- MSI 安装包
- NSIS 安装包(中文界面)
- 升级时自动关闭旧版本进程
- Account ID
- Access Key ID
- Secret Access Key
- 连接测试
- 上传并发线程数(1-10)
- 下载并发线程数(1-10)
- 批量操作并发数(1-8)
- 分块大小配置
- 最大重试次数
- 基础延迟时间
- 最大延迟时间
- 重启服务
- 清除所有配置(危险操作)
# 安装依赖
npm install
cd server && npm install && cd ..
# 同时启动前后端
npm run dev
# 或分别启动
npm run dev:client # 仅前端
npm run dev:server # 仅后端# 完整打包流程
npm run release从 Releases 页面下载:
- MSI 安装包: 标准安装程序
- NSIS 安装包: 中文界面安装程序
# 克隆项目
git clone https://github.com/ONEGAYI/R2-Manager.git
cd R2-Manager
# 安装依赖并启动
npm install
cd server && npm install && cd ..
npm run dev- 登录 Cloudflare Dashboard
- 进入 R2 页面
- 点击 "Manage R2 API Tokens"
- 创建 API Token,获取:
- Account ID
- Access Key ID
- Secret Access Key
- 现代浏览器(Chrome、Firefox、Edge、Safari)
- Node.js 18+
- Windows 10/11
- WebView2 运行时(系统内置)
- 凭证仅保存在本地(不上传到任何服务器)
- 桌面端配置文件存储在用户文档目录
- 后端代理服务器仅监听 localhost
MIT License
完整变更记录请查看 CHANGELOG.md