Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
S3 uploading command-line tool
Ruby
Branch: master
Pull request Compare This branch is 3 commits behind febuiles:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
spec
.gitignore
LICENSE
README.markdown
Rakefile
s3share.gemspec

README.markdown

S3Share

S3Share is a simple script to upload your files to S3 and share them with your friends and enemies.

Requirements

  • Ruby
  • aws-s3 gem

Installation

You can install from Rubygems

$ gem install s3share

Or you can download the source and build it manually:

$ git clone https://febuiles@github.com/febuiles/s3share.git
$ cd s3share
$ gem build s3share.gemspec
$ gem install s3share --local

Setting ENV variables

You'll need to set the three following ENV variables:

  • AMAZON_ACCESS_KEY_ID: AWS access key.
  • AMAZON_SECRET_ACCESS_KEY: AWS secret access key.
  • AMAZON_S3_DEFAULT_BUCKET: Name of the bucket where the uploads will be held.

The last variable is visible in the URL returned to the user: http://s3.amazonaws.com/{AMAZON_S3_DEFAULT_BUCKET}/some_photo.png, so make sure you choose something pretty. This value is global for all the S3 namespace, meaning you need to find something unique between all the S3 users ("some-user-name_uploads" should do the trick). If the specified bucket doesn't exist, it will be automatically created.

You can set these variables in a ~/.amazon_keys file:

 export AMAZON_ACCESS_KEY_ID='someaccesskey'
 export AMAZON_SECRET_ACCESS_KEY='fortyweirdcharacters'
 export AMAZON_S3_DEFAULT_BUCKET='joesuploads'

And then include it in your ~/.bash_profile:

 # place at the bottom of your .bash_profile
 if [[ -f "$HOME/.amazon_keys" ]]; then
     source "$HOME/.amazon_keys";
 fi

Usage

$ s3.rb [file]

An example:

$ s3.rb kezia.png

  kezia.png uploaded to: http://s3.amazonaws.com/heroin-uploads/kezia.png

By default all the uploaded files will be publicly readable. Once the upload is complete the URL will be copied to your clipboard for easy access.

Bugs/Contact

Got a problem? Create an issue in the Github Tracker.

Author

Federico Builes - federico@mheroin.com - @febuiles

Something went wrong with that request. Please try again.