Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- for letter in \# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z; do
- # Construct letterpage
- if [ "$letter" = "#" ]; then
- letterpage="https://vimm.net/vault/?p=list&system=SNES§ion=number"
- else
- letterpage="https://vimm.net/vault/SNES/$letter"
- fi
- echo "$letterpage"; echo "======================="
- # Base URL (should be without trailing slash)
- baseURL="https://vimm.net"
- # find all gamepages in a letterpage
- for gamepage in $(curl -s "$letterpage" |
- grep 'onmouseover="buildTooltip' |
- awk -F 'href="' '{print $2}' |
- cut -d '"' -f1); do
- # Construct the gamepage URL
- gamepage="$baseURL$gamepage"
- # Find the mediaID
- while true; do
- id=$(curl -s "$gamepage" | grep 'fileSize\[' | head -n 1 | cut -d \[ -f2 | cut -d \] -f1)
- if [ -z "$id" ]; then
- echo "\$id is empty. Retrying ..."
- else
- echo "\$id is $id"
- break
- fi
- done
- # Construct URL
- URL="https://download.vimm.net/download/?mediaId=$id"
- echo "Visiting $URL"
- # Find the filename
- while true; do
- filename=$(curl -s -D - \
- -H "Referer: https://vimm.net/" \
- -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" \
- "$URL" | grep "Content-Disposition" | awk -F '=' '{print substr($2,2,length($2)-3)}')
- if [ -z "$filename" ]; then
- echo "\$filename is empty. Retrying ..."
- else
- echo "\$filename is $filename"
- break
- fi
- done
- # Download it
- while true; do
- curl -s \
- -H "Referer: https://vimm.net/" \
- -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" \
- "$URL" --output "$filename"
- # Test the file
- if test -f "$filename"; then
- echo "$filename has been downloaded"
- # Check if thefile is zip
- if file "$filename" | grep 'Zip archive data' &>/dev/null; then
- echo "$filename is a valid Zip archive"
- break
- else
- echo "$filename is not a zip archive. Retrying ..."
- fi
- else
- echo "$filename has not been downloaded. Retrying ..."
- fi
- done
- echo "---"
- done
- done
Add Comment
Please, Sign In to add comment