Easy file sharing from the command line


$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt https://transfer.sh/66nb8/hello.txt r

$ transfer hello.txt #################################################### 100.0% https://transfer.sh/eibhM/hello.txt

# Upload from web. Drag your files here, or click to browse.

Download 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

Uploading

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

Make an alias

Create an alias, and add it to .bashrc for faster use

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

Now you can just use transfercommand

$transfer hello.txt
More examples

Transfer multiple files

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

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.

$ 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

Share the love

Any questions?

contact us
Fork me on GitHub