2025-03-31 17:47:48 -05:00
2025-03-31 17:47:48 -05:00
2025-03-31 17:47:48 -05:00
2025-03-31 17:47:48 -05:00
2025-03-31 17:47:48 -05:00
2025-03-31 17:47:48 -05:00

S3 Directory Uploader

A simple TUI to upload the files of a directory into an S3 bucket.

Setup

go mod tidy

Set your environment variables to connect to your s3 bucket.

cp .env.example .env

Usage

Run the program with:

go run .

or build and run:

$ go build -o s3uploud main.go
$ chmod +x ./s3upload
$ ./s3upload

You will then be prompted for more details.

Bucket

Just the name of the bucket man. Just make sure it exists or you will be insulted.

Directory

The path to the directory that you want uploaded. You can do relative or absolute.

Prefix

If you want to prepend anything to the key of the object in s3. Remember that directories are not real in s3, but prepending the key with a something like /my/super/important/stuff/ will kind if act like a directory in the s3 UIs.

If you are using this prefix to act like a directory path, make sure to not start it with a / and make sure that you do end it with a /

Make sure to read the section that is literally right under this

Design & Limitations

  • Does not handle nest directories at the moment.
  • Will retry failed uploads once, retrys happen in bulk at the end of the process
  • Does not overwrite files with the existing keys
  • SSL is not enabled, nor is an env var made for it yet, as I built this to use inside my own network. Set useSSL to true if using https for you endpoint
Description
A simple TUI to upload the files of a directory into an S3 bucket.
Readme 28 KiB
Languages
Go 100%