Author: Oriol Rius

python: Abyss Webserver start and stop host from CLI

Reading time: 15 – 25 minutes

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

Reading time: 14 – 23 minutes

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

Reading time: 1 – 2 minutes

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

Reading time: 15 – 24 minutes

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)

Buddha bar

Reading time: 1 – 2 minutes

Al c/Pau Clarís, 92 de Barcelona hi ha el Buddha Bar on vaig anar a sopar ahir. Amb una decoració força fashion una clientela majoritariament guiri, pureta i adinerada es combina amb força nivell un local de copes amb un restaurant. Realment si has de portar a una noia per impresionar-la és un bon lloc, si aquesta té més de 30 tacos, és clar. Els preus els normals per un lloc d’aquest nivell, o sigui, massa alts per la meva butxaca.

budha-bar.jpg

Pel que fa al menjar, esta prou bé, sobretot els entrants. He de reconeixer que el carpaccio d’atun tonyina era impressionant. Llàstima que no vaig quedar-me a comprobar com estaben les postres perquè vaig haver de marxar a mig sopar per un tema de logística. Per cert, la meva visita al local va ser estríctament per negocis i convidat per un proveedor. No us penseu que ara em dedico a reventar-me el meu pobre sou en aquests capricis.

Google Notebook

Reading time: 1 – 2 minutes

google_notebook.gif

Per tal de mantenir una llista dels temes, normalment enllaços a webs, sobre els que vull escriure en el blog el que feia fins ara era acumular la informació en un fitxer .txt, de fet, l’anomenava pendent.txt. Doncs l’altre dia parlant amb l’Ernest, em va parlar del Google Notebook un servei de notes online que té una part de client via web o via extenció del firefox. Realment l’eina esta molt elavorada i és tota una demostració del poderio de l’Ajax.

Realment us recomano que ho proveu, una altre cosa que realment és molt interessant és la capacitat que té de publicar en una web algún dels notebooks que hagim creat. Per exemple, he decidit publicar el notebook substitut del pendent.txt (nou-pendent.txt) que encara esta molt buit ja que no he migrat del tot el que hi ha en l’arxiu de text. Això ho aniré fent de forma progressiva.

trick: Protegint Grub amb un password

Reading time: 17 – 28 minutes

No heu tingut mai la necessitat de protegir una de les opcions de botat del grub amb un password, doncs aquí teniu un exemple de com fer-ho:

grub> md5crypt
Password: *********
Encrypted: $1$sEOFN1$dalP1fzlFCHD4saxlnNzM/
grub>

Com queda el menu.lst:

# Start GRUB global section
#timeout 30
color light-gray/blue black/light-gray
# End GRUB global section
<br>
# Other bootable partition config begins
title Forbidden (on /dev/hda1)
rootnoverify (hd0,0)
makeactive
chainloader +1
# Other bootable partition config ends
<br>
# Linux bootable partition config begins
title Ubuntu Breezy (on /dev/hda2)
root (hd0,1)
kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda2 ro vga=790
initrd /boot/initrd.img-2.6.12-9-386
password --md5 $1$sEOFN1$dalP1fzlFCHD4saxlnNzM/
# Linux bootable partition config ends
Scroll to Top