transfer.sh: Easy file sharing from the command line === made with <3 by DutchCoders Upload: $ curl --upload-file ./hello.txt https://transfer.sh/hello.txt Encrypt & upload: $ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt Download & decrypt: $ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt Using Keybase: # import keys from keybase $ keybase track [them] # encrypt for recipients $ 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 Upload to Virustotal: $ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal Virusscan: $ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/scan Add alias to .bashrc or .zshrc: === 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 === $ transfer test.txt