#amazon-s3 #file-sharing #s3 #aws #command-line-tool

bin+lib shuk

A command line tool that uploads files to Amazon S3 buckets, and generates presigned URLs for easy sharing

5 releases

0.4.4 Jul 31, 2024
0.4.3 Jul 31, 2024
0.4.2 Jul 14, 2024
0.4.1 Jun 11, 2024
0.4.0 Jun 2, 2024

#2538 in Command line utilities

Download history 21/week @ 2024-07-16 252/week @ 2024-07-30 22/week @ 2024-09-10 6/week @ 2024-09-17 4/week @ 2024-09-24 20/week @ 2024-10-01

280 downloads per month

MIT/Apache

680KB
517 lines

Shuk 💾 ➡️ 🪣

screenshot of shuk

⚠️BETA SOFTWARE⚠️

Shuk is used to upload files of any size to Amazon S3 and have them shared with others via a presigned URL.

Installation 💾

To install this tool, make sure you have rust and cargo installed and run:

cargo install shuk

Usage 🚀

Usage: shuk [OPTIONS] [FILENAME]

Arguments:
  [FILENAME]

Options:
      --init
  -h, --help     Print help
  -V, --version  Print version

Just pass the filename as the argument to shuk:

shuk filename.bla

Configuration 🔧

All the configuration is located in the $HOME/.config/shuk.shuk.toml file.

# The bucket name where the files will be uploaded
bucket_name = "alan-ford-bucket"
# The prefix (folder) for the uploads. Leave blank "" for the root of the bucket
bucket_prefix = "shuk"
# Length of time in seconds on how long will the presigned URL be valid for
presigned_time = 86400
# The AWS profile shuk will use
aws_profile = "default"
# Should the presigned URL be stored directly to the clipboard or not
use_clipboard = false

To automatically configure this file just run shuk --init

Build Notes

  • For the use_clipboard feature to compile on X11, you need the xorg-dev library.

Dependencies

~45MB
~615K SLoC