#amazon-s3 #s3 #file-sharing #aws

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

#2227 in Command line utilities

Download history 175/week @ 2024-05-31 155/week @ 2024-06-07 21/week @ 2024-06-14 116/week @ 2024-07-12 8/week @ 2024-07-19 222/week @ 2024-07-26 30/week @ 2024-08-02

252 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

~32–47MB
~621K SLoC