#!/bin/bash

# Script to download all images and webms from a 4chan thread
# Usage: $0 [url]
# [url] must be valid for wget
# Made by Capuno, GPLv3

thread="$(curl -s $1)"

images="$(echo $thread | grep -Po '(?<=href=")[^"]*' | grep '\.jpg' | awk '!a[$0]++' | sed 's/\/\///')"
imagesp="$(echo $thread | grep -Po '(?<=href=")[^"]*' | grep '\.png' | awk '!a[$0]++' | sed 's/\/\///')"
gifs="$(echo $thread | grep -Po '(?<=href=")[^"]*' | grep '\.gif' | awk '!a[$0]++' | sed 's/\/\///')"
webms="$(echo $thread | grep -Po '(?<=href=")[^"]*' | grep '\.webm' | awk '!a[$0]++' | sed 's/\/\///')"

imgArray=( $images )
imgpArray=( $imagesp )
gifArray=( $gifs )
wbmArray=( $webms )

foldername="$(echo $1 | awk -F "/" '{print $NF}')"

mkdir $foldername
cd $foldername

tput civis

echo -e "\n--In folder named \e[34m$foldername\n\n\e[1m\e[32m IMAGES\e[0m"
for img in "${imgArray[@]}"; do
	printf "\r   Getting > \e[34m$img\e[0m"
	wget $img -q
	sleep 1
done

for img in "${imgpArray[@]}"; do
        printf "\r   Getting > \e[34m$img\e[0m"
        wget $img -q
        sleep 1
done

echo -e "\n\n\e[1m\e[32m GIFS\e[0m"
for gif in "${gifArray[@]}"; do
	printf "\r   Getting > \e[34m$gif\e[0m"
	wget $gif -q
	sleep 1
done

echo -e "\n\n\e[1m\e[32m WEBMS\e[0m"
for webm in "${wbmArray[@]}"; do
	printf "\r   Getting > \e[34m$webm\e[0m"
	wget $webm -q
	sleep 1
done

echo -e "\n"
tput cnorm
exit 0
