Easy file sharing from the command line

# Upload using cURL
$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt https://transfer.sh/66nb8/hello.txt

# Create an alias
$ transfer hello.txt
##################################################### 100.0% https://transfer.sh/eibhM/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 5 GB

Files stored for 14 days

For free

Encrypt your files

Sample use cases

How to upload

# Uploading is easy using curl
$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt

# Download the file
$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt

Create an alias and add it to .bashrc or .zshrc

# Add this to .bashrc or its equivalent
transfer() { # write to output to tmpfile because of progress bar tmpfile=$( mktemp -t transferXXX ) curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; }

alias transfer=transfer

# Now you can use transfer command
$ transfer hello.txt
More examples

Upload multiple files at once


$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/

# Combining downloads as zip or tar archive
$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz
$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip

Encrypt your files before the transfer

# Encrypt files with password using gpg
$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt

# Encrypt and upload
$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt

Scan for malware

# Scan for malware or viruses using Clamav
$ wget http://www.eicar.org/download/eicar.com
$ curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan

# Upload malware to VirusTotal, get a permalink in return
$ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal

Backup mysql database, encrypt and transfer

# Backup, encrypt and transfer
$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt

Send email with transfer link (uses alias)

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

Send us your awesome example

# Your awesome sample will be put here

Share the love

Any questions?

contact us
Fork me on GitHub