HTTP2P versión 0.2
Bueno una vez pensado en voz alta vamos a aclarar términos y opciones…
- Descargas directas sin claves, visualizable desde cualquier player online. Aunque eso implicaría probablemente usar archivos flv así que quizá dejar esa parte a los players instalados en el cliente…
- Los archivos de descarga .http2p contienen datos como nombre, titulo, imagen, descripción, enlace de mas información, bitrate necesario, fecha de caducidad, formato mime type, url suscripción rss para actualizaciones y listado de partes en md5.
- Existe un archivo javascript que gestiona las descargas, un panel de control en php independiente a los ftp a utilizar como host, un javascript de búsqueda descentralizada también independiente de donde se alojan los archivos part que son de un máximo de 32kb. El limite es por el modo de carga en base64 limitado en IE8. Cada parte es independiente para que puedan usarse por separado y no ser identificados.
- El script de panel de control se encarga de hacer búsquedas en los servidores para saber que partes están menos difundidas y compartirlas. Asi mismo accede a los ftps configurados, lista los archivos y difunde las partes de las que disponen. Por supuesto el ftp debe tener acceso web. La detección de archivos nuevos en el directorio “lanzamiento” (configurable) implica que el script php cortara y convertirá esos archivos a trozos. Supongo que se puede configurar que sean borrados una vez convertidos y difundidos.
- Los servidores de búsqueda ofrecen también las direcciones de todos los buscadores que han sido utilizados desde esa localización. Así cada server ofrece otros servers de búsqueda. Las búsquedas se basan en cadenas md5 creadas con el resumen md5 de esa parte.
- Al configurar cada ftp se configuran diferentes opciones, datos del ftp, urls equivalentes para cada archivo, limites de descarga, tamaño, numero de archivos…
…pero vayamos por partes… Primero tenemos que saber si es posible la construcción del archivo por partes…
Actualización: Primer problema, cross domain scripting, esta prohibido… No se puede obtener el contenido de un iframe externo. Posibilidades para evitar esto “Access-Control-Allow-Origin”, html5 postmessage, JSONP-like, ¿proxy o enviar header location?…
Actualización 2: …pero mira que es difícil javascript con tantas incompatibilidades… me paso a Jquery… to la mañana para hacer que funcione innerhtml en Chrome, menudo coñazo…
Actualización 3: Confirmado, cross-site no esta permitido, como es lógico. Así que a probar jsonp que es lo que veo mas sencillo en principio. Aunque también suena “peligroso”.

