summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x[-rw-r--r--]bash-upload.sh31
1 files changed, 19 insertions, 12 deletions
diff --git a/bash-upload.sh b/bash-upload.sh
index ae7e3ef..527aad2 100644..100755
--- a/bash-upload.sh
+++ b/bash-upload.sh
@@ -1,20 +1,27 @@
-# Generated by Claude
-
#!/usr/bin/env bash
+# Generated by Claude
set -euo pipefail
+umask 002
SRC="$1"
+CATEGORY="${2:-media}"
+
+HOST="pbs.bsimg.net"
+BASE="/var/www/html"
+
+case "$CATEGORY" in
+ media) SUBDIR="media" ;;
+ profile-pictures) SUBDIR="media/profile-pictures" ;;
+ *) echo "Unknown category: $CATEGORY (expected 'media' or 'profile-pictures')" >&2; exit 1 ;;
+esac
+
HASH=$(sha256sum "$SRC" | cut -c1-10)
+EXT="${SRC##*.}"
SHARD="${HASH:0:2}/${HASH:2:2}"
-WORKDIR=$(mktemp -d)
-
-for size in thumb:200 medium:800 large:1600; do
- name="${size%%:*}"; px="${size##*:}"
- magick "$SRC" -resize "${px}x${px}>" "$WORKDIR/${HASH}-${name}.jpg"
-done
-cp "$SRC" "$WORKDIR/${HASH}-original.jpg"
+REMOTE_DIR="$BASE/$SUBDIR/$SHARD"
-ssh cdn.bsimg.com "mkdir -p /var/www/bsimg/media/$SHARD"
-rsync -avz "$WORKDIR"/* "cdn.bsimg.com:/var/www/bsimg/media/$SHARD/"
+ssh "$HOST" "mkdir -p $REMOTE_DIR"
+scp "$SRC" "$HOST:$REMOTE_DIR/${HASH}-original.${EXT}"
+ssh "$HOST" "/usr/local/bin/bsimg-process.sh '$REMOTE_DIR' '$HASH' '$EXT'"
-echo "https://bsimg.com/media/${SHARD}/${HASH}" \ No newline at end of file
+echo "https://pbs.bsimg.net/${SUBDIR}/${SHARD}/${HASH}" \ No newline at end of file