BetterS3TUI
A TUI (Terminal User Interface) S3-compatible browser.
Features
- Browse S3-compatible storage from your terminal
- Interactive interface for easy navigation
- Support for multiple S3-compatible services
- Sort files by Name, Size, or Date (interactive menu)
- Search across profiles, buckets, and objects
- Download files
- Multiple profile support
Installation
Option 1: Direct Installation
git clone https://github.com/adiprnm/betters3tui.git
cd betters3tui
bundle install
ruby betters3tui.rb
Option 2: Docker (Recommended)
Run from GitHub Container Registry (Pre-built):
# Pull and run latest version
docker run -it \
-v ~/.config/betters3tui:/root/.config/betters3tui \
-v ~/Downloads:/root/Downloads \
ghcr.io/adiprnm/betters3tui:latest
# Or pull specific version
docker pull ghcr.io/adiprnm/betters3tui:v0.2.2
Build locally using Docker Compose:
# Clone the repository
git clone https://github.com/adiprnm/betters3tui.git
cd betters3tui
# Build the Docker image
docker-compose build
# Run the application
docker-compose run betters3tui
Build locally using Docker:
# Build the image
docker build -t betters3tui .
# Run with volume mounts for config and downloads
docker run -it \
-v ~/.config/betters3tui:/root/.config/betters3tui \
-v ~/Downloads:/root/Downloads \
betters3tui
Configuration
Before running, create a profiles configuration file at ~/.config/betters3tui/profiles.json:
[
{
"name": "my-s3",
"endpoint": "https://s3.example.com",
"access_key": "your-access-key",
"secret_key": "your-secret-key",
"region": "us-east-1",
"is_aws": false
}
]
Usage
Navigation
↑/↓orj/k- Navigate up/downEnter- Select/open itemEscorBackspace- Go back/- Searchq- Quit
Object List (File Browser)
s- Open sort menud- Download current file
Sort Menu
↑/↓- Navigate sort optionsSpace- Select sort column (stays in menu)Enter- Select sort column and exitr- Reverse sort direction (asc/desc)Esc- Cancel
Sort Indicator
The header shows the current sort with direction:
▲- Ascending order▼- Descending order
Development
Running Tests
bundle exec rake test
License
MIT