diff options
| author | Benjamin Sanders <hello@bensanders.net> | 2026-09-18 07:12:07 -0400 |
|---|---|---|
| committer | Benjamin Sanders <hello@bensanders.net> | 2026-09-18 07:12:07 -0400 |
| commit | 3ecb8b59e1d08a6dbb81d867ea4376d9bdb25ac2 (patch) | |
| tree | e09675d3a6a0fed0dece130f3fa51cbd7b89ae64 | |
| parent | 0c7ad63637b90914d9d9e3cbd04ce1ea96fc24a2 (diff) | |
added bash-upload.sh
| -rwxr-xr-x[-rw-r--r--] | bash-upload.sh | 31 |
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 |
