Cómo evadir la ley Sinde de forma legal (con el servidor en España)

En términos prácticos la ley Sinde no sirve para nada, ya expliqué en otro post la forma de meter 400.000 enlaces en un archivo de 2Mb que se puede distribuir fácilmente de mil formas, incluso por correo electrónico. Por esta y por otras tantas razones más.

Pero bueno, hoy voy a rizar el rizo. Antes de que me asalten trolls diciéndome que esto ya lo habían inventado los de sinl.es, voy a matizar.

Partimos de la suposición que que es ilegal alojar en tu servidor enlaces que apuntan a webs con contenido protegido por copyright.

Básicamente lo que hacen en sinl.es es esquivar la ley escondiendo los enlaces en un servicio acortador de links. Por ejemplo este enlace http://sinl.es/luitoa15 redirige a sindecoder.tk, metiendo el texto con los enlaces codificados en base64 como parte de la url. Pero vamos por muy legal que sea sindecoder, en el servidor sinl.es hay una base de datos con millones de enlaces. Aunque los codifiques, los enlaces están ahí, y la comisión Sinde puede cerrar el servidor con todas las de SU ley. Para colmo el servidor ilegal es el punto es, por lo que pueden anularte el dominio vía nic.es. Este sistema (mucho más sencillo del que voy a proponer) sería efectivo si lo hubieran hecho al revés (poner el ilegal en el dominio Tokelau). Al menos podrías mudarte de hosting.

Otro inconveniente que le veo a los acortadores es el límite de tamaño en las URLs que es de 2Kb (en base64 se quedan en 1.5Kb). No lo sé pero supongo que algunos acortadores limitan más esta cifra. Al caber pocos enlaces tendrías que inventarte otro sistema para recolectarlos: para entender la recursividad primero hay que entender la recursividad, aunque aceptamos twitter.

La solución que ofrezco es bastante enrevesada, pero es legal en el sentido de que los enlaces no existen en el servidor, no están codificados en forma alguna, no pasan por el servidor vía proxy desde otro sitio, en el servidor NO se procesan los enlaces, es totalmente ajeno a la existencia de estos.

Me voy a meter en materia, así que, si no quieres que te dé la chapa, baja al final del todo y encontrarás el enlace que lo demuestra.

Empecemos pues. Tenemos 4 servidores: A, B, C y D. La máquina A es nuestro servidor, totalmente legal. B es un servidor de imágenes (imageshack.us). C es un servidor que actúa como proxy codificando la imagen en base64. D es el servidor donde se aloja el contenido protegido (megaupload por ejemplo). Los enlaces están codificados en una imagen .png que aloja el servidor B. El servidor C en realidad no haría falta si se pudiesen leer los datos de la imagen directamente, pero el navegador no lo permite por motivos de seguridad.

Se puede evitar C cambiando una directiva en about:config o haciendo el proxy en A, pero como no queremos que los enlaces pasen por A, ni tener que tunear el navegador, lo necesitamos.

El server A te ofrece un archivo html con javascript embebido. En el javascript está el índice con los nombres de las series y las películas, pero sin enlaces. Los enlaces están codificados en una imagen png (alojada en B), que el javascript decodificará. ¿Cómo decodifica javascript una imagen? Pues creando un elemento canvas y volcando la imagen en este canvas, la función getImageData convierte los píxeles del canvas a bytes, y luego los bytes se convierten en enlaces.

Hay un problema, para leer el contenido de la imagen, éste tiene que estar codificado en DATA URI (base64). Para ello tenemos a C, que lee la imagen de B y se la sirve a A de la forma que queremos. La idea (y una mejor explicación para los que sigáis leyendo) la encontré aquí.

Metamos a dos actores más. E eres tú y F es tu navegador. F lee de A un archivo html inocente que no tiene enlaces. Como está en javascript, todo el procesamiento lo hace F, el cual recibe una imagen procesada de C, el cual a su vez ha recibido la imagen original (donde están los enlaces) de B. Con todo esto, F se genera él solito una web con 400.000 enlaces, que los va mostrando a petición de E (que eres tú), y en caso de que pinches en alguno, te llevará a D (megaupload) para que disfrutes de tu serie favorita.

Bueno ya he acabado, el enlace que voy a poner a continuación es para demostrar que funciona, en caso de que seas incrédulo: te animo a que te leas el código fuente. Lo he probado con Firefox y Chrome y sólo funciona en Chrome (te lo tienes que instalar si quieres ver la prueba funcionando).

Si lo que quieres es un archivo buscador de series más actualizado y que funcione en todos los navegadores, te recomiendo éste, descomprimes el zip y pones el html en tu escritorio (si eres piratilla no creo que lo muevas de ahí).

Para finalizar, he aquí la prueba que lo demuestra.

3 Respuestas a este post.

  1. Por Angeloso el 24.02.2011 a las 13:42

    El problema que al no haber jueces por enmedio...en el momento en que descubran el sistema los cerebritos del monasterio del cura...mandan desconectar A (que no tiene nada) y se quedan tan panchos.

    @angeloso69
  2. Por Antonio Villena el 24.02.2011 a las 14:36

    Pues al final A sale ganando, porque cuando en el juicio no tengan nada que demostrar van a tener que indemnizarle por el tiempo que ha estado cerrada la página. Todo esto suponiendo que A tiene para pagarse un abogado, el juez no esté comprado por el gobierno y se aplique el principio de que "cualquier persona es inocente hasta que se demuestre lo contrario"..
  3. Por Santiago el 27.11.2011 a las 05:40

    Muchas gracias por la información.
    Un saludo.

Responder