- 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>
32 lines
1.1 KiB
Bash
Executable File
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"
|