A free and open-source desktop S3 bucket manager.
Manage objects across AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO, Backblaze B2, Google Cloud Storage, and any S3-compatible provider from a single, fast, cross-platform desktop app.
Built with Tauri · Rust · Bun · React · Tailwind CSS · daisyUI · Zustand
- Multi-provider: One app for all your S3-compatible storage
- Encrypted vault: AES-256-GCM encryption; API keys never leave the native backend
- Folder sync: Bidirectional, Google Drive-style sync with conflict resolution
- Cross-platform: Native builds for macOS, Linux, and Windows via Tauri
- Fast transfers: Multipart uploads, concurrent job queue, live progress events
Storage & Profiles
- Multi-provider profile support for AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO, Backblaze B2, GCS, and generic S3-compatible endpoints
- Encrypted vault persistence with passphrase-based unlock
- OS keychain integration for optional remembered unlock
- Profile test/validation and default bucket support
Object Browser
- Table and grid views
- Breadcrumb navigation and folder traversal
- Multi-select, object metadata, rename, delete, create-folder
- Favorites and bucket tabs with state restoration
Transfers & Jobs
- Upload/download (single and folder)
- Copy/move/cross-bucket transfers
- Archive download support
- Concurrent queue with progress, speed, ETA, cancel, and persisted history
Sync
- Bucket-to-bucket sync preview + execute
- Folder sync rules with status/conflict/error events
- Tray-aware background lifecycle for long-running sync work
Sharing & UX
- Presigned share links with expiration options
- QR code generation and share history
- Theme toggle, command palette, keyboard shortcuts, and toast notifications
Download the latest release for your platform from the Releases page.
| Platform | Architecture | Format |
|---|---|---|
| macOS | Apple Silicon, Intel | .dmg |
| Linux | x64 | .AppImage / .deb / .rpm |
| Windows | x64 | .msi / NSIS .exe |
object0 is also available on AUR as object0-bin.
Install with your AUR helper:
yay -S object0-bin
# or
paru -S object0-binOr build/install manually:
git clone https://aur.archlinux.org/object0-bin.git
cd object0-bin
makepkg -si- Bun
- Rust toolchain
- Tauri platform dependencies: https://v2.tauri.app/start/prerequisites/
- Linux only: a Secret Service provider (for example KWallet or GNOME Keyring) for OS keychain unlock
git clone https://github.com/sayedhfatimi/object0.git
cd object0
bun installbun run devbun run dev:app# Frontend typecheck + production bundle
bun run build
# Native desktop bundles (Tauri)
bun run build:app┌──────────────────────────────────────────────┐
│ Tauri Runtime │
│ │
│ ┌──────────────┐ ┌──────────────────┐ │
│ │ Rust Backend │◄───►│ React Webview │ │
│ │ (src-tauri) │ IPC │ (src/mainview) │ │
│ │ │ │ │ │
│ │ • Vault │ │ • Zustand stores │ │
│ │ • S3 ops │ │ • UI components │ │
│ │ • Job queue │ │ • Tailwind/Daisy │ │
│ │ • Sync logic │ │ │ │
│ └──────────────┘ └──────────────────┘ │
└──────────────────────────────────────────────┘
- Rust backend (
src-tauri): vault, profiles, S3 operations, queueing, folder sync, tray lifecycle, updater hooks - React frontend (
src/mainview): application shell, stores, and typed RPC calls/events - Shared contracts (
src/shared): RPC schema and shared types
src/
├── main.tsx # Vite entry
├── mainview/ # React UI
│ ├── app/
│ ├── components/
│ ├── hooks/
│ ├── lib/
│ └── stores/
└── shared/ # RPC/types shared with backend
src-tauri/
├── src/
│ ├── main.rs # native entry
│ └── lib.rs # RPC router + backend runtime
├── capabilities/
└── tauri.conf.json
| Command | Description |
|---|---|
bun run dev |
Start Vite dev server |
bun run dev:app |
Start Tauri desktop app in dev mode |
bun run build |
Type-check and build frontend |
bun run build:app |
Build desktop bundles with Tauri |
bun run check |
Run Biome checks |
bun run check:all |
Biome + frontend build + cargo check |
bun run lint |
Run Biome linter |
bun run format |
Format code with Biome |
bun run updater:manifest -- ... |
Build/merge static updater manifest |
bun run updater:verify -- ... |
Verify hosted updater manifest + artifact URL |