você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Script de autenticação automática Speedy Negócios - atualizada 2008

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.

Resolvendo cores e resolução da tela nas placas Permedia 3DLabs no Ubuntu 8.04

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.

http://professordavid.pro.br/2008/04/resolvendo-cores-e-resolucao-da-tela-nas-placas-permedia-3dlabs-no-ubuntu-804/



Veja a relação completa dos artigos de Roberto L. Machado