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() {
# 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 command
$transfer hello.txt
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