Files
generic-video-dl/scripts/upload-cookies.sh
T
mozempkandClaude Sonnet 4.6 1d7aa3c6e0 Fix docker-compose network name, add cookie upload script
- docker-compose.yml: rename network npm_network → proxy (matches ideapad stack)
- scripts/upload-cookies.sh: curl-based helper to login + bulk-upload all
  cookie files to a running instance via /api/cookies

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 17:17:13 +02:00

32 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Usage: ./scripts/upload-cookies.sh <base_url> <username> <password>
# Example: ./scripts/upload-cookies.sh https://viddl.sal.giize.com admin secret123
set -e
BASE="${1:?base_url required}"
USER="${2:?username required}"
PASS="${3:?password required}"
SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
COOKIE_JAR="$(mktemp)"
trap 'rm -f "$COOKIE_JAR"' EXIT
# Login via form action, capture access+refresh cookies
HTTP=$(curl -sf -c "$COOKIE_JAR" -X POST "$BASE/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "username=$USER" \
--data-urlencode "password=$PASS" \
-o /dev/null -w "%{http_code}" -L)
grep -q "access" "$COOKIE_JAR" || { echo "Login failed (HTTP $HTTP)"; exit 1; }
echo "Logged in (HTTP $HTTP)"
for extractor in facebook instagram threads youtube; do
FILE="$SCRIPT_DIR/cookies-${extractor}.txt"
[ -f "$FILE" ] || { echo " skip $extractor (no file)"; continue; }
curl -sf -b "$COOKIE_JAR" -X POST "$BASE/api/cookies" \
-F "extractor=$extractor" \
-F "file=@$FILE" > /dev/null
echo " uploaded $extractor"
done
echo "Done"