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" | sed 's/ /%20/g') if [ ! -e "$file" ]; then echo "$file: No such file or directory" >&2 return 1 fi if [ -d "$file" ]; then echo "directory upload temporarily disabled" >&2 return 1 file_name="$file_name.zip" (cd "$file" && zip -r -q - .) | curl --progress-bar --upload-file "-" "https://transfer.archivete.am/$file_name" | tee /dev/null else zstd_tmp=$(mktemp) zstd -f "$file" -o "$zstd_tmp" echo $(curl -sS --upload-file $zstd_tmp "https://transfer.archivete.am/$file_name.zst" | sed 's/\.zst$//') rm "$zstd_tmp" fi else file_name=$1 curl --progress-bar --upload-file "-" "https://transfer.archivete.am/$file_name" < "$file" | tee /dev/null return 1 fi }