#!/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."