Coolrom_downloader - download de roms
Publicado por Victor Oliveira (última atualizaçăo em 17/06/2016)
[ Hits: 4.001 ]
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
Script para listar tentativas de acessos
arredonda - arredondando valores decimais quebrados
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? (12)