python: Abyss Webserver start and stop host from CLI

Petit script en python per iniciar/parar el Abyss Webserver des de la línia de comandes. Només hem de posar la URL d’on es troba la web de la consola de l’Abyss i l’ususari i el password per entrar-hi. Com que esta fet ràpid i corrents, no es suporta el pas de paràmetres per indicar si s’ha d’engegar i/o parar el servei en cada moment. Així que si algú s’anima a afegir-hi les 4 línies de codi que hi falten que me les digui, que jo encara no domino prou el python com per fer-ho en 1s i avui ja estic cansat.

import urllib2
<br>
theurl = 'http://127.0.0.1:9999'
username = 'theuser'
password = 'thepass'
<br>
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, theurl, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
<br>
data_start = "%2Fhosts%2Fhost%400%2Fstart=Start"
data_stop = "%2Fhosts%2Fhost%400%2Fstop=Stop"
<br>
data = data_start
<br>
request = urllib2.Request(theurl,data)
response = opener.open(request)
<br>
print response.readlines()

python: Autenticació HTTP de tipus basic-scheme

Com accedir a un serividor HTTP amb les pàgines protegides amb usuari i password del tipus Basic Authentication Scheme.

import urllib2
<br>
theurl = 'http://host:port'
username = 'theuser'
password = 'thepass'
<br>
# this creates a password manager
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
# because we have put None at the start it will always use this
# username/password combination
passman.add_password(None, theurl, username, password)
# create the AuthHandler
authhandler = urllib2.HTTPBasicAuthHandler(passman)
# Return an OpenerDirector instance, which chains the handlers in the
# order given Return an OpenerDirector instance, which chains the
# handlers in the order given
opener = urllib2.build_opener(authhandler)
# Install an OpenerDirector instance as the default global opener
urllib2.install_opener(opener)
# Open the URL url, which can be either a string or a Request object.
pagehandle = urllib2.urlopen(theurl)
lines =  pagehandle.readlines()
<br>
for line in lines:
    print line

L’autentació que usa l’Abyss Webserver per defecte és la del tipus explicada en aquest exemple.

Virus a la panxa

virus-warning.gif

Des de dissabte que estic amb un mal de panxa i unes carreres fins al WC que no sóc persona. Així doncs, si no trec gaire el cap o si quan parleu amb mi estic de mal humor ja sabeu perquè és… tinc gana!!! només he menjat una mica d’arrós bullit i em moro de ganes de menjar xocolat i totes aquestes coses que em fan tornar boig. Buf! què poc que en sé d’estar malalt. A veure si em recupero aviat, avui ja no he fet massa carreres al WC, però em trobo fatal i quan he de corre el resultat és espantós.

Jo diria que la pitjor conceqüència és el mal de cap que tinc que no em deixa estar amb l’ordinador tranquil. Em passo hores i hores en problemes imbècils perquè el cervell no em reacciona!!!

python: Generar passwords d’usuaris per l’Abyss Webserver

L’Abyss Webserver guarda en un fitxer de configuració en format XML els usuaris i passwords. Doncs bé el format en que estan enmagatzemats els passwords en el fitxer XML és:

usercode = nom_usuari + ":" + plaintext_password
encoded_password = md5(base64(usercode))

Doncs bé aquí ve el petit trick de com fer això amb python:

#!/usr/bin/env python
import md5
import base64
import re
<br>
def genera_pass_abyss(usercode):
        b64usercode = base64.encodestring(usercode)
        b64usercode = re.sub('\n','',b64usercode)
        hash = md5.new(b64usercode)
        return hash.hexdigest()
<br>
user = 'usuari1'
passw = 'password1'
usercode = user + ":" + passw
print usercode
print genera_pass_abyss(usercode)
Scroll to Top