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

# Using the 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 [gist]

# Add this to .bashrc or its equivalent
transfer() {
if [ $# -eq 0 ]; then
echo "No arguments specified. Usage:"
echo "$ transfer /tmp/test.md"
echo "$ cat /tmp/test.md | transfer test.md"
return 1
fi

# write to output to tmpfile because of progress bar
tmpfile=$( mktemp -t transferXXX );

if tty -s; then
basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g');
curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile;
else
curl --progress-bar --upload-file "-" "https://transfer.sh/$1"
fi

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

Using Keybase.io

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

Send us your awesome example

# Your awesome sample will be put here

Follow on GitHub



Share the love

Any questions?

contact us

http://jxm5d6emw5rknovg.onion/
Fork me on GitHub