topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Tuesday January 25, 2022, 1:01 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: NANY 2022 Pledge: S3 Warp Transporter  (Read 336 times)

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,020
    • View Profile
    • Donate to Member
NANY 2022 Pledge: S3 Warp Transporter
« on: December 09, 2021, 09:41 AM »
NANY 2022 Entry Information

Application Name S3 Warp Transporter
Version None Yet
Short Description A way to easily transport files/text using S3 as an intermediary
Supported OSes Windows
Web Page Yes, it will have one
Download Link https://keybase.pub/...3WarpTransporter.zip
System Requirements
  • Modern Windows
  • x86_64 architecture CPU
  • AWS S3 Bucket
  • .NET 5.0
Version History
  • 2022-01-02
    - Initial Release
Author wraith808


Description
I started using Wormhole William, but there's a problem of the bandwidth for the nodes in the transfer. There are several transfer options for using S3 as a backing store, but all of them are pretty heavyweight. So I decided to roll my own- mostly because I'm doing AWS certification course right now, and it's a good way to keep the memories of the earlier lessons while I move on to the rest of the course.

Installation

Installing S3 Warp Transporter is simple- just unzip the archive where you want it installed. You will also have to set up your own S3 Bucket on AWS and Create an IAM with AccessKey/SecretKey. This was intended to solve a problem that I had in using Clipboard Fusion and other clipboard sharers, so it's not exactly non-tech-savvy user friendly.

The first thing I'll cover is the recommended settings for the S3 bucket - I'd recommend that it not be public. You can find simple rules for setting up one at https://docs.aws.ama...creating-bucket.html. The bucket does not need to be public for the application to use it. If you're using it as I am, I'd suggest not making it public.

I also set up lifecycle rules on my bucket, so I don't have to worry about cleaning it up - it's just meant for ephemeral storage as I move things from one computer to another. My settings for my bucket are below:

Step 1: Create the lifecycle rule and apply it to all objects in the bucket
bucket_setup_00.jpg

Step 2: Adjust the rule action to expire current versions of objects after 7 days
bucket_setup_01.jpg

Step 3: Review the rule - it should look like the below image
bucket_setup_02.jpg

Next, we need to create the IAM user. You can find steps on creating one at https://binaryguy.te...m-user-to-access-s3/

Two notes on creation.

Note 1. Make sure to make the user use an access key for programmatic access
bucket_setup_03.jpg

Note 2: The easiest policy to use is the canned one for AmazonS3FullAccess
bucket_setup_04.jpg

You can get more granular and give the user access to only that particular bucket, and only listobjects, putobject, putobjectacl, getobject, getobjectacl, and headobject, permissions, but that's a more advanced operation. I might detail that a bit later in the more formal user guide.

Download the credentials, and note the region you created the bucket in, and the bucket name- you'll need those in the next step.

After getting everything set up, you're ready to run S3WarpTransporter.

First Run

When you first run the application, it will put a taskbar notification icon of a little rocket (thanks to Paul Davey aka Mattahan).
first_run_00.jpg

Right click on that icon, and a menu will show up:
first_run_01.jpg

Choose settings - this is where you will enter your bucket info and the directory you want objects downloaded into (it will be a bit less blurry, of course)
first_run_02.jpgNANY 2022 Pledge: S3 Warp Transporter

Usage

After entering your settings, you'll be in business. To go back to the menu image and explain:
first_run_01.jpg

  • Upload File - Opens a file dialog for you to select what file to upload. After it is uploaded, you will be given the key for the item, and it will be copied to the clipboard
  • Upload from Clipboard - If you have a filepath on the clipboard, that will be uploaded. If it is not a filepath, it will be uploaded as text.
  • Download Key from Clipboard - if you copy the key of a previously uploaded file to the clipboard, it will download that object
  • Settings - We went through that on first run, though if you need to change them, this is the place
  • Exit - Close the icon

Future enhancements

Better documentation, about box, and web page- being sick for much of December, I got a late start on this, so don't have that set up.
Better handling of file extensions on download - when I upload an object, I get the mime type from the extension. However, extensions to mime types are a different story, as they map to a large list- for example, text/plan has 8 different extensions in the apache mime type table. When querying those, they come back in alphabetical order- and the first one is 'conf'. I need to make my own implementation of this, and restrict it to common file types so I have a better chance of getting them right. Or even better, I'll store the original file name in the metadata for the object.
More settings - run at startup would be a nice addition.
Dialog to enter the Key. The clipboard is nice and convenient for my use, but I know that it might be inconvenient to copy the key to the clipboard. Maybe. I haven't thought this through completely.
« Last Edit: January 02, 2022, 05:54 PM by wraith808 »

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,020
    • View Profile
    • Donate to Member
Re: NANY 2022 Pledge: S3 Warp Transporter
« Reply #1 on: January 02, 2022, 01:18 AM »
For the first year in a long time, it appears I won't have anything. Banging my head against a problem with the signature version in AWS. I thought I'd be able to get it done, but I need rest to see what I'm doing wrong :(

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,020
    • View Profile
    • Donate to Member
Re: NANY 2022 Pledge: S3 Warp Transporter
« Reply #2 on: January 02, 2022, 05:15 PM »
Update: I figured out what my problem was - I'd forgotten part of my Secret Key in the settings. Not sure if this is still considered NANY, but I've updated the original post with the download. Instructions coming soon.