12 unstable releases (4 breaking)

0.5.0 Jun 1, 2024
0.4.2 May 21, 2024
0.4.1 Mar 22, 2024
0.3.0 Mar 9, 2024
0.1.0 Mar 4, 2023

#76 in Command line utilities

Download history 2/week @ 2024-02-14 10/week @ 2024-02-21 5/week @ 2024-02-28 218/week @ 2024-03-06 130/week @ 2024-03-13 169/week @ 2024-03-20 21/week @ 2024-03-27 19/week @ 2024-04-03 101/week @ 2024-05-15 63/week @ 2024-05-22 149/week @ 2024-05-29

313 downloads per month

MIT license

2.5MB
7.5K SLoC

Rust 6.5K SLoC // 0.0% comments Go 777 SLoC

STU

Crate Status

S3 Terminal UI

About

STU is the TUI application for AWS S3 written in Rust using ratatui.

Installation

Cargo

$ cargo install stu

Homebrew (macOS)

$ brew install lusingander/tap/stu

AUR (Arch Linux)

$ paru -S stu

Binary

You can download binaries from releases

Usage

STU - S3 Terminal UI

Usage: stu [OPTIONS]

Options:
  -r, --region <REGION>     AWS region
  -e, --endpoint-url <URL>  AWS endpoint url
  -p, --profile <NAME>      AWS profile name
  -b, --bucket <NAME>       Target bucket name
      --debug               Output debug logs
  -h, --help                Print help
  -V, --version             Print version

You can also use each environment variable in the same way as when using the AWS CLI.

Detailed operations on each view can be displayed by pressing ? key.

Or refer to the ***-help.png screenshots in the ./img directory.

Config

Config is loaded from $STU_ROOT_DIR/config.toml.

  • If STU_ROOT_DIR environment variable is not set, ~/.stu is used by default.
  • If the file does not exist, it will be created automatically at startup.
  • If no value is set, the default value will be set.

The values that can be set are as follows:

  • download_dir: string - Directory to save when downloading objects (default: $STU_ROOT_DIR/download)
  • preview.highlight: bool - Whether syntax highlighting is enabled in preview (default: false)

Features / Screenshots

Bucket list

  • Show list of buckets
    • filter/sort items

Object list

  • Show list of objects in a hierarchy
    • filter/sort items

Object detail

  • Show object details
  • Show object versions
  • Download object
  • Preview object (text file only)
  • Copy resource name to clipboard

Troubleshooting

  • If you cannot connect to AWS S3, first check whether you can connect using the AWS CLI with the same settings.
  • By running with the --debug flag, logs will be output to $STU_ROOT_DIR/debug.log.
    • Currently, application events and AWS SDK logs are output.
    • Pressing F12 while the application is running will dump the application state to the log.
  • When reporting a problem, please include the information like the following.
    • Application version
    • Operating system and version
    • Terminal you are using
    • Steps to reproduce the issue
    • Relevant log files or error messages

License

MIT

Dependencies

~39–55MB
~819K SLoC