Coolrom_downloader - download de roms

Publicado por Victor Oliveira (última atualizaçăo em 17/06/2016)

[ Hits: 4.001 ]

Download coolrom_downloader




Coolrom_downloader é um bash script que realiza download de roms do site http://coolrom.com diretamente do terminal, sem necessidade de nenhum navegador.

  



Esconder código-fonte

#!/bin/bash
##########################################################################################
# Declaração de variáveis e funções
##########################################################################################
BASE_URL()
   {
   echo "coolrom.com/roms/"$VG_URL"/"$LETRA""
   }

INICIO()
   {
   # Imprime o cabeçalho do programa:
   echo ''
   echo ' ▄▄·             ▄▄▌  ▄▄▄        • ▌ ▄ ·.'
   echo '▐█ ▌▪▪     ▪     ██•  ▀▄ █·▪     ·██ ▐███▪'
   echo '██ ▄▄ ▄█▀▄  ▄█▀▄ ██▪  ▐▀▀▄  ▄█▀▄ ▐█ ▌▐▌▐█·'
   echo '▐███▌▐█▌.▐▌▐█▌.▐▌▐█▌▐▌▐█•█▌▐█▌.▐▌██ ██▌▐█▌'
   echo '·▀▀▀  ▀█▄▀▪ ▀█▄▀▪.▀▀▀ .▀  ▀ ▀█▄▀▪▀▀  █▪▀▀▀'
   echo '·▄▄▄▄        ▄▄▌ ▐ ▄▌ ▐ ▄ ▄▄▌         ▄▄▄· ·▄▄▄▄  ▄▄▄ .▄▄▄'
   echo '██▪ ██ ▪     ██· █▌▐█•█▌▐███•  ▪     ▐█ ▀█ ██▪ ██ ▀▄.▀·▀▄ █·'
   echo '▐█· ▐█▌ ▄█▀▄ ██▪▐█▐▐▌▐█▐▐▌██▪   ▄█▀▄ ▄█▀▀█ ▐█· ▐█▌▐▀▀▪▄▐▀▀▄'
   echo '██. ██ ▐█▌.▐▌▐█▌██▐█▌██▐█▌▐█▌▐▌▐█▌.▐▌▐█ ▪▐▌██. ██ ▐█▄▄▌▐█•█▌'
   echo '▀▀▀▀▀•  ▀█▄▀▪ ▀▀▀▀ ▀▪▀▀ █▪.▀▀▀  ▀█▄▀▪ ▀  ▀ ▀▀▀▀▀•  ▀▀▀ .▀  ▀'
   echo 'Email: victor.oliveira@gmx.com'

   # Mostra as plataformas disponíveis
   echo ''
   echo '*** Selecione uma plataforma abaixo: ***'
   echo ''
   echo ' 1) Atari 2600                13) Neo Geo Pocket'
   echo ' 2) Atari 5200                14) Sega CD'
   echo ' 3) Atari 7800                15) Sega Dreamcast'
   echo ' 4) Atari Jaguar              16) Sega Game Gear'
   echo ' 5) Atari Lynx                17) Sega Genesis'
   echo ' 6) Commodore 64              18) Sega Master System'
   echo ' 7) Capcom CPS1               19) Sega Model 2'
   echo ' 8) Capcom CPS2               20) Sega Saturn'
   echo ' 9) MAME Arcade               21) Sony Playstation'
   echo '10) Namco System 22           22) Sony Playstation 2'
   echo '11) Neo Geo                   23) Sony PSP'
   echo '12) Neo Geo CD                 Q) Sair'
   echo ''
   }

BUSCA_LETRA()
   {
   echo ''
   echo "*** Sistema de busca - "$VG" ***"
   echo ''
   echo 'Digite a primeira letra da rom que deseja baixar (Pressione . para voltar):'
   read -p '>>> ' LETRA
   # Verifica se o usuário deseja voltar
   if [ "$LETRA" = "." ]; then
      exec bash "$0"
   fi
   }

LISTA_JOGOS()
   {
   #Converte a letra para maiuscula
   LETRA=$(echo "$LETRA"| tr '[:lower:]' '[:upper:]')
   echo ""
   echo "Listando..."
   echo ""
   lynx -dump $(BASE_URL)| awk '/[0-9]\/'"$LETRA"'/{print $2}'| cat -n
   }

BAIXA_ROM()
   {
   echo ""
   echo "Digite o número correspondente à URL da rom desejada (Ou pressione . para recomeçar)."
   read -p '>>> ' NROM

   # Verifica se o usuário deseja voltar
   if [ "$NROM" = "." ]; then
      exec bash "$0"
   fi

   URL=`lynx -dump $(BASE_URL)| awk '/[0-9]\/'"$LETRA"'/{print $2}'| sed ''"$NROM"'!d'`   

   # Variáveis
   ROM ()
      {
      curl -sA 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0' "$URL"|grep "tr_download_url"|cut -d \" -f2
      }

   FN ()
      {
      curl -sA 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0' "$URL"| grep "File Name"| sed -e 's/<[^>]*>//g'| cut -c14-
      }
   
   # Mostra algumas informações
   echo ""
   echo "Link para download:"
   echo $(ROM)
   echo ""
   echo "Nome do arquivo:"
   echo $(FN)
   echo ""
   echo "Iniciando download..."
      
   # Inicia o donwload
   wget -O "$(FN)" "$(ROM)" && \
   echo ""
   echo "*** Download Concluído! ***"
   echo "Arquivo salvo na pasta: $PWD"
   echo "Recomeçando..."
   sleep 3
   exec bash "$0"
   }

##########################################################################################
# Inicio do script
##########################################################################################
INICIO

# Lê a plataforma
read -p '>>> ' PLAT

# Executa a ação baseado na plataforma
case $PLAT in
# Atari 2600
1)
   VG="Atari 2600"
   VG_URL="atari2600"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
2)
   VG="Atari 5200"
   VG_URL="atari5200"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
3)
   VG="Atari 7800"
   VG_URL="atari7800"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
4)
   VG="Atari Jaguar"
   VG_URL="atarijaguar"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
5)
   VG="Atari Lynx"
   VG_URL="atarilynx"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
6)
   VG="Commodore 64"
   VG_URL="c64"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
7)
   VG="Capcom CPS1"
   VG_URL="cps1"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
8)
   VG="Capcom CPS2"
   VG_URL="cps2"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
9)
   VG="MAME Arcade"
   VG_URL="mame"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
10)
   VG="Namco System 22"
   VG_URL="namcosystem22"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
11)
   VG="Neo Geo"
   VG_URL="neogeo"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
12)
   VG="Neo Geo CD"
   VG_URL="neogeocd"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
13)
   VG="Neo Geo Pocket"
   VG_URL="neogeopocket"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
14)
   VG="Sega CD"
   VG_URL="segacd"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
15)
   VG="Sega Dreamcast"
   VG_URL="dc"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
16)
   VG="Sega Game Gear"
   VG_URL="gamegear"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
17)
   VG="Sega Genesis"
   VG_URL="genesis"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
18)
   VG="Sega Master System"
   VG_URL="mastersystem"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
19)
   VG="Sega Model 2"
   VG_URL="model2"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
20)
   VG="Sega Saturn"
   VG_URL="saturn"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
21)
   VG="Sony Playstation"
   VG_URL="psx"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
22)
   VG="Sony Playstation 2"
   VG_URL="ps2"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;
23)
   VG="Sony PSP"
   VG_URL="psp"
   BUSCA_LETRA
   LISTA_JOGOS
   BAIXA_ROM
   ;;

q)
   INICIO
   ;;
esac

Scripts recomendados

A-ImgMenus

Make Luks

Script para listar tentativas de acessos

O que o site está rodando?

arredonda - arredondando valores decimais quebrados


  

Comentários
[1] Comentário enviado por removido em 17/06/2016 - 06:01h

Uma vez eu estava baixando um site inteiro de ROMS.
O serviço ficou pela metade.
Esse site do menu do script lembra muito o site que não terminei de baixar.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts