Coolrom_downloader - download de roms
Publicado por Victor Oliveira (última atualizaçăo em 17/06/2016)
[ Hits: 4.244 ]
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 desmontar partiçăo/unidade
sys_info - exibe o status do sistema
ScriptLibreOffice - Baixa e instala o LibreOffice pt_BR mais recente no Ubuntu, Debian e Linux Mint
retira espaços em branco de arquivos
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (6)
O programa assinador digital (5)









