aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/tmp76
1 files changed, 76 insertions, 0 deletions
diff --git a/bin/tmp b/bin/tmp
new file mode 100755
index 0000000..e2d16b7
--- /dev/null
+++ b/bin/tmp
@@ -0,0 +1,76 @@
+#!/bin/sh
+set -eu
+
+usage() {
+ cat <<-'EOF'
+ Usage:
+ tmp FILE...
+ tmp -d
+ tmp -h
+ EOF
+}
+
+help() {
+ cat <<-'EOF'
+
+ Options:
+ -d delete the remote "tmp/" folder
+ -h, --help show this message
+ EOF
+}
+
+for flag in "$@"; do
+ case "$flag" in
+ --)
+ break
+ ;;
+ --help)
+ usage
+ help
+ exit
+ ;;
+ *)
+ ;;
+ esac
+done
+
+REMOTE='euandreh.xyz'
+DIR='/opt/www/euandreh.xyz/static/tmp'
+while getopts 'dh' flag; do
+ case "$flag" in
+ d)
+ printf 'Deleting %s:%s...\n' "$REMOTE" "$DIR/" >&2
+ ssh "$REMOTE" rm -rf "$DIR"
+ exit
+ ;;
+ h)
+ usage
+ help
+ exit
+ ;;
+ *)
+ exit 2
+ ;;
+ esac
+done
+shift $((OPTIND - 1))
+FILE="${1:-}"
+
+if [ -z "$FILE" ]; then
+ printf 'Missing FILE.\n\n' >&2
+ usage >&2
+ exit 2
+fi
+
+for f in "$@"; do
+ FILENAME="$(basename "$f")"
+ # shellcheck disable=2029
+ ssh "$REMOTE" "mkdir -p '$DIR' && cat > '$DIR/$FILENAME'" < "$f"
+
+ LINK="$(printf 'https://%s/tmp/%s' "$REMOTE" "$FILENAME")"
+ open "$LINK"
+ if [ $# = 1 ]; then
+ printf '%s' "$LINK" | copy
+ printf 'Copied %s to the clipboard!\n' "$LINK" >&2
+ fi
+done