#!/bin/bash
TARGET_URL="$1"
OUTPUT_DIR="klon_strony"

if [ -z "$TARGET_URL" ]; then
    echo "Użycie: $0 <URL>"
    exit 1
fi

DOMAIN=$(echo "$TARGET_URL" | awk -F[/:] '{print $4}')
mkdir -p "$OUTPUT_DIR"

echo "[+] Pobieranie głównego HTML przez curl..."
curl -s -A "Mozilla/5.0" -L "$TARGET_URL" -o "$OUTPUT_DIR/index.html"

echo "[+] Wyciąganie ścieżek do plików (CSS, JS, grafiki)..."
# Wyciąga atrybuty src="..." i href="..." kończące się popularnymi rozszerzeniami
grep -Eoi '(href|src)="[^"]*"' "$OUTPUT_DIR/index.html" | cut -d'"' -f2 | grep -E '\.(css|js|png|jpg|jpeg|svg|webp|gif|woff|woff2|ttf|ico)($|\?)' | sort -u | while read -r ASSET; do
    # Usunięcie query params (?v=1.2.3)
    CLEAN_PATH=$(echo "$ASSET" | cut -d'?' -f1)

    # Przygotowanie pełnego URL
    if [[ "$CLEAN_PATH" =~ ^http ]]; then
        ASSET_URL="$CLEAN_PATH"
        LOCAL_FILE="$OUTPUT_DIR/$(echo "$CLEAN_PATH" | sed 's|https\?://||')"
    elif [[ "$CLEAN_PATH" =~ ^// ]]; then
        ASSET_URL="https:$CLEAN_PATH"
        LOCAL_FILE="$OUTPUT_DIR/$(echo "$CLEAN_PATH" | sed 's|^//||')"
    else
        # Ścieżka relatywna
        CLEAN_PATH=$(echo "$CLEAN_PATH" | sed 's|^/||')
        ASSET_URL="$TARGET_URL/$CLEAN_PATH"
        LOCAL_FILE="$OUTPUT_DIR/$CLEAN_PATH"
    fi

    # Tworzenie katalogu i pobieranie pliku curlem
    mkdir -p "$(dirname "$LOCAL_FILE")"
    echo "Pobieram: $ASSET_URL -> $LOCAL_FILE"
    curl -s -A "Mozilla/5.0" -L "$ASSET_URL" -o "$LOCAL_FILE"
done

echo "[+] Gotowe! Pliki zapisane w katalogu $OUTPUT_DIR"
