Universal S3 UI is a lightweight, cross-platform graphical user interface for managing S3-compatible object storage services, with a particular focus on non-AWS implementations. Built with Go and Fyne, this application provides a seamless experience across macOS, Windows, and Linux.
- Universal Compatibility: Works with any S3-compatible storage service (Minio, Ceph, etc.)
- Secure Connections: Support for both HTTP and HTTPS connections
- File Management:
- Browse objects in your bucket with size information
- Upload local files to your bucket
- Download selected files from your bucket to your local machine
- Delete objects
- Select files and generate temporary download links valid for one hour
- Refresh bucket contents
- Asynchronous Loading: Load objects without blocking the UI
- Search Functionality: Easily find objects with simple fulltext search
- Progress Tracking: Visual progress bar for long-running operations
- Pagination: Load objects in batches for improved performance
- Detailed Object Information: View object name, size, and last modified date
- Responsive UI: Resizable columns for better visibility of object details
You can download pre-built binaries for Linux, macOS, and Windows from the GitHub Releases page. This allows you to quickly get started with Universal S3 UI without needing to build from source. Simply download the appropriate binary for your operating system, extract it, and run the executable.
- Any S3-compatible storage service credentials
- For building from source: Go programming language
When you start the application, you'll need to provide:
- Endpoint: Your S3 service endpoint (e.g., "play.min.io")
- Access Key: Your S3 access key
- Secret Key: Your S3 secret key
- Bucket Name: The name of the bucket you want to access
- SSL: Toggle for HTTPS connection (recommended for production use)
The configuration values can also be preset using CLI flags or environment variables. The available options are:
- Endpoint:
--endpoint
orENDPOINT
- Access Key:
--accesskey
orACCESS_KEY
- Secret Key:
--secretkey
orSECRET_KEY
- Bucket Name:
--bucket
orBUCKET
- SSL:
--usessl
orUSE_SSL
- Launch the application
- Enter your S3 service configuration details
- Click "Connect" to establish the connection
- Use the main interface to:
- View objects in your bucket with detailed information
- Use the search bar to find specific objects
- Select one or multiple objects to download or delete files
- Use upload to add new local files to your bucket
- Select files and generate temporary download links
- Click "Exit" to close the application
Here's a visual walkthrough of the application:
The login screen where you enter your S3 service configuration details
Main interface showing the list of objects in your bucket
Select one or multiple objects by clicking the checkbox in the first column to download or delete
File upload interface for adding new objects to your bucket
Built using:
- Fyne - Cross-platform GUI toolkit for Go
- MinIO Go Client - S3-compatible storage client
Ensure you're using SSL (HTTPS) when connecting to production servers to protect your credentials and data in transit.
MIT License