#!/bin/bash #####[ Ficha: ]############################################################ # # # Script: force_lynx.bsh # # Escrito por: Reinaldo Marques de Lima ( Plastico ) e Julio Cezar Neves # # Criado em: 24/05/2006 # # Ultima Atualizacao: 21/06/2006 # # # #####[ Descricao: ]######################################################## # # # Script que tenta acessar um determinado site repetidas vezes, ideal # # para acessar sites congestionados atraves do navegador lynx, que demora # # menos para carregar uma pagina. # # # #####[ How: ]############################################################## # # # O script recebe na linha de comando uma URL a ser acessada, com numero # # definido de vezes ou nao (em caso negativo inicia-se um loopin eterno), # # que abre um novo terminal, ja chamando o navegador lynx e a URL pela # # linha de comando, tentando acessar a URL atraves de forca bruta. # # Para isso o usuário precisa finalizar o terminal ao perceber a demora # # no acesso. # # # ########################################################################### # # #( Variaveis )............................................................# # # PING=$(which ping) ########################################### KEY=0 # indice inicial que controla o while; URL=$1 # endereco a ser acessado; LYNX=$(which lynx) # teste de portabilidade; # ########################################### # # #( Testes )...............................................................# # # [ $1 ] || { echo "$0: Erro: Use: $0 URL [N]: Onde N eh o numero de tentativas (vazio=infinito)." exit 1; } ping -c1 "$1" > /dev/null || { echo "URL inválida ou sem rede"; exit 1; } TRY=${2:--1} # Se $2 estiver definido TRY recebe $2, senao -1 trap "clear; echo fim da conexão, Tchau; exit" 0 2 3 # Para interromper loop infinito # # #( Funcao )...............................................................# # # tentar() { while [ $KEY != $TRY ]; do xterm -T $URL -e $LYNX --accept_all_cookies $URL &> /dev/null let KEY++ done read -p "Nao foi possivel acessar $URL. Quer tentar novamente? (N/s) " RESPOSTA RESPOSTA=${RESPOSTA:-n} [ `echo $RESPOSTA | tr N n` = n ] && { echo "fim da conexão, Tchau" exit } KEY=0 # reinicia o indice do while tentar # e chama novamente a funcao } tentar