(WHM = WebHost Manager)
Hola , buen día.
Como tengo un host reseller siempre tenía que entrar
para administrar algunas cuentas y esas cosas, entonces
me aburrí de tener que abrir el navegador para ello.
Así que codee lo siguiente , que tiene las opciones básicas
1.- Agregar Host.
2.- Eliminar Host.
3.- Listar Cuentas.
4.- Ver Paquetes actuales.
5.- Suspender una cuenta.
# -*- coding: utf-8 -*-
import urllib2, urllib,re
class conexion:
def __init__(self,user,passw,server):
self.user = user
self.passw = passw
self.server = server
def conecta(self):
cookie = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener(cookie)
urllib2.install_opener(opener)
try:
dato={'login_theme':'cpanel','user':self.user,'pass':self.passw,'goto_uri':'/'}
conecta=urllib2.urlopen("http://%s:2086/login/"%self.server, urllib.urlencode(dato))
titulo = re.findall("<title>(.*)</title>",conecta.read())
if "WebHost Manager" in titulo[0]:
return True
except:
return False
class acciones_whm:
def agregar_host(self,server,dominio,usuario,clave):
if "(Account Creation Ok)" in urllib2.urlopen("http://%s:2086/scripts5/wwwacct?sign=&plan=anycode1_Normal&domain=%s&username=%s&password=%s&contactemail=&dbuser=%s&frontpage=1&cgi=1&language=es&hasuseregns=1&mxcheck=local"%(server,dominio,usuario,clave,usuario)).read():
return "Cuenta Creada!"
else:
return "Ocurrió un problema al añadir la cuenta!"
def eliminar_host(self,server,usuario):
mensaje_correcto = "(%s account removed)"%usuario
if mensaje_correcto in urllib2.urlopen("http://%s:2086/scripts/killacct?user=%s"%(server,usuario)).read():
return "Cuenta Eliminada con Exito.!"
else:
return "Ocurrió un problema al eliminar la cuenta",usuario
def lista_cuentas(self,server):
contando = 1
lista = urllib2.urlopen("http://%s:2086/scripts4/listaccts"%server).read()
for dominio, usuario in re.findall("selectupgrade\?domain=(.*)\&user=(.*)\" onclick",lista):
print "%s.- %s : %s"%(contando,dominio,usuario)
contando += 1
def ver_paquetes(self,server):
for paquetes in re.findall("<option>(.*)</option>",urllib2.urlopen("http://%s:2086/scripts/editpkg"%server).read()):
print """PAQUETE:%s"""%paquetes
def suspension_cuenta(self,usuario,server):
if "Suspension of" in urllib2.urlopen("http://%s:2086/scripts2/suspendacct?user=%s&suspend-domain=Suspend"%(server,usuario)).read():
print "Cuenta suspendida con éxito."
else:
print "Ocurrió un error al suspender la cuenta..."
#Login
print """Instrucciones :
Ingrese dominio sin http:// , posteriormente ingrese sus datos de login.
"""
servidor = raw_input("Servidor:")
user = raw_input("Usuario:")
passw = raw_input("Clave:")
conectar = conexion(user,passw,servidor)
if conectar.conecta():
print "Logueado!"
crear = acciones_whm()
while 1:
print """
1.- Agregar Host. 5.- Suspender una cuenta.
2.- Eliminar Host.
3.- Listar Cuentas.
4.- Ver Paquetes actuales."""
opcion = input("Opción:")
if opcion == 1:
d = raw_input("Dominio:")
u = raw_input("Usuario:")
c = raw_input("Clave:")
print crear.agregar_host(servidor,d,u,c)
elif opcion == 2:
u = raw_input("Usuario:")
print crear.eliminar_host(servidor,u)
elif opcion == 3:
print "Mostrando Dominio = Usuario:"
crear.lista_cuentas(servidor)
elif opcion == 4:
print "Los paquetes actuales son:"
crear.ver_paquetes(servidor)
elif opcion == 5:
u = raw_input("Usuario:")
crear.suspension_cuenta(u,servidor)
else:
print "Error al conectar..."
Para una próxima versión añadiré más opciones.
Saludos.
Que pedazo de codigo JaAViEr!!!!
Excelente aporte hermano!!
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
Que pedazo de codigo JaAViEr!!!!
Excelente aporte hermano!!
Gracias ANTRAX, en un rato seguiré codeando
a ver si les traigo algo similar pero para el cPanel :D
Ajam con que esto era lo que estabas trabajando.. :P
Luego necesitare ayuda en Python :P
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
Ajam con que esto era lo que estabas trabajando.. :P
Luego necesitare ayuda en Python :P
Jajajaja no XD, esto se me ocurrió hace un rato.
Otro code es el que estoy trabajando, que usa QT :B
Este salió al pedo xd