Coolrom_downloader - download de roms
Publicado por Victor Oliveira (última atualizaçăo em 17/06/2016)
[ Hits: 4.136 ]
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
Criando contas de usuario em varios servidores ao mesmo tempo
Testador de portas usando nmap
Script shell para automatizar downloads do MegaUpload
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (2)
Gestăo de Ambiente em uma rede Linux (3)