#!/bin/bash

YTDLP="./yt-dlp_linux"
PROXY_FILE="working_proxies.txt"
VIDEO_URL="$1"
OUTPUT_DIR="videos"

if [ -z "$VIDEO_URL" ]; then
  echo "Usage: ./yt-proxy-run.sh "
  exit 1
fi

if [ ! -f "$YTDLP" ]; then
  echo "Error: $YTDLP not found."
  exit 1
fi

if [ ! -f "$PROXY_FILE" ]; then
  echo "Error: $PROXY_FILE not found."
  exit 1
fi

mkdir -p "$OUTPUT_DIR"

echo "Starting video download with proxy rotation..."
echo "Saving to: $OUTPUT_DIR/"
echo "----------------------------------"

while true; do
  while read proxy; do
    echo "Trying proxy: $proxy"

    "$YTDLP" \
      -f "bv*+ba/b" \
      -N 8 \
      --continue \
      --socket-timeout 15 \
      --proxy "socks5h://$proxy" \
      -o "$OUTPUT_DIR/%(title)s.%(ext)s" \
      "$VIDEO_URL"

    EXIT_CODE=$?

    if [ $EXIT_CODE -eq 0 ]; then
      echo "✅ Download completed successfully!"
      exit 0
    else
      echo "❌ Proxy failed: $proxy"
      echo "Switching proxy..."
    fi

  done < "$PROXY_FILE"

  echo "Reached end of proxy list. Restarting..."
done