Easy file sharing from the command line

# Upload using cURL $ curl --upload-file ./hello.txt {{.WebAddress}}hello.txt {{.WebAddress}}66nb8/hello.txt # Using the shell function $ transfer hello.txt ##################################################### 100.0% {{.WebAddress}}eibhM/hello.txt # Direct link {{.WebAddress}}inline/66nb8/hello.txt # Force download {{.WebAddress}}get/66nb8/hello.txt
# Upload from web Drag your files here, or click to browse.

# Download all your files

zip tar.gz
learn more

Made for use with shell

Share files with a URL

Upload up to 1 GiB

Files stored for 30 days

For free

Encrypt your files

Maximize amount of downloads

Preview your files in the browser!

Sample use cases

How to upload

# Uploading is easy using curl $ curl --upload-file ./hello.txt {{.WebAddress}}hello.txt {{.WebAddress}}66nb8/hello.txt $ curl -H "Max-Downloads: 1" -H "Max-Days: 5" --upload-file ./hello.txt {{.WebAddress}}hello.txt {{.WebAddress}}66nb8/hello.txt # Download the file $ curl {{.WebAddress}}66nb8/hello.txt -o hello.txt

Add shell function to .bashrc or .zshrc

# Add this to .bashrc or .zshrc or its equivalent transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "{{.WebAddress}}$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "{{.WebAddress}}$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "{{.WebAddress}}$file_name"|tee /dev/null;fi;} # Now you can use transfer function $ transfer hello.txt
More examples

Upload multiple files at once

$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt {{.WebAddress}} # Combining downloads as zip or tar archive $ curl {{.WebAddress}}(15HKz/hello.txt,15HKz/hello.txt).tar.gz $ curl {{.WebAddress}}(15HKz/hello.txt,15HKz/hello.txt).zip

Encrypt your files with gpg before the transfer

# Encrypt files with password using gpg $ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt # Download and decrypt $ curl {{.WebAddress}}1lDau/test.txt|gpg -o- > /tmp/hello.txt

Send email with transfer link (uses shell function)

# Transfer and send email with link (uses shell function) $ transfer /tmp/hello.txt | mail -s "Hello World" user@yourmaildomain.com

Using Keybase.io

# Import keys from keybase $ keybase track [them] # Encrypt for recipient(s) $ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' {{.WebAddress}}test.txt # Decrypt $ curl {{.WebAddress}}sqUFi/test.md |keybase decrypt

wget uploads also supported

# wget $ wget --method PUT --body-file=/tmp/file.tar {{.WebAddress}}file.tar -O - -nv

Transfer pound logs

# grep syslog for pound and transfer $ cat /var/log/syslog|grep pound|curl --upload-file - {{.WebAddress}}pound.log

Upload a file using Powershell

# Upload using Powershell PS H:\> invoke-webrequest -method put -infile .\file.txt {{.WebAddress}}file.txt

Upload a file using HTTPie

# HTTPie $ http {{.WebAddress}} -vv < /tmp/test.log

Upload a file using Unofficially client in Python

# transfersh-cli (https://github.com/tanrax/transfersh-cli) $ transfersh photos.zip # Uploading file # Download from here: {{.WebAddress}}xxxxxx/photos.zip # It has also been copied to the clipboard!

Encrypt your files with openssl before the transfer

# Encrypt files with password using openssl $ cat /tmp/hello.txt|openssl aes-256-cbc -pbkdf2 -e|curl -X PUT --upload-file "-" {{.WebAddress}}test.txt # Download and decrypt $ curl {{.WebAddress}}1lDau/test.txt|openssl aes-256-cbc -pbkdf2 -d > /tmp/hello.txt

Follow on GitHub



Share the love

Any questions?

contact us
Fork me on GitHub