Brows3 S3 Browser Logo
Brows3
GitHub
v0.2.44 • FREE & OPEN SOURCE S3 BROWSER
Brows3 - Free S3 Browser

Brows3

Open-Source S3 Browser & Desktop Client

Free S3 Browser
Windows
macOS
Linux

Browse and manage Amazon S3, MinIO, Wasabi, Cloudflare R2, DigitalOcean Spaces, and other S3-compatible storage from a focused Rust and Tauri desktop app. Search bounded prefixes, preview and edit objects, use AWS SSO profiles, and transfer large files on macOS, Windows, and Linux.

GitHub

S3 Browser Overview

A focused desktop client for Amazon S3 and S3-compatible object storage

Browse S3 Without the Console

Brows3 turns S3 prefixes and objects into a familiar desktop file-browser workflow. It supports Amazon S3, MinIO, Garage, Cloudflare R2, Wasabi, DigitalOcean Spaces, Backblaze B2, STACKIT Object Storage, and custom S3-compatible endpoints. Direct s3:// paths also work for restricted accounts without broad bucket-list permission.


What's New in v0.2.44

  • AWS IAM Identity Center (SSO)

    Discover current and legacy SSO profiles, use AWS SDK cached credentials, and refresh sessions through a profile-scoped AWS CLI v2 sign-in action.

  • Large Multipart Uploads

    Files at or above 100 MiB use adaptive, retryable, bounded-memory multipart transfers with progress, cancellation, and remote abort cleanup. This includes files beyond 5 GiB.

  • Configurable Text and Streamed Media Previews

    Set a persisted text preview limit from 1 to 100 MB. Images, audio, video, and PDFs stream through presigned URLs outside that memory allowance.

  • Content-Type Detection and Editing

    Infer MIME types on upload and edit a validated custom Content-Type while preserving supported object metadata, tags, security settings, and ACL grants.

  • Persistent Linux Credentials

    Use freedesktop Secret Service instead of the volatile kernel session keyring, with migration for live legacy entries.

  • Shared-Profile Endpoint Compatibility

    Shared AWS profiles with endpoint_url now use path-style addressing and compatible checksum behavior for MinIO-style services.

Read the complete v0.2.44 release notes.


Predictable Behavior at Scale

  • Prefix-Aware Pagination

    Normal folder views use S3 prefixes, delimiters, and continuation tokens instead of pre-indexing an entire bucket.

  • Bounded Deep Search

    Each recursive search is capped at 100 LIST requests, 100,000 scanned objects, and 10,000 matches.

  • Accurate Bounded Sorting

    Non-default sorting orders the complete selected prefix before pagination, capped at 100 LIST requests or 100,000 entries.

  • Targeted Caches

    Bucket discovery uses a 30-minute per-profile cache, while bounded sorted views are reused for the current session and invalidated after writes or refreshes.


Desktop Architecture

Rust Core

Handles S3 networking, credentials, bounded search and previews, caching, and multipart transfers.

React + Tauri UI

Provides a native desktop shell with virtualized object listings and paginated IPC between the UI and backend.

App Screenshots

Browse the Brows3 desktop interface across setup, bucket navigation, transfers, and settings.

Start

Profile-first startup screen for connecting S3-compatible storage.

1 / 12

Download S3 Browser - Free

Get Brows3 v0.2.44 for Windows, macOS, or Linux. These links point directly to the verified GitHub release assets. Updater archives and signatures remain available on the release page.

PlatformArchitectureTypeAction

macOS

Apple Silicon (M1/M2/M3/M4)

Apple Silicon (M1/M2/M3/M4)

DMGDownloadGet

macOS

Intel (x64)

Intel (x64)

DMGDownloadGet

Windows

x64

x64

MSIDownloadGet

Windows

x64

x64

EXEDownloadGet

Windows

x64

x64

Portable ZIPDownloadGet

Linux

x64 (amd64)

x64 (amd64)

AppImageDownloadGet

Linux

x64 (amd64)

x64 (amd64)

DEBDownloadGet

Linux

ARM64 (aarch64)

ARM64 (aarch64)

AppImageDownloadGet

Linux

ARM64

ARM64

DEBDownloadGet

Install with Windows Package Manager

The published package identity is Brows3Team.Brows3. Microsoft's catalog can briefly lag behind a new GitHub release while its validation and indexing complete.

winget install --exact --id Brows3Team.Brows3

View the public Winget package · View the v0.2.44 release manifest

System requirements

  • macOS 10.15 or later
  • Windows 10 or later
  • Linux with GTK 3.24 or later
The macOS v0.2.44 bundles are updater-signed and ad-hoc code-signed, but not Apple-notarized because the project does not currently have Apple Developer ID/notarization credentials configured.

View release notes, updater signatures, and every published asset on GitHub Releases

S3 Browser Features

Current capabilities and operating boundaries in Brows3 v0.2.44

Object and Transfer Management

  • Prefix and Breadcrumb Navigation

    Browse delimiter-based S3 folders, open direct s3:// paths, and move quickly through known prefixes.

  • Bulk and Recursive Operations

    Upload, download, copy, move, and delete files or folders with queue progress and cancellation controls.

  • Large Multipart Uploads

    Use adaptive multipart transfers from 100 MiB upward with bounded memory, retryable parts, progress reporting, and cleanup after cancellation or failure.

  • Content-Type Control

    Infer MIME types from object names and edit a validated free-form Content-Type without discarding supported metadata, tags, headers, security fields, or ACL grants.

  • Object Permissions

    Read and update object ACL grants and apply canned ACLs recursively where the provider and bucket support ACLs.

  • Presigned URL Sharing

    Generate temporary object links with a configurable expiry from the bucket view.


Previews and Editing

  • Built-in Monaco Editor

    Edit text, JSON, YAML, and code objects directly in S3 while retaining the existing Content-Type.

  • Configurable Bounded Text Previews

    Choose a persisted text preview limit from 1 to 100 MB (2 MB by default). The Rust backend streams and enforces the exact bound.

  • Streamed Media Previews

    Preview images, audio, video, and PDFs through presigned URLs without loading the full object into the text-preview memory allowance.


Profiles and Credentials

  • Manual, Shared, SSO, and Custom Endpoint Profiles

    Connect with access keys, system AWS profiles, IAM Identity Center sessions, or S3-compatible endpoint credentials.

  • AWS IAM Identity Center Sign-In

    Recognize SSO profiles, resolve cached SDK credentials, and launch an exact-profile AWS CLI v2 sign-in when a session expires.

  • Native Credential Storage

    Use macOS Keychain, Windows Credential Manager, or Linux Secret Service. Portable mode and keychain failures use the documented local secrets.json fallback.

  • Profile-Isolated Transfer Queues

    Every queued transfer retains the profile that created it, so switching accounts cannot change the credentials used by an existing job.

  • S3-Compatible Endpoint Routing

    Custom endpoints and shared profiles with endpoint_url use path-style addressing and compatibility checksum behavior.


Performance with Explicit Limits

  • Prefix-Aware Pagination

    Normal folder listings use S3 prefixes, delimiters, and continuation tokens rather than a full-bucket background index.

  • Bounded Deep Search

    Scan up to 100,000 objects with at most 100 LIST requests and return at most 10,000 matches per search.

  • Complete-Prefix Sorting

    Order non-default views before pagination, capped at 100 LIST requests or 100,000 entries.

  • Targeted Bounded Caching

    Cache bucket discovery for 30 minutes per profile and reuse bounded sorted views during the session, with invalidation after writes and refreshes.

  • Virtualized Object Table

    Render only the visible rows so large loaded listings remain responsive.


Reliability and Updates

  • Readable Backend Errors

    Command failures cross the Tauri boundary as human-readable messages instead of JavaScript object placeholders.

  • Safe Recursive Downloads

    Reject traversal, absolute, rooted, drive-prefixed, and null-containing object-key paths before writing locally.

  • Signed Update Metadata

    Check for updater-signed desktop releases and review available versions from Settings or startup.

  • System Monitor

    Inspect request success and failure counts plus application logs when diagnosing provider behavior.

Limits and Caching

The active data paths and safety limits in Brows3 v0.2.44

AreaBehaviorBoundary
Folder browsingS3 prefix and delimiter listing with continuation-token paginationLoads the selected prefix. No background full-bucket index
Current-folder filterFilters the folder results already loaded in the UIDoes not issue a recursive bucket scan
Deep searchRecursively lists the selected bucket or prefix100 LIST requests, 100,000 scanned objects, 10,000 matches
Non-default sortingOrders the complete selected prefix before pagination100 LIST requests or 100,000 entries
CachingCaches bucket discovery and bounded complete-prefix sorted views30-minute bucket TTL. The sorted-view session cache is capped and invalidated after writes
Text previewStreams text through the Rust backend before returning it to the WebViewUser-configurable limit from 1 to 100 MB, enforced even without reliable object metadata
Large uploadsUses adaptive S3 multipart upload from 100 MiB upwardOne part in memory, up to the S3 10,000-part limit, with abort cleanup

S3 LIST requests can incur provider charges. The limits above bound a single deep search or complete-prefix sort. Normal folder browsing remains paginated.

Architecture

How Brows3 keeps S3 work responsive and bounded

Brows3 does not pre-index a complete bucket. It combines prefix-aware S3 requests, explicit scan limits, targeted caches, and a virtualized desktop UI.

  • 1. Rust Core

    Owns S3 networking, credential resolution, bounded search and previews, multipart transfers, local path validation, and write-side cache invalidation.

  • 2. Prefix-Aware S3 Pagination

    Lists the selected folder with prefixes, delimiters, and continuation tokens. Recursive search and non-default sorting have request and object caps.

  • 3. Targeted Caches

    Caches per-profile bucket discovery for 30 minutes and bounded complete-prefix sorted views for the current session. It never creates an unbounded full-bucket tree.

  • 4. Paginated IPC and Virtualized React UI

    Moves structured pages between Rust and the WebView while rendering only visible table rows to avoid blocking the interface.

  • 5. Native Tauri Shell

    Packages the same desktop experience for macOS, Windows, and Linux while using each platform's native credential service when available.

Build Guide

Build from source for your platform

Prerequisites (All Platforms)
  • Node.js v22+ and pnpm

    The release repository currently declares pnpm 11.2.2

  • Rust 1.97.1

    Matches the toolchain used by the release validation workflow


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

Restart your terminal to refresh the PATH

3. Select and verify the release toolchain

rustup toolchain install 1.97.1
rustup default 1.97.1
cargo --version
rustc --version

4. Clone and run

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

macOS Setup

1. Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup toolchain install 1.97.1
rustup default 1.97.1

2. Install Xcode Command Line Tools

xcode-select --install

3. Clone and run

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

Linux Setup

1. Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup toolchain install 1.97.1
rustup default 1.97.1

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 --frozen-lockfile
pnpm tauri dev

Release Build (All Platforms)
pnpm tauri build

Contributing

Join the open source community

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


Maintainers
  • rgcsekaraa
  • thamothara7

How to Contribute
  • 1. Check the Issues

    Look for "good first issue" labels on GitHub

  • 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

View Contributing Guide

Feature Request

Help us improve Brows3 by sharing your ideas

​
Your Name *
​
Email Address *
​
​
Feature Category *
​
Feature Title *
​
Detailed Description *

Your request will be reviewed by our development team. We may reach out to your email for additional details.

Brows3 v0.2.44 • Free and open source • Open Source on GitHub