De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Roberto L. Machado
Data de Publicação: 20 de maio de 2008
Procurei e testei inumeros scripts, porém quase todos continham erros ou incorreções para efetuar a autenticação no Speedy Negócios.
Refiz o script e inclui um log para manter um histórico das conexões.
Salve este script com o nome que desejar, dê permissões para execução do
mesmo chmod 755 < nome_do_script> e coloque o mesmo para executar a cada
15 minutos no cron
Altere as variáveis para o seu caso, funciona muito bem no Debian etch.
#!/bin/bash
###########################################
# Script de autenticação speedy negócios
# ver. 1.0
# data 28/04/2008
###########################################
### VARIAVEIS ###
SPEEDYZONEIP="200.171.222.97"
#SPEEDYZONEIP="200.171.222.93"
LOGIN=internet # coloque o seu login
DOMINIO=speedy.com.br # coloque o seu domínio de autenticação
SENHA=internet # coloque sua senha
SPEEDYZONE="http://${SPEEDYZONEIP}/wsc/servlet/logon.do";
URL=registro.br # use uma url sem java e com alta disponibilidade
ARQTEMP=/etc/firewall/temp.txt # coloque o path completo do arquivo temporário
ARQLOG=/etc/firewall/report_auth.log # coloque o path completo do arquivo de log
### FUNÇOES ###
###########################################
# Função para redução do arquivo de log,
# mantêm o arquivo de log com um tamanho
# aceitável
###########################################
corrigeLOG() {
# remove o arquivo temporario de transferência
rm -f $ARQTEMP
if [ -e $ARQLOG ];then
# se o arquivo de log existe, verificar quantas linhas existem no arquivo
LINHAS=`cat $ARQLOG | wc -l`
if [ $LINHAS -gt "2700" ];then
# copiar 2000 linhas de trás pra frente e salvar em um arquivo temporário
# e enviar os textos do console para null
tail -n 2000 $ARQLOG > $ARQTEMP 2> /dev/null
# apagar arquivo de log
rm -f $ARQLOG
# renomear o arquivo temporario como arquivo de log
mv -f $ARQTEMP $ARQLOG
fi
fi
}
###########################################
# Função de autenticação
# cuidado com esta função qq erro imperirá
# a autenticação.
# NOTA : A telefonica custuma mudar os
# endereços e rotinas com alguma frequencia
# já houveram pelo menos 3 alterações desde
# 2002 nesta rotina.
# Caso o sistema não autentique verifique
# pelo browser gráfico os endereços e variáveis
# corretas e altere o script para se adequar
# as novas rotinas.
###########################################
speedy_auth() {
# este comando abaixo é a rotina de autenticação do speedy
lynx -dump $SPEEDYZONE\?opcion=internet\&CPURL=http\%3A\%2F\%2F${URL}\%2F\&username=${LOGIN}\%40${DOMINIO}\&password=${SENHA}|grep -i "salvar" >/dev/null
if [ "$?" = "0" ];then
echo "Erro de autenticação de Speedy! `date +"%T de %d/%m/%Y"`" >> $ARQLOG
exit 1
fi
echo "Conexão Ok !! `date +"%T de %d/%m/%Y"`" >> $ARQLOG
}
###########################################
# Função de teste do navegador
# verifica se o lynx está instalado
# se não estiver apt-get install lynx
###########################################
testaNav() {
# testa a presença do nevegador lynx
if ! [ -f "/usr/bin/lynx" ] ; then
# nevegador não intalado o script não funcionará
# portanto sair do script
exit 0;
fi
}
### PRINCIPAL ###
# Verifica se o computador de destino esta pedindo autenticacao
main() {
# verifica se o navegador esta disponivel lynx
testaNav
# reduz, se necessário, o tamanho do log
corrigeLOG
# testa a conexão
ping -c 1 $URL &>/dev/null
# se retornar qq coisa diferente de zero
if [ "$?" != "0" ];then
# conexão não respondeu, então verificar se é a pagina do speedyzone
lynx -dump "$URL" | grep -iEq "speedyzone"
# se a palavra speedyzone foi encontrada então estamos na pagina de login do speedy negocios
if [ "$?" = "0" ];then
# autorizar a conexão
speedy_auth
fi
else
# houve resposta positiva do ping então estamos conectados
echo "Conectado !!! `date +"%T de %d/%m/%Y"`" >> $ARQLOG
exit 1
fi
}
# Chamada da rotina principal
main
exit 0;
Roberto L. Machado é Engenheiro Eletrecista, Consultor ISO 9001, Lead Auditor, Administrador de Redes e Desenvolvedor de Sistemas para pequenas e médias empresas.
Colaboração: David Dias
Se você já tentou rodar o Ubuntu 8.04 em computadores que usam aquela antiga placa de vídeo da 3DLabs, permedia, deve ter tido muitas dores de cabeça ao tentar instalar ou simplesmente usar o sistema. Isso por que a resolução de tela fica em torno de 800×600 e as cores em menos de 256 (!), tipo.. parecendo Windows 98 sem driver de vídeo (agora fui longe heim!!). A dica a seguir postada em meu blog ajuda a resolver esse problema.