Skip to content

thamothara7/brows3

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

80 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Brows3 πŸš€

Release License: MIT Build

Brows3 is a high-performance, open-source Amazon S3 desktop client designed for developers who demand speed. Built with a Rust core and a Tauri-powered frontend, Brows3 solves the "slow listing" problem of traditional S3 browsers through its unique prefix-indexed caching architecture.

Navigating through buckets with millions of objects is now as fast as browsing your local file system.

✨ Why Brows3?

Traditional S3 tools often suffer from latency when navigating deep folder structures or listing large numbers of objects. Brows3 rethinks the browsing experience:

  • ⚑ Instant Navigation: After an initial index, folder traversal happens in O(1) time. No more waiting for "Loading..." spinners when clicking through directories.
  • πŸ” Deep Search: Perform instant, localized searches across your entire bucket. Find any file in milliseconds, even in massive datasets.
  • πŸ“¦ Intelligent Background Indexing: Brows3 populates its local cache in the background while you work, ensuring your view is always synchronized without blocking your interaction.
  • ♾️ Hyper-Virtuoso Table: Our custom-tuned virtualization engine handles lists of 100,000+ items with silky-smooth scrolling at 60fps.

πŸ› οΈ Feature Deep Dive

πŸ“‚ File Management

  • Breadcrumb Navigation: Path-based navigation for rapid traversal of complex hierarchies.
  • Bulk Operations: Upload, download, and delete multiple files or recursive folders at once.
  • Mixed Content Support: Seamlessly handle folders and files in a single drag-and-drop operation.
  • Copy-to-Clipboard: Quick copy of S3 Paths, Keys, and Object URLs.

πŸ“„ Rich Previews & Editing

  • Built-in Editor: Powered by Monaco (VS Code's Engine). Edit text, JSON, and code files directly in S3.
  • Media Previews: Native support for high-resolution images, videos, and PDFs.
  • Rendering Indicators: Clear visual feedback for large image rendering states.

Feature Deep Dive

πŸš€ Speed & Performance

  • Rust-Powered Backend: Core logic is written in Rust for near-instant operations.
  • Smart In-Memory Caching:
    • Sub-millisecond navigation for recently visited folders.
    • Auto-Invalidation: Cache automatically refreshes after you upload, delete, or modify files.
    • 30-Minute TTL: Stale data (from external sources) is automatically purged.
  • Lazy Loading: Efficiently handles buckets with millions of objects.

�️ Enterprise & Restricted Access

  • Direct Bucket Access: Instantly navigate to specific buckets (e.g., s3://my-secure-bucket) even if you don't have s3:ListBuckets permission.

  • Profile-Gated Access: Create isolated profiles for different AWS accounts or environments.

  • Cost Awareness: UI indicators for cached data help you manage S3 API costs.

  • πŸ“„ In-App PDF Preview: View PDFs directly within the application with a high-performance native renderer. Features embedded search, standard PDF navigation, and focused reading mode.

  • ⚑ Deep Recursive Search: Instantly toggle between local filtering and server-side recursive search. Find objects buried deep in subfolders without manually navigating the hierarchy.

  • πŸ“Š System Monitor: Real-time visibility into application performance. Track API request success/failure rates and view live logs for debugging.

  • πŸ” Profile-Gated Access: Create isolated profiles for different AWS accounts or environments. Switch contexts instantly with zero friction.

  • βš™οΈ Enhanced Settings:

    • Manage application data, clear cache, and check for updates manually.
    • One-click theme switching (Dark/Light/System).
    • Configure default regions and concurrency limits.
  • Auto-Updates: Seamless background updates ensure you're always on the latest secure version.

πŸ—οΈ Technical Architecture

Brows3 leverages a tiered data strategy to achieve its performance:

  1. Rust Core (The Muscle): Handles all heavy-lift S3 networking, credential management, and local indexing using high-speed concurrency.
  2. Prefix-Indexed Tree: An in-memory data structure that organizes S3's flat object list into a hierarchical tree, enabling instant directory lookup.
  3. Paginated IPC Bridge: Data is transferred between Rust and the React frontend over a high-speed, paginated IPC channel, preventing UI hangs during large data transfers.
  4. SSG React (The UI): A Next.js-based frontend exported as a static site, providing the smallest possible memory footprint.

πŸš€ Installation

Brows3 is available for all major desktop platforms. Download the latest version from the Releases page.

Platform Installer Type
macOS .dmg (Silicon/Intel), .app.tar.gz
Windows .msi, .exe
Linux .deb, .AppImage

Manual Build

If you prefer building from source, follow the instructions for your platform:

Prerequisites (All Platforms)

  • Node.js v20+ and pnpm (install via npm install -g pnpm)
  • Rust (see platform-specific instructions below)

πŸͺŸ Windows Setup

  1. Install Rust:

    • Download and run the installer from rustup.rs
    • Or run in PowerShell: winget install Rustlang.Rustup
  2. Restart your terminal to refresh the PATH

  3. Verify installation:

    cargo --version
    rustc --version
  4. Clone and run:

    git clone https://github.com/rgcsekaraa/brows3.git
    cd brows3
    pnpm install
    pnpm tauri dev

🍎 macOS Setup

  1. Install Rust:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source ~/.cargo/env
  2. Install Xcode Command Line Tools (if not already installed):

    xcode-select --install
  3. Clone and run:

    git clone https://github.com/rgcsekaraa/brows3.git
    cd brows3
    pnpm install
    pnpm tauri dev

🐧 Linux Setup

  1. Install Rust:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source ~/.cargo/env
  2. Install system dependencies (Debian/Ubuntu):

    sudo apt update
    sudo apt install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
  3. Clone and run:

    git clone https://github.com/rgcsekaraa/brows3.git
    cd brows3
    pnpm install
    pnpm tauri dev

Release Build (All Platforms)

pnpm tauri build

πŸ‘₯ Contributors

We welcome contributions from the community! Whether you are a Rustacean, a React developer, or as a technical writer, your help is appreciated.

  • Founder & Maintainer: rgcsekaraa
  • Core Engineering: Brows3 Open Source Team

Want to become a contributor? Check out our Contributing Guide and join us in building the world's fastest S3 browser!

🀝 How to Contribute

  1. Check the Issues: Look for "good first issue" labels.
  2. Standard Workflow: Fork -> Branch -> Commit -> Pull Request.
  3. Code Quality: Ensure Rust code is formatted with cargo fmt and TS code with pnpm lint.

πŸ“ˆ Roadmap

  • Multi-Account Support (Profiles) βœ…
  • S3-Compatible Storage support (MinIO, R2, etc.)
  • Sync Folders (Local <-> S3)
  • Dark Mode / Custom Themes βœ… (Defaults to system, toggle available)

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


Created by rgcsekaraa. Built for the community.

About

πŸš€ Ultra-fast, open-source Amazon S3 desktop client built with Rust and Tauri. Featuring O(1) prefix-indexed navigation and background syncing.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 74.5%
  • Rust 24.5%
  • Other 1.0%