본문으로 건너뛰기
로그인 둘러보기
기타 소프트웨어 · 윈도우즈 유틸

Brows3

0

Brows3는 오픈소스 데스크톱용 S3 브라우저 및 클라이언트로, Brows3 Team이 Rust 코어와 Tauri 기반 프런트엔드로 개발했습니다.

S3 클라이언트객체 스토리지데스크톱 앱

소개

Brows3는 오픈소스 데스크톱용 S3 브라우저 및 클라이언트로, Brows3 Team이 Rust 코어와 Tauri 기반 프런트엔드로 개발했습니다. Amazon S3는 물론 MinIO, Cloudflare R2, Wasabi, STACKIT Object Storage, DigitalOcean Spaces 같은 S3 호환 객체 스토리지를 한 프로그램에서 탐색하고 관리하도록 만들어졌습니다. 대용량 버킷에서도 빠르게 동작하도록 프리픽스 인지 폴더 뷰와 로컬 캐시, 가상화된 객체 테이블을 갖추고 있어 개발자가 객체 스토리지를 로컬 파일처럼 다룰 수 있도록 돕는 것이 주목적입니다.

상세정보

파일 관리 및 전송

  • 버킷과 프리픽스를 빠르게 오갈 수 있는 브레드크럼 경로 탐색과 다중 파일/재귀 폴더 업로드·다운로드·삭제 일괄 작업을 지원합니다.
  • 100MiB 이상의 대용량 파일은 재시도 가능한 멀티파트 전송과 적응형 파트 크기, 진행률 표시, 깔끔한 취소 처리를 사용하며 5GiB 단일 PUT 한계를 넘어선 객체도 처리합니다.
  • 업로드 시 객체 이름에서 MIME 타입을 추론하고, 객체 속성에서 Content-Type을 직접 편집할 수 있어 메타데이터와 태그, 암호화 설정, ACL 권한을 유지한 채 콘텐츠 타입만 변경할 수 있습니다.
  • 드래그 앤 드롭으로 폴더와 파일을 한 번에 처리할 수 있고, S3 경로, 키, 객체 URL을 클립보드로 복사하거나 만료 시간을 설정한 사전 서명 URL을 생성할 수 있습니다.
  • S3 객체 ACL을 파일 단위와 폴더 프리픽스 단위로 재귀 적용하며, 버킷 또는 제공업체가 ACL을 비활성화한 경우 안내 메시지를 표시합니다.

미리보기와 편집

  • Monaco(VS Code 엔진) 기반 내장 편집기로 S3에 저장된 텍스트, JSON, 코드 파일을 직접 수정할 수 있고, 파일 목록과 컨텍스트 메뉴의 ‘편집’ 버튼으로 즉시 열 수 있습니다.
  • 설정에서 1~100MB 사이의 미리보기 한도를 선택해 텍스트·HTML·코드 미리보기의 메모리 사용량을 통제할 수 있으며, 동일 한도는 Rust 백엔드에서도 강제 적용됩니다.
  • 사전 서명 URL을 통해 이미지, 오디오, 비디오, PDF 미리보기를 제공하며, 스트리밍 미디어는 텍스트 미리보기 메모리 한도와 별도로 동작합니다.

성능 및 대용량 버킷 대응

  • 프로필별 버킷 목록을 30분 동안 캐시하여 재방문 시 즉시 표시하고, 완전 정렬된 폴더 뷰는 세션 내에서 재사용되며 객체 쓰기나 수동 새로 고침 후 자동으로 무효화됩니다.
  • 객체 테이블은 가상화되어 대량 목록에서도 행 단위 렌더링 부하를 줄이고, S3 프리픽스·구분자·연속 토큰 기반 페이지 매김으로 폴더를 단계적으로 불러옵니다.
  • 딥 서치는 선택한 버킷 또는 프리픽스에서 재귀 검색을 수행하며, 최대 100,000 객체·100개 S3 LIST 요청·10,000개 일치 결과로 비용과 메모리 사용을 제한합니다.
  • 기본 정렬이 아닌 폴더는 100개 LIST 요청과 100,000 항목까지 백엔드에서 정렬한 뒤 페이지 매김하여 정확한 정렬 결과를 보장합니다.

엔터프라이즈 접근 및 자격증명 관리

  • s3://버킷명 형태의 직접 접근을 지원하여 s3:ListBuckets 권한이 없는 제한된 버킷에도 바로 진입할 수 있습니다.
  • AWS IAM Identity Center(SSO) 프로필을 자동 인식하고 AWS CLI v2 브라우저 로그인을 통해 만료된 세션을 갱신할 수 있습니다.
  • macOS는 Keychain, Windows는 Credential Manager, Linux는 freedesktop Secret Service(GNOME Keyring/KWallet)로 자격증명을 안전하게 보관하며, 포터블 모드나 키체인 사용이 어려운 경우 모드 0600의 로컬 secrets.json 폴백을 사용합니다.
  • 공유 AWS 프로필에 endpoint_url이 지정된 경우 패스 스타일 버킷 주소 지정과 호환성 체크섬 동작을 사용해 MinIO 류 엔드포인트와 일관되게 동작합니다.

설정 및 운영 보조

  • 다크/라이트/시스템 테마 전환, 기본 리전, 전송 동시성, 텍스트 미리보기 메모리 한도 등 자동 옵션을 설정에서 조정할 수 있고, 캐시 정리와 수동 업데이트 확인도 지원합니다.
  • 시스템 모니터 화면에서 요청 성공/실패율과 실시간 로그를 확인할 수 있으며, 같은 S3 경로의 중복 탭을 자동으로 정리하는 스마트 탭 관리 기능을 제공합니다.
  • 업데이트는 GitHub의 서명된 릴리스를 통해 배포되며, 릴리스 자동화는 업데이터 서명과 패키지 메타데이터까지 검증합니다.

어떤 S3 호환 서비스를 지원하나요?

AWS S3는 물론이고 MinIO, Cloudflare R2, Wasabi, STACKIT Object Storage, DigitalOcean Spaces 같은 S3 호환 엔드포인트를 지원합니다. STACKIT Object Storage는 Custom S3 호환 모드로 endpoint https://object.storage.eu01.onstackit.cloud, region eu01을 사용해 연결합니다.

Windows에서 어떻게 설치하나요?

GitHub 릴리스에서 .msi 또는 .exe 설치 프로그램을 내려받아 설치하거나 PowerShell에서 winget install --exact --id Brows3Team.Brows3 명령으로 설치할 수 있습니다.

소스에서 직접 빌드할 수 있나요?

Node.js v22 이상, pnpm, Rust를 설치한 뒤 저장소를 클론해 pnpm install과 pnpm tauri dev로 개발 빌드를 실행하고, pnpm tauri build로 배포용 빌드를 만들 수 있습니다. Linux는 추가 시스템 라이브러리 설치가 필요합니다.

오픈소스 라이선스는 무엇인가요?

MIT License로 배포되며 라이선스 전문은 저장소의 LICENSE 파일에서 확인할 수 있습니다.

시스템 요구사항

Windows, macOS, Linux 등 주요 데스크톱 운영체제를 지원하며 각 플랫폼용 설치 패키지를 제공합니다. Windows 설치본은 WebView2 런타임을 포함하므로 별도의 런타임 설치가 필요하지 않습니다. 소스에서 직접 빌드하려면 Node.js v22 이상과 pnpm, Rust가 필요하며, Linux는 추가로 libgtk-3-dev, libwebkit2gtk-4.1-dev, libappindicator3-dev, librsvg2-dev, patchelf 같은 시스템 라이브러리가 요구됩니다. 네트워크 연결이 필수이며, 연결 대상 서비스의 접근 키와 비밀 키 등 인증 정보가 별도로 필요합니다.