server_photo_s35js/cast1.sh
2026-07-18 13:51:20 +02:00

58 lines
1.6 KiB
Bash

#!/usr/bin/env bash
# CONFIGURA QUI
SERVER="https://prova.patachina.it"
EMAIL="fabio@gmail.com"
PASS="master66"
ENTRY_ID="751d8a15766bf2686bc87e60b33b4a8c38befe454428e6a5a82b00f26026c0e0"
TTL=600
# FILE temporanei
OUT_FULL="/tmp/share_test_full.jpg"
OUT_PART="/tmp/share_test_part.bin"
RESP_JSON="/tmp/share_create_resp.json"
echo "1) Login..."
TOKEN=$(curl -s -X POST "$SERVER/auth/login" \
-H "Content-Type: application/json" \
-d "{\"email\":\"$EMAIL\",\"password\":\"$PASS\"}" | jq -r .token)
if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then
echo "Login fallito. Controlla credenziali."
exit 1
fi
echo "JWT ottenuto."
echo "2) Creo share per entryId $ENTRY_ID (ttl=${TTL}s)..."
curl -s -X POST "$SERVER/share/create" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"entryId\":\"$ENTRY_ID\",\"ttlSeconds\":$TTL,\"oneTime\":false}" \
-o "$RESP_JSON"
cat "$RESP_JSON" | jq .
URL=$(jq -r .url < "$RESP_JSON")
EXPIRES_AT=$(jq -r .expiresAt < "$RESP_JSON")
if [ -z "$URL" ] || [ "$URL" = "null" ]; then
echo "Creazione share fallita. Output:"
cat "$RESP_JSON"
exit 1
fi
echo "Share creato: $URL"
echo "Scadenza: $EXPIRES_AT"
echo "3) Scarico file completo (seguo redirect e TLS)..."
curl -v -L "$URL" -o "$OUT_FULL"
echo "Salvato in $OUT_FULL (size: $(stat -c%s "$OUT_FULL") bytes)"
echo "4) Test Range bytes=0-1023..."
curl -v -L -H "Range: bytes=0-1023" "$URL" -o "$OUT_PART"
echo "Salvato in $OUT_PART (size: $(stat -c%s "$OUT_PART") bytes)"
echo "5) Intestazioni HEAD (senza body)"
curl -I -L "$URL" || true
echo "Fatto. Controlla i file in /tmp e i log della tua app se necessario."