Más de 400.000 enlaces de descarga directa en 2MB

NOTA: si vienes solo a bajarte el archivo no hace falta que leas nada más, está aquí (*) (*)
Hace unos días me metí en menéame.net y descubrí que había mucha gente interesada en hacer copias de seguridad de páginas de enlaces. Había alguien que se había descargado la web entera de SeriesYonkis y lo había metido en un archivo OpenOffice.

A raíz de esto se me ocurrió la siguiente idea, generar una web totalmente offline con la máxima cantidad de enlaces posible. Fui investigando y al final me decanté por las dos siguientes fuentes de datos: una recopilación de series de varias webs (*), y alguien que había hecho un backup a cinetube (en un comentario de menéame).

Me puse a hacer cuentas y me salía la nada despreciable cantidad de 400.000 enlaces. La única posibilidad que se me ocurrió en un principio fue hacer una web estática. Tiene que funcionar sin conexión a internet y sin instalar un servidor local, que solo dependa de un navegador en configuración básica (sin plugins ni complementos).

Evidentemente me saldría una página con muchos archivos .html. Uno para cada letra, para cada serie y para cada película. No iba a ser algo muy complicado pero no me convencía mucho la idea, más que nada porque iba a ocupar muchos megas, del orden de 50. Así que finalmente decidí complicarme, lo haría íntegramente en javascript.

Bueno aquí tenéis el resultado. He usado técnicas muy enrevesadas como separar los enlaces y aglutinarlos en un archivo png. Este archivo png va incrustado en base64, usando data URI. Luego este archivo lo cargo en un canvas oculto del que extraigo los datos cuando los necesito. Esto lo había hecho antes en el jbacteria (*), si a alguien le interesa los fuentes del bacteria están aquí (*).

Al final pude aprovechar las siguientes circustancias:
-Los enlaces de megaupload se pueden ver en megavideo solo con cambiar el principio de la url.
-Solo hay 3 tipos de enlace: megaupload, megavideo y fileserve. Los dos primeros se generan con 8 símbolos de un alfabeto de 36, y el tercero con 7 símbolos de uno de 52.
-Usar los mismos elementos (arrays, paneles, etc…) para películas y series, a fin de cuentas las series solo tienen un nivel más.

Finalmente conseguí meter en sólo 6 bytes, no solo el enlace, sino también la información de calidad/idioma/subtítulos. Y sin usar compresión, solo simple aritmética de 32 bits. El resultado es el siguiente archivo (*) que ocupa poco más de 2Mb. MUCHO OJO, en internet explorer inferior a 9 no funciona porque tiene el data URI limitado a 32Kb.

También tiene un pequeño inconveniente: las series se numeran automáticamente usando un campo que indica el último capítulo de temporada, pero me he dado cuenta que esta información no está en todas las series y cuando faltan capítulos estos no se rellenan, así que no hagas mucho caso de la numeración de los capítulos (ejemplo 1×01).
Editado por kurras. Razón: Spam
Sí NaNa1991, soy la abuela de Antonio Villena.
Cada vez que pongo un enlace en un foro que no es de un periódico hay alguien que lo considera spam. Buen criterio.
spam de qué, hija? yo lo veo de lujo
El poner enlaces en contra las normal sea spam o no tambien está mal hecho. ;)
Gracias por el aviso, menuda barbaridad de enlaces. Pa la saca!

Saludos
Conviene ser precavidos.

Backup de cinetube y seriesyonkis por si acaso.
6 respuestas