Share your files

Files dropped to this page will be uploaded to our storage and you will get a link, which you can share.

Each file can be downloaded individually, but you will also retrieve a url for downloading a zip or tar file with all files.

Quick Upload

Drag your files to the page to share them, you'll get a link in return. Or click here to browse for files.

download all files link zip tar.gz

Command-line file sharing

Now you can just upload and download files without complexity from your shell or browser. Just upload the file using by dropping it to this page, curl or any other command using PUT or POST to our server. We'll return a shareable url, which will expire within 2 weeks.

Shell upload

Upload files or pipe data from the shell. Every application that uses HTTP PUT or POST can be used to upload files.

Share

Files can be shared by just sharing the url.

Why?

  • you can upload large files (max 5gb)
  • it is completely free
  • uploading and download is fast
  • easy to do

Use cases

  • Upload backup files, automated, and share them with your customer.
  • Drop your large email attachments to this page and replace them with the links.
  • Upload that zip file from your shell to transfer.sh and share the link.
  • Temporary location to upload files and download elsewhere.

Samples

Upload

Uploading is easy using curl.

curl --upload-file ./hello.txt https://transfer.sh/hello.txt
                        

Download the file

curl https://transfer.sh/66nb8/hello.txt

Create a share alias (add it to .bashrc or .zshrc):

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

alias transfer=transfer
                        

Now you can just use transfer hello.txt to upload the file!

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).tar
curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip

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
                        

Database backup

mysqldump --all-databases | gzip | curl --upload-file - ttps://transfer.sh/dmp.sql.gz
                        

Secure transfer

You can encrypt files using gpg. The following command will encrypt the data before it leaves your server using the password you enter and upload it to transfer.sh.

Encrypt & upload

cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt

Decrypt & download

curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt

Updates

2014-09-23: Added support for gzip, added scan & virustotal functionality
2014-09-12: Added Content-Disposition: Attachment header
2014-09-10: Added support to download multiple files
2014-09-10: SSL support added
2014-09-06: Improved upload speed, support for uploads without content length (eg. piped data)
2014-09-06: Support for uploading files using POST.

Powered by Go