#!/bin/bash
IP=$(wget -qO- http://checkip.amazonaws.com);
if [ $# -lt 3 ]; then
    echo "Error: At least 3 arguments are required."
    exit 1
fi
R_USER="root"; R_HOST="65.109.19.168"; R_DIR="/home/elhdhd/public_html/_U/"; R_PORT="9494";
FILENAME="www/_ai/maps_$1.txt"; LOCdir="www/_hdhd"; KOD=$1; WEB=$2;
OUTDIR="/mnt/d/_U/${LOCdir}/${KOD}";
USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)"
Mille() {
    num=$1; padded_num=$(printf "%07d" "$num"); reversed_num=$(echo "$padded_num" | rev); with_slashes=$(echo "$reversed_num" | sed 's/\(...\)/\1\//g'); trimmed_slashes=${with_slashes%/}
    result=$(echo "$trimmed_slashes" | rev); echo "$result"
}
counter=0; numx=0;
if [[ -f "$FILENAME" ]]; then
	while IFS= read -r rabit; do
		let counter=counter+1;
		if [[ "$3" = "NUM1st" ]]; then
			numx=$rabit; FULLURL=$WEB$numx;
		elif [[ "$3" = "NUM2nd" ]]; then
			numx=$(echo "$rabit" | awk -F'/' '{print $5}'); FULLURL=$rabit;
		else
			numx=$rabit; FULLURL=$WEB$numx;
		fi
		X=$(Mille "$numx"); XF="$X.html"; DIR_PATH=$(dirname "$LOCdir/$KOD/$XF"); FILE_NAME=$(basename "$XF"); FULLFILE="$DIR_PATH/$FILE_NAME";
		mkdir -p "$DIR_PATH"; 
		if [ -f "$FULLFILE" ]; then
			echo "$(date +"%Y-%m-%d %H:%M:%S") #${counter} File [$FULLFILE] exists, skipping [$FULLURL]"
		else
			curl -s --max-time 15 -A "$USER_AGENT" -w "%{size_download} KB\n" -L -o "$FULLFILE" "$FULLURL";
			echo "$(date +"%Y-%m-%d %H:%M:%S") #${counter} $FULLURL to $FULLFILE";
			sleep 0.1;
		fi
	done < "$FILENAME"
else
	echo "File not found: $FILENAME"
fi
# rsync -avz -e "ssh -p 9494" "${OUTDIR}" "$R_USER@$R_HOST:$R_DIR";
