Skip to content

brows3rA native S3 file browser for engineers

Multi-profile ยท keyboard-first ยท rich preview ยท local-first.

brows3r icon

At a glance โ€‹

sh
# 1. Clone, install, run.
git clone https://github.com/banduk/brows3r
cd brows3r
pnpm install
pnpm tauri dev

brows3r is a Tauri 2.x desktop app (macOS / Linux / Windows). The frontend is React 19 + Vite + TypeScript with shadcn/ui and Tailwind v4. The backend is Rust, using the official AWS SDK for S3. Everything that touches credentials or S3 bytes runs server-side; the WebView only sees opaque listings, signed loopback URLs, and progress events.

See Get started for the full tour.

Architecture in one diagram โ€‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Tauri process โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  WebView (React 19 + Vite + TS)               โ”‚
โ”‚   - Zustand UI state                          โ”‚
โ”‚   - TanStack Query (short-lived render cache) โ”‚
โ”‚   - Monaco ยท Shiki ยท PDF.js (all lazy)        โ”‚
โ”‚        โ”‚  invoke / listen                     โ”‚
โ”‚        โ–ผ                                      โ”‚
โ”‚  Rust core                                    โ”‚
โ”‚   - profile_manager   - cache (SWR)           โ”‚
โ”‚   - s3_client_pool    - transfer_queue        โ”‚
โ”‚   - capability_cache  - resource_locks        โ”‚
โ”‚   - keychain          - settings              โ”‚
โ”‚   - media_server (loopback, signed tokens)    โ”‚
โ”‚        โ”‚                                      โ”‚
โ”‚        โ–ผ                                      โ”‚
โ”‚  aws-sdk-s3 (per-profile, per-region clients) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ”‚
                       โ–ผ
         AWS S3 / MinIO / R2 / Wasabi / โ€ฆ

Three load-bearing constraints drive every decision:

  1. AWS credentials never cross the IPC boundary โ€” the WebView only sees opaque request IDs and signed loopback URLs.
  2. Rust is the authoritative cache โ€” TanStack Query is a short-lived render adapter, never the source of truth.
  3. Capability gaps feel intentional โ€” unsupported S3 operations are classified once, cached, and surfaced as disabled controls. No red banners.

Read more in Concepts โ†’ Architecture.

Released under the MIT License.