Manter autenticado o Velox da Telemar

Muitas vezes você sai de casa e deixa seu Velox fazendo um download e neste intervalo sua autenticação expira e sua conexão fica ociosa. Neste artigo veremos uma forma de manter o Velox autenticado o tempo todo, evitando tal tipo de dor de cabeça.

[ Hits: 22.530 ]

Por: Paulo Gustavo Tillmann em 23/11/2003


Introdução



Em primeiro lugar, logado como root, copie o script abaixo para um arquivo e salve o com o nome de id-velox.pl:

#!/usr/bin/perl
#
# ID-Velox v2.00 [01/11/2003] - http://www.isec.com.br/velox
# Por Fabio Vilan aka/nick Duwde,
# fabio -arroba- isec -ponto- com -ponto- br

# Valores : 'RES' = Residencial
# 'COM' = Comercial
# descomente a linha abaixo para serviços do tipo Residencial ou comercial


# $VELOX = 'RES';
# $VELOX = 'COM';

# Caso use o sistema comercial, pode ser necessário alterar a string
# abaixo de acordo com a sua região (esta e' a string de conexão
# para a região da Bahia, outras opções comentadas abaixo, veja no código
# fonte html da autenticação velox de sua região, caso tenha duvidas)
#
# Somente uma das opções deve estar descomentada ! Essa opção so é
# util se você estiver usando o modo COMERCIAL, caso esteja no modo
# residencial, não surtira qualquer efeito, pode ignorar esta opção.
#

# Serviços para o Estado da BAHIA
# $COMERCIAL='AABA';
# Serviços para o Estado de MINAS ou Espírito Santo
# $COMERCIAL='AAMG';
# Serviços para o Estado do RIO DE JANEIRO
# $COMERCIAL='AARJ';

# Caso use o sistema residencial, você precisa definir
# o nome do seu provedor, o nome tem que ser EXATAMENTE como
# esta na pagina de autenticação no velox, aqui estão alguns
# exemplos, (aparentemente agora varia o final, por região,
# em alguns provedores com o TERRA)
#
# Somente uma das opções deve estar descomentada ! Essa opção so é
# util se você estiver usando o modo RESIDENCIAL, caso esteja no modo
# comercial, não surtira qualquer efeito, pode ignorar esta opção.
#

# $PROVEDOR='TERRAMG2';
# $PROVEDOR='AOL';
# $PROVEDOR='ATARDE';
# $PROVEDOR='ATT';
# $PROVEDOR='BIOHARD';
# $PROVEDOR='BITNET';
# $PROVEDOR='BRFAST';
# $PROVEDOR='BRIDGE';
# $PROVEDOR='BRTURBO';
# $PROVEDOR='CPUNET';
# $PROVEDOR='DDN';
# $PROVEDOR='DH';
# $PROVEDOR='DIGIZAP';
# $PROVEDOR='FACILINTERNET';
# $PROVEDOR='GD';
# $PROVEDOR='GLOBO';
# $PROVEDOR='HOTLINK';
# $PROVEDOR='INTERCALL';
# $PROVEDOR='INTERDOTNET';
# $PROVEDOR='INTERNETRJ';
# $PROVEDOR='INTERNETT';
# $PROVEDOR='MICROECIANET';
# $PROVEDOR='NUXNET';
# $PROVEDOR='OLIMPO';
# $PROVEDOR='OXENTENET';
# $PROVEDOR='POWERTRIX';
# $PROVEDOR='PRODASAL';
# $PROVEDOR='SEVEN';
# $PROVEDOR='SKNET';
# $PROVEDOR='STL';
# $PROVEDOR='SUPERIG';
# $PROVEDOR='SUPRANET';
# $PROVEDOR='TERRAMG2';
# $PROVEDOR='TERRAMG4';
# $PROVEDOR='WAVENET';

# Descomente essa linha para serviços residenciais e informe seu usuário
# $LOGIN = 'seuusuario/conta';

# Descomente essa linha para serviços residenciais e informe sua senha
# $SENHA = 'suasenha';

# ----------------------------------------
# -=*=- FIM DA SEÇÃO DE CONFIGURAÇÃO -=*=-
# ----------------------------------------
# Não altere mais nada abaixo, toda configuração pode ser feita,
# alterando as variáveis acima, qualquer alteração abaixo pode
# tornar seu script não funcional.

$HOST = 'www.veloxzone.com.br';
$PORTA = 80;
@HOSTS =('mx.uol.com.br','mx.terra.com.br','mail.telemar.net.br');
$HOSTPORTA = 25;
$HOSTTIMEOUT = 2;
$RES_URL="/serviceLogon";
$RES_POST="service=internet_$PROVEDOR&fcn=serviceLogon&ac=home& usr=&username=$LOGIN&password=$SENHA&OK=OK";
$COM_URL="/serviceStart?service=internet_$COMERCIAL";
$COM_POST="confirmed=true";

print "-" x 80 . "\n";
print "       ID-Velox v2.00 [01/11/2003] - http://www.isec.com.br/velox\n";
print " Por Fabio Vilan aka/nick Duwde, fabio -arroba- isec -ponto- com -ponto- br\n";
print "-" x 80 . "\n";

if ($VELOX eq 'RES')
   {
        print "!CONFIG! Modo Residencial\n";
        print "!CONFIG! Provedor : $PROVEDOR\n";
        print "!CONFIG! Login : $LOGIN\n";
        $URL=$RES_URL;
        $POST=$RES_POST;
   }
elsif ($VELOX eq 'COM')
   {
        print "!CONFIG! Modo Comercial\n";
        print "!CONFIG! Regiao : $COMERCIAL\n";
        $URL=$COM_URL;
        $POST=$COM_POST;
   }
else
   {
        print "!ERRO! Tipo do velox mal configurado, edite o script !!\n";
   print "!ERRO! Somente as opções \"RES\" ou \"COM\" São possíveis!!\n";
        exit 2;
   }

use IO::Socket;

sub autentica()
   {
   $sock = new IO::Socket::INET (   PeerAddr => $HOST, PeerPort => $PORTA, Proto => 'tcp');
   die("!ERRO! Não e' possível conectar em $HOST !!\n") unless $sock;

   print "!OK! Conexão estabelecida com $HOST.\n";
   $sock->print("POST $URL HTTP/1.0\r\n");
   $sock->print("Content-Type: application/x-www-form-urlencoded\r\n");
   $sock->print("Host: $HOST\r\n");
   $sock->print("Content-Length: " . length($POST) . "\r\n");
   $sock->print("\r\n$POST\r\n\r\n\r\n");
   print "!OK! Aguardando resposta do servidor....\n";
   while ($sock->getline()) {}
   $sock->close();
   }

sub ping($)
   {
   $x=0;
   foreach (@HOSTS)
      {
      if (($_[0] eq 'rapido') && ($x>0))
         { return 0; }

      $c = new IO::Socket::INET (
             PeerAddr => "$_",
             PeerPort => $HOSTPORTA,
             Proto => 'tcp',
             Timeout => $HOSTTIMEOUT
      );
      if ($c)
         {
         $c->close();
         return 1;
         }
      $x++;
      }
   }

print "-" x 80 . "\n";

print "!OK! Verificando se você já esta autenticado...\n";
if ( ping('rapido') )
   {
   print "!OK! Você JÁ esta autenticado !\n";
   exit 0;
   }

print "!OK! Você ainda não esta autenticado.\n";

autentica();
while ( not ping('completo') )
   {
   print "!ERRO! Servidor não liberou acesso, possível senha ou configuração incorreta...\n";
        print "!OK! Tentando novamente...\n";
   autentica();
   }

print "!OK! Autenticado com sucesso !!\n";

# EOF

##### fim do script ######

Agora copie o arquivo id-velox.pl para o diretório /etc:

# cp id-velox.pl /etc/

Altere os atributos do arquivo de modo que ele se torne um arquivo executável:

# chmod 755 /etc/id-velox.pl

Crie um arquivo de agendamento, ou seja, vamos agendar o script para ser executado a cada minuto, dessa forma nosso velox sempre estará devidamente autenticado:

# crontab -e

Adicionar a linha:

*/1 * * * * /etc/id-velox.pl 1>/dev/null 2>/dev/null

Reinicialize o cron para carregar a nova entrada (opcional):

# killall -HUP crond

Verifique se o crontab está sendo executando acompanhando seu log com a linha de comando:

# tail -f /var/log/cron

É isso ai pessoal, agora é só navegar...

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Navegando em modo texto com imagens

Quando seria mais conveniente usar wvdial no terminal para conexões 3G ou EDGE?

Configurando o a1200i Motorola Motoming para acessar internet em seu Linux Slackware

A Desinformação em Época da Tecnologia de Informação

Compartilhando Internet 3G entre notebook e smartphone Android no Linux

  
Comentários
[1] Comentário enviado por lordello em 23/11/2003 - 14:57h

É necessário mesmo matar o crontab? E como faz pra voltar a executá-lo, você não disse. Outra coisa, esse */1 faz o quê? Essa seria a casa dos minutos do crontab. O script seria executado a cada minuto? Se por algum motivo o script para, eu uso esse script e ás vezes ele demora a fechar, o crontab vai rodar outra instância dele depois do tempo definido?
Falow!

[2] Comentário enviado por fabio em 23/11/2003 - 15:04h

Me intrometendo no assunto, acho que não é necessário reiniciar o crontab, ele recarrega a nova tabela automaticamente. Lordello, o "kill -HUP" não "mata" e sim envia um sinal de "reinício" ao processo. Para matar é "kill -TERM", por exemplo.

O */1 neste caso é de 1 em 1 minuto, seria similar a * apenas. E neste exemplo acho que vai rodar uma nova instância do processo sim, o que eu faria era colocar a linha do crontab assim:

* * * * * killall -TERM id-velox.pl; /etc/id-velox.pl 1>/dev/null 2>/dev/null

Assim ele mata as instâncias que por algum motivo ficaram residentes em memória ou ainda estão em execução antes de executar uma nova.

[3] Comentário enviado por ecr em 27/11/2003 - 16:10h

Possuo o velox comercial no estado de MG, fiz a alteração da variável
$VELOX = 'COM' e $COMERCIAL='AAMG'
Primeiro me conectei no adsl com o comando: adsl-start e o linux criou a interface ppp0
mas quando rodo o script de autenticação recebo a seguinte mensagem:Servidor não liberou acesso, possível senha ou configuração incorreta...

Alguém tem idéia do que está acontecendo

[4] Comentário enviado por alphainfo em 14/05/2004 - 09:58h

Ei ecr,

Comigo aconteceu a mesma coisa... não sei porque, mas o que fiz foi fazer um pequeno script que pára a rede, deleta a rota e faz tudo de novo... comigo funcionou... tente ele, segue abaixo:

#!/bin/bash
/etc/rc.d/init.d/adsl-init stop
/sbin/route del default
/etc/rc.d/init.d/adsl-init start
/usr/local/bin/id-velox.pl
cp /etc/resolv.conf.force /etc/resolv.conf
/etc/rc.d/init.d/named stop
/etc/rc.d/init.d/named start
/etc/rc.d/init.d/squid restart

Qq coisa, mail-me!

Valew,

Daniel Freire

[5] Comentário enviado por tuxes em 15/06/2004 - 14:49h

deve ser por um tempo ocisidade na conexão, fizemos um teste deixamos o servidor pingando na net em um provedor conseguimos ficar logados com o mesmo ip por mais de 12 horas o cliente do win deve ter uma ferramenta que inibe esta ociosidade. Experimente fazer este teste

[6] Comentário enviado por leandroleal em 20/07/2004 - 22:23h

Observem que em usa Globo, deverá mudar para GLOBO3 e quem usa Fácil Internet deverá apenas trocar por FACIL, assim:

$PROVEDOR='FACIL';

$PROVEDOR='GLOBO3';

[7] Comentário enviado por koy182 em 26/07/2004 - 21:00h

Pra falar a verdade,
Não intendi NADA
desculpa, :(

[8] Comentário enviado por zito em 12/08/2004 - 18:28h

como executo o script ?
e aonde insiro o script ? no bin?

[9] Comentário enviado por wellingtonMG em 09/12/2005 - 10:50h

mas e o da OI como deve ficar no script... o meu não ta funcionando....


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts