transfer.odins.es: Easy file sharing from the command line === made with <3 by DutchCoders Upload: $ curl --upload-file ./hello.txt https://transfer.odins.es/hello.txt Encrypt with gpg & upload: $ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.odins.es/test.txt Download & decrypt with gpg: $ curl https://transfer.odins.es/YV3zAsRJyh/test.txt|gpg -o- > /tmp/hello.txt Encrypt with openssl & upload: $ cat /tmp/hello.txt|openssl aes-256-cbc -pbkdf2 -e|curl -X PUT --upload-file "-" https://transfer.odins.es/test.txt Download & decrypt with openssl: $ curl https://transfer.odins.es/YV3zAsRJyh/test.txt|openssl aes-256-cbc -pbkdf2 -d > /tmp/hello.txt Grep pound from syslog and transfer cat /var/log/syslog|grep pound|curl --upload-file - https://transfer.odins.es/pound.log Using Keybase: # import keys from keybase $ keybase track [them] # encrypt for recipients $ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' https://transfer.odins.es/test.txt # decrypt $ curl https://transfer.odins.es/YV3zAsRJyh/test.md |keybase decrypt Upload to Virustotal: $ curl -X PUT --upload-file nhgbhhj https://transfer.odins.es/test.txt/virustotal Virusscan: $ curl -X PUT --upload-file nhgbhhj https://transfer.odins.es/test.txt/scan Add shell function to .bashrc or .zshrc or its equivalent: === transfer(){ if [ $# -eq 0 ];then echo "No arguments specified.\nUsage:\n transfer \n ... | transfer ">&2;return 1;fi;if tty -s;then file="$1";file_name=$(basename "$file");if [ ! -e "$file" ];then echo "$file: No such file or directory">&2;return 1;fi;if [ -d "$file" ];then file_name="$file_name.zip" ,;(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "https://transfer.odins.es/$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "https://transfer.odins.es//$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "https://transfer.odins.es//$file_name"|tee /dev/null;fi;} === $ transfer test.txt