127.0.0.1:8745: Easy file sharing from the command line === made with <3 by DutchCoders Upload: $ curl --upload-file ./hello.txt http://127.0.0.1:8745/hello.txt Encrypt with gpg & upload: $ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" http://127.0.0.1:8745/test.txt Download & decrypt with gpg: $ curl http://127.0.0.1:8745/RUJDEBmzvt/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 "-" http://127.0.0.1:8745/test.txt Download & decrypt with openssl: $ curl http://127.0.0.1:8745/RUJDEBmzvt/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 - http://127.0.0.1:8745/pound.log Using Keybase: # import keys from keybase $ keybase track [them] # encrypt for recipients $ cat somebackupfile.tar.gz | keybase encrypt [them] | curl --upload-file '-' http://127.0.0.1:8745/test.txt # decrypt $ curl http://127.0.0.1:8745/RUJDEBmzvt/test.md |keybase decrypt Upload to Virustotal: $ curl -X PUT --upload-file nhgbhhj http://127.0.0.1:8745/test.txt/virustotal Virusscan: $ curl -X PUT --upload-file nhgbhhj http://127.0.0.1:8745/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 "-" "http://127.0.0.1:8745/$file_name"|tee /dev/null,;else cat "$file"|curl --progress-bar --upload-file "-" "http://127.0.0.1:8745//$file_name"|tee /dev/null;fi;else file_name=$1;curl --progress-bar --upload-file "-" "http://127.0.0.1:8745//$file_name"|tee /dev/null;fi;} === $ transfer test.txt