Coolrom_downloader - download de roms
Publicado por Victor Oliveira (última atualização em 17/06/2016)
[ Hits: 4.073 ]
Coolrom_downloader é um bash script que realiza download de roms do site http://coolrom.com diretamente do terminal, sem necessidade de nenhum navegador.
#!/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
The Universal Argument Parser (with long options)
Menu no terminal usando Shell Script
GETPLAMIGA - Baixe a Palavra Amiga do Bispo Macedo
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Minha rede tem um espaço invisível que não dá pra digitar o nome da re... (1)
Pedagogia no brasil não passa de alfabetização por m4sturbação mental ... (2)
compilação samba 4.22 rock linux 9.5 (3)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (7)