SHELL SCRIPT PARA DISCAGEM E AUTENTICAÇÃO DO VELOX NO LINUX

Já atualizado para a nova autenticação Velox !!

AUTOR: Manoel Pinho (pinho@uninet.com.br)
HOMEPAGE: http://mpinho.cjb.net/

Versão 5.2
Data: 29/11/2003

Download do shell script: velox.sh

Listagem do shell script (para ver no browser): velox.sh.txt


ATENÇÃO: Sugiro ler a minha página de dicas sobre o velox antes de tentar instalar e usar o autenticador:

http://mpinho.cjb.net/linux/velox/index.html


A idéia:

A idéia começou quando procurei por autenticadores para linux e quis um que tivesse mais recursos. Usei como base uma versão antiga do excelente script id-velox.sh para FreeBSD e Linux, de Fabio Vilan, Aka/Nick Duwde - fabio@isec.com.br, que pode ser encontrado em http://www.isec.com.br/velox/. Logicamente tive que fazer adaptações...

O programa curl foi usado nesta nova versão no lugar do lynx, e sua homepage é

http://curl.haxx.se/

O  Curl é um programa livre, de código aberto e de linha de comando para transferência de arquivos com sintaxe URL, suportando FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE e LDAP. O Curl suporta certificados HTTPS, HTTP POST, HTTP PUT, FTP uploading, kerberos, upload baseado em formulários HTTP, proxies, cookies, autenticação usuário+senha, transferência de arquivos com reinicialização, tunelamento de proxy http e muitas outras coisas.

ATENÇÃO: A grande maioria das distribuições linux já vem com o curl em seus CDs e sites de ftp. Portanto, antes de tentar compilar e instalar o curl através do código-fonte, veja se já não existem pacotes binários prontos para a sua distribuição linux.

Como o programa é livre, sintam-se à vontade para inspecionar o código-fonte, que se encontra no site do programa. Viva os programas livres !!

Eu testei várias vezes num Conectiva Linux e uso o provedor Terra aqui no Rio de Janeiro. Não testei com outros provedores mas creio que esteja certo. Qualquer bug ou sugestão de melhoria, por favor me envie um email.


Instruções de instalação:

1- Baixe o arquivo velox.sh

2- Certifique-se que tem o programa curl instalado no seu sistema.

3- Caso o seu modem seja do tipo router, o script fará apenas a autenticação e, portanto, você poderá executá-lo mesmo com permissões de usuário comum. Nesse caso, copie para qualquer diretório onde você tenha permissões para rodá-lo e modificá-lo. Eu sugiro o seu próprio diretório pessoal (o $HOME, que é geralmente /home/seulogin).

4- Caso o seu modem seja do tipo bridge, o script terá que chamar o comando adsl-start para iniciar a conexão PPPOE. Como o adsl-start precisa ser executado como root, o script também terá que ser executado assim. Nesse caso, salve o velox.sh em qualquer lugar, tal como /root ou /etc/init.d por exemplo.

5- Edite o arquivo velox.sh e comente/descomente com cuidado as linhas apropriadas ao seu caso. Note que qualquer erro poderá fazer com que o script não funcione corretamente.

6- Rode manualmente usando

sh velox.sh

ou

./velox.sh
(nesse caso o script terá que ter permissão de execução para o usuário, que pode ser dada usando o comando chmod +x velox.sh)

ou ainda "clicando" o ícone correspondente nos gerenciadores gráficos (como o nautilus do Gnome ou konqueror do KDE).

7- O programa foi feito de tal modo que ele verifica se está conectado e, em caso de estar desconectado, realiza o processo de conexão PPPOE (no caso de modems bridge somente) e autenticação, encerrando no final. Caso você deseje que o programa faça isso periodicamente para que verifique a conexão com a internet e a restabeleça automaticamente, eu sugiro usar o programa cron (veja o artigo abaixo). Você poderá chamar o script, por exemplo, de 10 em 10 minutos com o cron.

Para quem não sabe usar o cron, eu reproduzirei por comodidade um tutorial disponível no site br-linux.org:



Artigo original disponível em:

http://brlinux.linuxsecurity.com.br/tutoriais/001628.html

Agendamento de tarefas com o cron e as crontabs

Marcelo Araujo (msaraujo@tro.matrix.com.br)

Esta é uma republicação do artigo publicado originalmente em 1999 aqui no br-linux.org

cron e crontab

O cron é um recurso padrão do Unix (e do Linux) que permite o agendamento de tarefas para serem executadas em um momento específico, ou em intervalos regulares. Por exemplo, você pode programar as tabelas do cron (as chamadas 'crontabs') para:

- checar a integridade dos sistemas de arquivo todos os dias as 5:00 AM e mandar mail do resultado para o root;
- verificar se há mail em suas contas pop a cada 15 minutos
- rodar o updatedb todos os dias às 00:30
- todas as quintas-feiras, às 3:00 AM, procurar por arquivos core desnecessários e excluí-los
- e muito mais

A administração do cron para usuários pode envolver alguns cuidados adicionais, que uma boa leitura na documentação do seu sistema. Mas o leitor Marcelo Araujo (msaraujo@tro.matrix.com.br) resolveu facilitar a nossa vida, enviando algumas dicas sobre a inclusão de tarefas nas tabelas do cron. A base do texto a seguir é do Marcelo, com complementos aqui e ali.

Entendendo o crontab

Veja este exemplo de linha do crontab:


0,15,30,45 * * * * /bin/netstat -a | /bin/mail root

Essa linha de comando ira fazer que a cada 15 minutos, o netstat -a seja executado e o resultado do mesmo vá para o mail root.

O formato da linha de definição de tarefa do cron é:

minuto hora dia-do-mês mês dia-semana comando

Agora, como fazer para editar as suas crontabs? É simples... Em primeiro lugar decida qual editor de texto que você quer usar. Eu prefiro o pico com a opção -w (para evitar wordwraps). Portanto, terei que usar o comando

export EDITOR="pico -w"

Para entrar no modo de edição da crontab, após selecionar o editor de texto, basta digitar

crontab -e  

e editar linhas como as do exemplo:


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
0,15,30,45 * * * * /bin/netstat -a | /bin/mail root
15 21 * * * /usr/bin/updatedb
# isto é um comentário

As três primeiras linhas definem a shell que vai ser usada pelos scripts, o path de procura de comandos, e o usuário que vai receber mails em caso de erros. A quarta linha define que aos 0, 15, 30 e 45 minutos de todas as horas, em todos os dias do mês, todos os meses e todos os dias da semana, vai ser executado o comando

/bin/netstat -a | /bin/mail root

A quinta linha define que às 21:15 de todos os dias será executado o 

/usr/bin/updatedb.

Você pode adicionar e remover entradas no cron à vontade. Linhas que começarem com um sinal de "#" não são consideradas, e você pode usá-las para desativar temporariamente comandos, ou para acrescentar comentários.

Para listar o conteúdo de sua crontab, use 

crontab -l

Para removê-la completamente, use 

crontab -u

Para maiores informações sobre o cron, use 

man 8 cron,

man 1 crontab                  e 

man 5 crontab


Como encontrar o código de autenticação do provedor para modificar no script ?

Recebi um email de uma pessoa que usa meu autenticador avisando que não estava funcionando mais com o Globo no RJ e também me perguntou como eu fazia para encontrar o código do provedor.

Pode ser trivial para muitas pessoas mas eu acho que cabe colocar aqui uma receita de bolo de como fazer isso para quem não sabe. Assim não ficam dependentes dos autores dos autenticadores para mudanças bobas nas strings de autenticação, que são feitas só para atrapalhar o uso dos autenticadores.

Notem que o código pode ser usado com qualquer autenticador velox que permita a entrada ou modificação dos códigos de autenticação dos provedores, não só os meus autenticadores.

====================================================
Guia Rápido para descobrir o código do seu provedor
====================================================

1 - Abra no browser Mozilla ( http://www.mozilla.org/ ), que é um browser livre e multiplataforma (windows, linux, etc) o site

http://www.veloxzone.com.br/

SEM ESTAR AUTENTICADO NO VELOXZONE !! Talvez seja possível com outros browsers mas no mozilla é mais simples, além de valer a pena instalar esse browser.

2 - Selecione o seu provedor e clique OK

3- Vá com o cursor próximo aos campos de login e senha e clique com o botão direito e escolha no menu que aparecer a opção "propriedades do frame" (frame properties).

4- Aparecerá uma janela com várias tabs. Uma delas está com o nome Formulários (ou Forms) e clique na aba. Na parte de baixo aparecerá umas mensagens e uma delas terá algo momo internet_SEUPROVEDOR. A string de autenticação que vc tem que usar no script de autenticação será a parte SEUPROVEDOR (sem o internet_ ).

Como um exemplo, no caso do provedor Globo no RJ o código a ser colocado nos autenticadores será GLOBO2 pois o formulário envia internet_GLOBO2 para o servidor


Um abraço a todos e abaixo a página chata de autenticação fraudulenta da Telemar,

Manoel Pinho
pinho@uninet.com.br