#!/usr/bin/env python # # velox.py - v1.03 # Este script tem a finalidade de fazer a autenticação do Velox # junto ao site da Telemar. # Autor: Frederico Freire Boaventura # Email: anonymous@galahad.com.br # www : http://galahad.com.br # # Agradecimentos: # Rafael Ferreira Fontenelle - Pelos avisos sobre as mudanças nos provedores. import socket import sys # Configuracoes {{{ # Define qual o tipo do seu velox. # Use: Residencial ou Comercial velox = "Residencial" # Define qual o seu provedor; # Residencial: # AOL6, ATTRJ, BIGHOST1, BIOHARD, # BRIDGE, BRTURBO, CONECTUS, # DIGIZAP, GLOBO3, HOTLINK, # INTERDOTNET, INTERNETT2, MANDIC, # MICROECIANET, OIMG, OXENTENET, POWERTRIX, # RJHOST, SEVEN, STL3, SUPERIG, SUPRANET1, # TERRAES, TERRAMG3, TRIBUNA, UNIMED, UOL5 # Comercial: # AABA, AAMG, AARJ # provedor = "seuprovedor" # Define seu login caso seu velox seja residencial # se for comercial, deixe em branco login = "seulogin" # Define sua senha caso seu velox seja residencial # se for comercial deixe em branco senha = "suasenha" # }}} ##################################################### # ATENCAO!! Nao modifique nada abaixo desta linha # # a nao ser que voce saiba exatamente o que esta # # fazendo, ou seu script podera deixar de funcionar # ##################################################### # Cabecalho {{{ print ''' ******************************************* * Script de autenticacao do servico Velox * * Autor: Frederico Freire Boaventura * * Email: anonymous@galahad.com.br * * WWW : http://galahad.com.br * ******************************************* ''' # }}} # Define Variaveis {{{ phosts = { 'ns1.rizoma.com.br': 53, 'ns2.rizoma.com.br': 53 } s = None ahost = "www.veloxzone.com.br" if velox is "Residencial": URL = "/serviceLogon" POST = "service=internet_"+ provedor +"&fcn=serviceLogon&ac=home&usr=&username="+ login +"&password="+ senha +"&OK=OK" elif velox is "Comercial": URL = "/serviceStart?service=internet_"+ provedor POST = "confirmed=true" else: print "Oops!! Edite o script e verifique se o seu velox esta definido corretamente!" # }}} # funcao ping (host, port=25) {{{ def ping (host, port=25): """Faz a verificacao se a conexao esta ativa ou nao. Argumentos: host e porta""" for res in socket.getaddrinfo (host, port, socket.AF_INET, socket.SOCK_STREAM): af, type, proto, canonname, sa = res try: s = socket.socket (af, type, proto) except socket.error, msg: s = None continue try: print "Pingando %s" % host s.connect (sa) except socket.error, msg: s.close() s = None continue break if s is None: pg = 0 else: pg = 1 return pg # }}} # funcao conn (host, port=80) {{{ def conn (host, port = '80'): """Faz a autenticacao do Velox na pagina da Telemar""" for res in socket.getaddrinfo (host, port, socket.AF_INET, socket.SOCK_STREAM): af, type, proto, canonname, sa = res try: s = socket.socket (af, type, proto) except socket.error, msg: s = None continue try: s.connect (sa) except socket.error, msg: s.close() s = None continue break if s is None: print "Nao foi possivel fazer a autenticacao, o servico pode estar fora do ar\ tente executar este script novamente mais tarde!" sys.exit(1) else: s.send ('POST '+ URL +' HTTP/1.0\r\n') s.send ('Content-Type: application/x-www-form-urlencoded\r\n') s.send ('Host: '+ ahost +'\r\n') s.send ('Content-Length: %d\r\n' % len(POST)) s.send ('\r\n'+ POST +'\r\n\r\n\r\n') print "Aguardando resposta do servidor..." data = s.recv(2048) s.close() # }}} # Codigo Principal {{{ pg = 1 pg = ping('mx.uol.com.br', '25') if pg is 0: while pg is 0: conn(ahost) pg = ping('mx.uol.com.br', '25') print "Ok! Conexao estabelecida com sucesso..." # }}} # EOF # vim600 : et fdm=marker ts=4 sw=4 ai # vim<600: et ts=4 sw=4