scripts/upload

44 lines
1.1 KiB
Plaintext
Raw Normal View History

2023-10-13 11:24:13 +11:00
#!/bin/bash
upload() {
if [ $# -eq 0 ]; then
echo "No arguments specified."
echo "Usage: upload <file|directory>"
echo "... | upload <file_name>" >&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"
url=$( (cd "$file" && zip -r -q - .) | curl --progress-bar --upload-file - "https://upload.woodburn.au/$file_name" | tee /dev/null)
else
url=$(cat "$file" | curl --progress-bar --upload-file - "https://upload.woodburn.au/$file_name" | tee /dev/null)
fi
# Generate and display the QR code for the URL in the terminal
echo -e "\n\n"
qrencode -t utf8 "$url"
echo -e "\n"
echo "$url"
echo -e "\n"
else
file_name=$1
url="https://upload.woodburn.au/$file_name"
echo -n "$url" | curl --progress-bar --upload-file - "$url" | tee /dev/null
fi
}
# Call the upload function with the provided arguments
upload "$@"