Coolrom_downloader - download de roms
Publicado por Victor Oliveira (última atualizaçăo em 17/06/2016)
[ Hits: 4.003 ]
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
Configurando JDK no PATH no Linux (qualquer distro)
Transformar eBook em Audiobook
BKP Completo Sem compactaçăo (com exclusao)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)