Bueno ante que nada decir que lo pongo aquí porque puede ser beneficioso para los usuarios de ONO, pero si esta mal puesto pues nada se cierra y punto. Lamentablemente estaré fuera un par de semanas así que a lo mejor no puedo contestar.
Bueno se me ha ocurrido crear un mod de emule, ahora estaré ocupado unos días pero para navidades seria interesante entre turrón y turrón. Si te gusta la programación nos ponemos mano a la obra juntos.
La modificación que quiero hacer a este mod es que suba trozos a web, automáticamente, como si la web fuera un cliente mas. Para así luego compartir usando el ancho de banda de las web. Dicho de otra forma convertir al emule en parte a un p2m o una especie de evolución del webcache. Por si alguien no lo sabe emule permite descargar desde http.
Todo esto es discutible pero básicamente será algo así:
Usaremos dominios gratuitos, que permitan subida por ftp y descargas por web, la velocidad de estos servidores no creo que sea determinante.
Al usar ftp para subir es un protocolo que es fácil de implementar, no es complicado y es estándar.
Hay mil empresas de hosting gratis, si usamos el sistema de subir via ftp y descargar por web, se podría generalizar para todas, no teniendo que tener en cuenta la forma de subir a esa web determinada. Básicamente haría falta usuario, clave y dirección http donde se ha subido que incluye el nombre del fichero.
Para subir hay que tener cuentas web, esto se puede implementar de distintas formas ya sea encontrando un hosting grande tipo lycos o alguno así y que el emule se encargara de abrirla y de todo el proceso o que este paso sea manual, dando luego manualmente los datos al emule para que sepa donde tiene que subir.
También se podría crear una lista virtual, un emule cuando tiene cuenta web, manda al que se lo solicite los datos (usuaros,clave y http), así este nuevo emule también podrá subir ahí. Esto también podría ser de distinta forma o que no se pasaran esta informacion.
La parte en la que emule se conecta a un servidor para descargar ya esta implementada, tratara a la dirección http como una fuente mas, pero que no entrara en cola sino que empezara a descargar directamente de el.
Supongo que como se tratara como una fuente mas, se intercambiara de emule a emule sin problemas.
En cuanto a lo que se deja en el servidor web, se puede discutir, si se puede subir todos los trozos a un mismo servidor (ojo que no digo el fichero como tal sino en forma de trozos, varios trozos)
El tamaño de los trozos hay que decidirlo, esto será en función de cómo funcionen los servidores Web gratis. Digamos que entre medio mega y menos de 10.
El emule puede tener un generador de nombres para el fichero, incluso con extensiones variables jpg, gif, html …. De esa forma se camuflara en los servidores.
La idea como tal ahora mismo me parece acertada, y no veo razon para que nada de esto no valla bien.
Se podría ampliar haciendo que descargue de news, correos,….
Un p2m como tal no tiene futuro, porque es una persona la que sube a un servidor con el exceso de tiempo que esto supone, estamos hablando de ficheros de 700MB estándares en emule.
Normalmente cuando este fichero, que se sube troceado, suele durar poco tiempo. Quizás cuando sube el último trozo ya el primero ha sido borrado. O tiene partes corruptas, etc.
Una vez que falta un trozo o parte del fichero por lo general el fichero queda inutilizado.
Yo propongo coger las cosas buenas del p2m (grande velocidad de descarga http) y añadirlas al emule, el cual no dependerá de estas partes, sino que le servirán de ayuda para descargar mas rápido.
Las partes negativas del p2m no le afectaran, ya no es una persona la que sube los trozos de ficheros, sino a penas una persona subirá algún trozo esporádicamente, si muchas personas suben un trozo esporádicamente, el fichero se subirá a la web de forma muy rápida, 100 personas bajando el mismo fichero, con que cada una suba 7 megas ya esta el fichero de 700MB en poquísimo tiempo en la web. Y todos podrán descargar de ahí.
No importa si se pierde algún trozo o lo borra un administrador, ya que eso solo significara una fuente menos, pero el emule podrá coger esos trozos de otros clientes, por el sistema normal, o de algún espejo que se haga de ese trozo en otro servidor.
Todo estoy hay que estudiarlo muy a fondo, pero lo veo posible. Quedan muchos cabos sueltos, por ejemplo: la forma de distribuir equitativamente los trozos, como decide un emule si sube un trozo a la web o no, evitar que todos los emules suban el mismo trozo, no veo especialmente util que este muy repetido en distintos servidores el mismo trozo.
Incluso la decisión de subir trozos a la web podría ser manual y no de forma automática, o opcional. El emule que sube trozo subirá solo trozos que no se ha descargado de web, por ejemplo.
Resumiendo la idea me parece buena pero hay que pulirla, llevo unos días dándole vueltas. El código del emule lo he estado mirando dos días y no es complicado, pero si muy extenso y no encontré documentación sobre los objetos y funciones, si encontré el protocolo que eso lo tengo desde hace mucho tiempo.
¿Qué me decís? ¿Qué opinara el proyecto emule de esto? Cualquier opinión será bienvenida.
Calculo que la versión beta podría salir en poco tiempo si lo hacemos entre varios una semana de estas navidades distraído algunas horas. Hay mucho realizado ya de otros p2m que se puede aprovechar.
Edit:Al parecer esta idea, ¿Cómo no? Ya la ha tenido otra gente antes. Me he estado informado en los foros del proyecto emule. Y los creadores del emule no admitirían este mod como tal, ya que “usa” elementos externos a la propia red. Si un hospedaje me ofrece gratis ancho de banda, no creo que sea inlicito usarlo para otra cosa.
El que el proyecto emule no admita estas modificaciones, es una traba para la realización de este mod y posiblemente por esa razón no existe ninguna versión. Como digo mas arriba seria algo parecido al webcache, pero con la diferencia de que se intentaría que fuera un “part” en lugar de un “chunk” (part = 10Mb) (chunk =180kb) por esa razón es tan poco eficiente el webcache porque los trozos que hay que subir son demasiado pequeños, a parte que es un modo sincrono, los usuarios que tiene que descargarse el trozo solo lo pueden hacer momentos después de que se suba. A parte de que tienen que estar en el mismo proxy.
Lo dicho que como no se tendría el apoyo del proyecto emule seria mas complicado darle salida a un Mod echo por 4 locos, jejeje, pero vamos que por mi que no quede. Al final lo are solo y me sentiré como el que programo el emule y solo lo usaba el, jejejeje, como solo lo usaba el no podía descargar nada.