Cross-platform desktop application for browsing and managing files across multiple cloud object storage services.
- AWS S3: Amazon Simple Storage Service
- Azure Blob Storage: Microsoft Azure's object storage solution
- Aliyun OSS: Alibaba Cloud Object Storage Service
- PCG (ParallelCluster): AWS ParallelCluster compatible storage
- Browse buckets/containers and objects across multiple cloud providers
- Upload and download files
- Create folders
- Delete files and folders
- Preview text files, images, PDFs, and more
- Generate temporary signed URLs for file access
- Manage multiple storage accounts
- Cross-platform (Windows, macOS, Linux)
- Node.js 14+ and npm
- Clone the repository
git clone https://github.com/yourusername/s3browser.git
cd s3browser
- Install dependencies
npm install
- Start the application in development mode
npm start
- Build for your platform
npm run build
- Click "Add Connection" in the sidebar
- Select the storage type
- Enter the connection details:
- Connection Name: A user-friendly name for the connection
- Storage Type: AWS S3, Azure Blob, Aliyun OSS, or PCG
- Endpoint: The service endpoint URL
- Region: The service region
- Authentication Details: Credentials required for the selected storage type
- Bucket/Container (Optional): Default bucket/container to open on connection
- Prefix Path (Optional): Default folder path to navigate to
- Access Key: AWS access key ID
- Secret Key: AWS secret access key
- Account Name: Azure storage account name
- Account Key: Azure storage account key
- Access Key: Aliyun access key ID
- Secret Key: Aliyun access key secret
- Access Key: PCG access key ID
- Secret Key: PCG secret access key
- Browse Folders: Double-click folders to navigate in and out of directories
- Upload Files: Select files from your computer to upload to the current folder
- Download Files: Select files and click the download button
- Create Folders: Create new folders in the current directory
- Delete Files/Folders: Select items and click the delete button
- Preview Files: Click the preview button to view supported files (images, text, PDFs, etc.)
The application is designed with extensibility in mind. To add support for additional storage providers:
- Create a new client implementation in the
storage-clientsdirectory - Extend the
StorageClientInterfaceclass to implement required methods - Register the new client type in the
StorageClientFactory - Update the UI to include the new storage type
MIT
- List your contributors here

