domingo, 27 de febrero de 2011

Un tracker BitTorrent en un .php y una tabla MySQL

Esto lleva un rato sin actualizar, así que traigo una cosilla que puede resultar interesante, un tracker de BitTorrent que solo ocupa un archivo .php de 250 líneas y que necesita únicamente una tabla en una base de datos MySQL, además logicamente del servidor web [ announce.php ]

martes, 22 de febrero de 2011

Haciendo un iterador a medida en Python

Mientras no van llegando cosas que requiren más tiempo aquí va algo que puede resultar interesante, vamos a hacer nuestro propio iterador dinámico, que permita modificar su comportamiento desde el propio script, por ejemplo, si hacemos:

for i in my_iterator(1,1000,"<<1"):
    print i


my_iterator( inicio, límite, paso ) Mostraría esto:

1
2
4
8
16
32
64
128
256
512


viernes, 18 de febrero de 2011

Como evitar que un hilo de pyGTK bloquee a los demás [ tip ]

Si alguien ha intentado programar un script que use pyGTK lanzándolo en un hilo aparte se habrá dado cuenta de que bloquea  a todo el proceso, lo que es bastante molesto. La solución es hacer esto desde ese hilo antes de levantar la interfaz:

gtk.gdk.threads_init()


Hay más sobre hilos y pyGTK ( esto en concreto no ) en: http://unpythonic.blogspot.com/2007/08/using-threads-in-pygtk.html

Saludos

jueves, 17 de febrero de 2011

Adivinando las contraseñas de la Wifi desde Android

Después de mucho pelearse con Netbeans y Eclipse, presento la primera aplicación para móviles de este blog :D, una que a partir de la SSID ( el nombre de la red ) y la BSSID puede en algunos casos "adivinar" la clave por defecto de la red:


La aplicación aún está en pañales, no he tenido la ocasión de probarla con redes reales, de ahí que exista la opción de introducir datos manualmente ( obviamente la forma normal de hacerlo es seleccionar la red en la lista que muestra ) , para realizar pruebas, y falta por implementar el algoritmo de las redes SpeedTouch ( aunque es bastante lento, ya que hay que hacer fuerza bruta contra SHA ).

Otra cosa que queda por acabar, es la lista de redes, por ahora se marcan las que se pueden adivinar con un "[o]" al final, o con la contraseña entre '[]' si se adivinó, además los datos sobre las redes adivinadas se guardan en una Base de Datos SQLite que está desaprovechada ( quizá se podría añadir la opción de guardar todo en un TXT para guardarlo ).

lunes, 14 de febrero de 2011

Descargando el manual 'La guía definitiva de PNG' con bash

Pues eso, hoy va a ser algo corto, el "problema" es simple, tenemos estos ingredientes:
- Un manual sobre el formato PNG [ http://www.libpng.org/pub/png/book/toc.html ]
- Una conexión a Internet intermitente, así que no es una posibilidad leerlo online
- Pereza suficiente para no ponerse a descargarlo a mano
- Ganas de trastear con bash

Y la receta, comentadita [ vacuum.sh ] o coloreado:

domingo, 13 de febrero de 2011

Introducción a NetKit ( IV ): Un puente a Internet


Pues llegamos a la última parte de esta introducción a NetKit, donde simplemente veremos como hacer un laboratorio con una máquina que se conecte a el anfitrión ( y con ello a Internet ), queda como ejercicio para el lector añadir y configurar otras máquinas a la red que aprovechen esa conexión.

viernes, 11 de febrero de 2011

Compilando en entornos hostiles: Dia

No, no penseis nada raro, con "compilar en entornos hostiles" me refiero a hacerlo donde no tenemos a mano las librerías necesarias para compilar un programa en concreto, ni permisos para instalarlas, la idea es mostrar como se puede hacer para quien necesite usar algún programa cuando solo dispone de una cuenta con acceso mínimo.

Pero volvamos al principio, Dia es un software para hacer diagramas desarrollado por el proyecto Gnome, supongamos que quremos usarlo en una máquina, una opción sería descargar el paquete ya compilado y ejecutarlo, pero... sorpresa! , utiliza una librería que no esta instalada ( libxml2 en este caso) .

jueves, 10 de febrero de 2011

Gráficos de tortuga sobre imágenes en Python

Pues hoy traigo una mini-libraría que se apoya en PIL para hacer gráficos de tortuga directamente sobre imágenes [ imgturtle.py ]:
Dibujado con este script [  dragon.py ]

miércoles, 9 de febrero de 2011

Introducción a NetKit( III ): switches y enrutado


Bueno, pues seguimos con esto, como dijimos la última vez, ahora lo que queremos es crear una red de 4 máquinas, dos switches conectados entre sí y cada uno a otra máquina, y que se puedan comunicar entre ellos sin problemas, el esquema en general sería este:
 No es tanto un problema con NetKit ya que se puede hacer con lo que ya sabemos, como un ejercicio sobre como hacer tablas de enrutado.


martes, 8 de febrero de 2011

A un día de la 'Ley Sinde'

Mañana, día 9  de febrero se vuelve a votar la "Ley Sinde" en el Senado, después de no pocas protestas por parte de los cuidadanos. Aunque la ley fue rechazada en el congreso volvió al Senado después de un pacto entre el PSOE, PP y CiU.

No tiene sentido otro post aquí cuando gente que sabe más del tema ya ha escrito sobre ello, en cualquier lugar que se dedique a las noticias se encontrará mucho material relacionado con el tema, pero ahí van links que me parecen recomendables:

http://xmailer.hacktivistas.net/
http://red-sostenible.net/

Solo me pregunto esto ¿ quién después de descargarse una canción dijo que es obra suya ?, ¿ no estarán confundiendo ( ¿ a propósito ? ) derechos de autor y derechos de explotación ?, ¿ no se estarán utilizando a los artistas como escudo ?

Saludos y suerte...