diff --git a/plugins/transfer/README.md b/plugins/transfer/README.md new file mode 100644 index 000000000..4dc8a5ca7 --- /dev/null +++ b/plugins/transfer/README.md @@ -0,0 +1,6 @@ +# Transfer.sh + +[Transfer.sh](https://transfer.sh/) plugin - easy file sharing from the command line + +## Usage +Just type `transfer hello.txt` and let the magic happen diff --git a/plugins/transfer/transfer.plugin.zsh b/plugins/transfer/transfer.plugin.zsh new file mode 100644 index 000000000..664d9a735 --- /dev/null +++ b/plugins/transfer/transfer.plugin.zsh @@ -0,0 +1,20 @@ +function transfer() { + if [ $# -eq 0 ]; then + echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md" + return 1 + fi + + 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" >> $tmpfile + fi + + cat $tmpfile + rm -f $tmpfile +} + +alias transfer=transfer +