小身材,直连云端。
一个用 Tauri 2 + Rust 打造的轻量 macOS S3 / 华为云 OBS 客户端。
没有内置浏览器的沉重行李,没有绕一圈的服务端中转,AK/SK 只在你的电脑上干活。
Electron 下班了。现在轮到 Rust 值夜班。
- 连接 AWS S3、华为云 OBS 及其他 S3 兼容存储
- 根据 Endpoint 自动识别 Region,不再单独填写机房
- 支持指定桶登录,受限 AK 没有
ListBuckets权限也能用 - 浏览桶、目录和对象
- 保存当前路径为自定义书签,并从左侧快速跳转
- 上传、下载、删除文件
- 查看上传下载任务进度,并取消、重试、清理任务
- 复制预签名直链和
curl下载命令 - 生成
obsutil文件夹下载命令和当前目录上传命令 - 导入、导出 OBS 配置文件
旧版本能用,但 Electron 为一个 S3 客户端带来的体积有点过于豪迈。
现在:
- 前端继续使用 React + Next.js,界面开发不受罪
- 桌面壳换成 Tauri,不再捆绑整套 Chromium
- S3 请求、签名和文件操作交给 Rust
- 发布包从“大块头”变成更像工具该有的尺寸
简单说:该有的都有,不该胖的地方瘦下来了。
Endpoint 可以直接填写:
obs.cn-east-3.myhuaweicloud.com
Region 会自动识别为 cn-east-3。
如果账号没有列出全部桶的权限,在登录页填写一个有权访问的桶名称即可。客户端会直接验证该桶,不再拿 ListBuckets 撞权限墙。
| 部分 | 技术 |
|---|---|
| 桌面框架 | Tauri 2 |
| 云存储核心 | Rust + AWS SDK for Rust |
| 界面 | Next.js + React |
| 系统能力 | Tauri Dialog / File System Plugins |
所有云存储请求都由 src-tauri/ 中的 Rust 后端直接完成。
需要 Node.js、npm 和 Rust stable:
npm install
rustup default stable
npm run tauri:devnpm run lint
npm run build
cargo check --manifest-path src-tauri/Cargo.tomlnpm run tauri:build产物位于:
src-tauri/target/release/bundle/
当前 macOS 发布版本面向 Apple Silicon。
- 凭据不会上传到中间服务器,只保存在本机应用环境中
- 仓库不包含任何真实 AK/SK
- 构建产物、环境文件和证书默认不会进入 Git
- 提交 issue、截图或日志前,请先抹掉 Endpoint、桶名、对象路径、AK/SK 和预签名 URL
云上的东西很贵,删除按钮也是真的。动手前看清楚对象名。
MIT