lunes, julio 23, 2007

Script para rapidshare

Desde que conocí YendIt, una página con links a películas y series alojadas en Stage6 (el famoso servicio de divx.com) me enganché a Cazadores de Mitos (MythBusters) y me baje todos los capítulos disponibles (esos ya los he visto), es una serie que desde hace mucho tiempo estaba interesado en ver, pero nunca me puse a buscarla a fondo, sin embargo desde que he visto todos esos episodios me he quedado con el mono y quiero mas, así que ayer busqué en google y por lo visto están todos subidos a megaupload y/o rapidshare (excepto uno o dos y algunos especiales) los links en ésta página. Yo cuando empecé a descargar el primero que descargué fue desde rapidshare, y como iba bien pues seguí con el, para que iba a seguir con megaupload si rapidshare va perfectamente?

Como todos sabéis este tipo de servicios (rapidshare, megaupload...) tienen un límite, filtran por ip, y después de descargar un archivo para descargar otro tienes que esperar un buen rato. Esto como lo he solucionado yo? pues recurriendo a mi ip dinámica, si, simplemente desconectando el adsl y volviendo a conectarlo e instantáneamente tengo una ip diferente, así que puedo seguir descargando con toda la tranquilidad del mundo, para cada archivo diferente necesito una ip nueva, así que cada vez que acabo una descarga tengo que realizar esa operación, y como los episodios están partidos en trozos de unos 90 MB, me tardan de 5 a 10 minutos depende de como me vaya el adsl, porque hay veces que va a 200 KB/s y otras veces va a 400 KB/s. La operación es muy sencilla solo tengo que entrar a mi router y en Adsl Status pone "disconnect" le doy al botón luego la pagina recarga y el botón cambia a "connect" lo pulso y ya tengo nueva ip. Este es uno de los motivos por los que no me he quejado de no tener ip fija, con ip fija no habría podido hacer esto, además uso un servicio gratuito de dns dinámico soportado por mi router. Ah, otra cosa, no me esperaba para nada que hubiera tantas IPs libres ayer en pocas horas use 38 direcciones ip diferentes y hoy ya llevo 14 ip. Esto por supuesto tiene serios inconvenientes, es nefasto para el p2p, pero no me importa, dejare el mldonkey descansando mientras consigo todos los episodios de este magnifico programa. Y no puedo chatear, o al menos no por irc, cada vez que desconecto se me desconecta del servidor y tengo que volver a conectar, es un poco incómodo. Pero bueno por uno o dos días no va a pasar nada. De todas formas otra cosa que he pensado es que muchos clientes de orange van a tener problemas con rapidshare, porque cada ip que uso tiene un tiempo de espera para poder seguir descargando, y en total creo que necesitare unas 400 ip's en total, pero bueno como wanadoo tiene tantas no importa si alguien no puede usar rapidshare que cambie de ip y ya está.

Solventado con facilidad el primer problema y estando pendiente de la ventana de downloads del firefox para reiniciar mi conexión cada vez que acabara una descarga y no perder tiempo, pensé que sería muy cómodo hacer un script que dándole todas las url las descargara una por una, pero claro tenemos el problema del captcha (la imagen con una letras que luego hay que escribir) eso no es automático. De todas formas puede existir algún bug o alguna web que dándole el enlace te de un link de descarga, algún truco... algo que permitiría automatizarlo todo. Así que busqué un poco pero no aparecía nada útil todo el mundo habla de proxys, ip dinámicas... incluso ganar dinero viendo publicidad, dinero con el cual luego se paga una cuenta premium, pero ni lo he probado ni lo voy a hacer, esas cosas suelen sen un timo. Bueno entonces pensé en buscar directamente un script quizás a alguien se le hubiera ocurrido y lo hubiera hecho, así fue, encontré un script bash que hace la tarea que busco, pero no como yo esperaba, el script llegado el momento te muestra la imagen del captcha para que tu le introduzcas las letras, y obviamente precisa de un entorno gráfico. Por cierto el script lo encontráis aquí y si solo queréis descargarlo este es el enlace, ah, yo no lo he probado porque no hace exactamente lo que yo quiero, simplemente lo he leído para ver como funciona y poder hacer mi propio script. El script está bien documentado con comentarios y los nombres de las funciones son explícitos, y se entiende bastante bien que hace cada cosa. Os comento mi idea para el script, es que haga lo mismo que el original, solo que la imagen en vez de mostrarla en pantalla la ponga en el directorio del servidor web y luego espere la respuesta por algún sitio que todavía no he pensado, después descargaría el archivo, al acabar cambia la ip (para esto si tengo que hacer mi script desde cero) y toma la siguiente url, pone el captcha en el webserver espera respuesta y descarga y como se yo cuando es el momento de introducir el captcha? fácil, he pensado en que cada vez que espere la respuesta emita un pitido por el speaker, y he pensado que mejor un sonido agudo de esos chirriantes que te destrozan el timpano, así conseguiré obligarme a mi mismo a responder el captcha para que para el pitido.

La función para hacer la propia descarga voy a aprovecharla del script original, es decir, descargar la web, buscar la url de descarga, descargar el captcha, yo voy a programar el cambio de ip para que funcione con mi router, así como la parte del pitido avisador y el poner la imagen en el servidor web para luego esperar la respuesta. Estas son las ventajas del software libe, yo ahora puedo coger ese programa leer el códig, modificarlo y adaptarlo a mis necesidades, en cambio si fuera el típico exe de windows que te descargas sin código fuente, tendría que hacerlo todo yo desde cero cuando ya hay alguien que lo ha hecho. Viva el software libre!

PD: Si consigo hacerlo antes de haber acabado de descargalo todo lo publicaré y explicaré aquí, of course.