5 releases
0.1.4 | Jun 10, 2024 |
---|---|
0.1.3 | May 26, 2024 |
0.1.2 | May 22, 2024 |
0.1.1 | May 21, 2024 |
0.1.0 | May 20, 2024 |
#256 in Asynchronous
4MB
5.5K
SLoC
_____ __ _
____|__ // /___ __(_)
/ ___//_ / __/ / / / /
(__ )__/ / /_/ /_/ / /
/____/____/\__/\__,_/_/
s3tui - AWS S3 Transfer CLI
s3tui
is a powerful terminal-based application that enables seamless file transfers between your local machine and
multiple AWS S3 accounts. Crafted with the ratatui Rust TUI framework, s3tui
provides a robust user interface for managing uploads and downloads simultaneously in both directions, enhancing your
productivity with S3 services.
Features
- Multiple Account Support: Easily configure and switch between different S3 accounts during runtime using the 's' command.
- Simultaneous Transfers: Transfer multiple files at once, both to and from S3, thanks to multithreading capabilities powered by the tokio library.
- Interactive Commands:
Tab,↔
- move between local and s3 panels
- select account currently in use.Esc
- move back to the file manager window.↕ / j / k
- move up/down on the lists.t
- select/deselect files to transfer.c
- create bucket.⌫ / Del
- delete item.l
- Display currently selected files for transfer.r
- Execute the selected transfers.q
- Quit the application.?
- Access the help page with all available commands.
- Environment Configuration: Customize settings via environment variables or utilize default settings compliant with the XDG Base Directory Specification.
- Error Handling: Integrated
color_eyre
panic hook for clear and colorized error reporting. - Version Information: Quickly view the application version with the
--version
command.
Setup
-
Configure Environment Variables:
export S3TUI_CONFIG=`pwd`/.config export S3TUI_DATA=`pwd`/.data export S3TUI_LOGLEVEL=info
Alternatively, use the default paths set according to the XDG Base Directory Specification.
You can check your configuration by running
s3tui --version
which will show you the paths currently in use. -
Add your s3 credentials
- Add as many configurations under
creds
directory (inside your.data
directory specified withS3TUI_DATA
env variable) - The file should look like the one below:
- Add as many configurations under
access_key=YOUR_ACCESS_KEY
secret_key=YOUR_SECRET_KEY
default_region=eu-west-1
Make sure there is a new line at the end and there are no leading spaces on the lines.
-
Installation from crates.io:
- Ensure you have Rust and
cargo
installed. - Install with cargo
cargo install s3tui
- Ensure you have Rust and
-
Building locally:
- Ensure you have Rust and
cargo
installed. - Clone the repository and build the project:
git clone <repository-url> cd s3tui cargo build --release
- Ensure you have Rust and
-
Running s3tui:
- Navigate to the project directory and run:
./target/release/s3tui
Logs
Application logs are efficiently managed and stored in the directory specified by S3TUI_DATA
, keeping you informed of
all operations and aiding in troubleshooting.
Getting Started
Once s3tui
is running, press ?
to open the help page, which displays all the commands and their functions, allowing
you to start transferring files immediately.
Enhance your productivity with s3tui
, the command-line interface that bridges the gap between local file management
and cloud storage with ease and efficiency. Whether you're managing large datasets or performing routine
backups, s3tui
makes S3 file transfer tasks intuitive and manageable directly from your terminal.
Dependencies
~42–57MB
~854K SLoC