[eside-ghost] Transmision directa entre clientes

Jon Valdés juanval en gmail.com
Jue Oct 28 23:59:34 CEST 2010


2010/10/28 Alberto M.S. <nohadonja en hotmail.com>:
> El 28 de octubre de 2010 12:03, Álvaro Morán <nirvana644 en gmail.com>
> escribió:
>>
>> Con respecto al problema de compartir archivos:
>> > En mi curro tenemos un problema, y es que para enviar archivos entre los
>> > developers y a los betatesters ahora mismo estamos usando Skype, y va
>> > como el culo de lento. Asi que necesito encontrar una forma de enviar
>> > archivos de forma rápida (algo tipo p2p sería lo mejor, creo). Por otro
>> > lado, mi jefe es muy paranoico con las betas, con lo que cualquier
>> > técnica que involucre enviar el archivo a terceros queda descartada
>> > (pando, rapidshare, etc). Bueno, y que la info no vaya en plain-text por
>> > la red también es necesario, claro.
>> Porque no pruebas con SSH? Que en cada ordenador se cree un usuario
>> "Invitado" y os conectáis a él y os descargáis los archivos.
>> Y para algo más rápido aún podéis usar netcat (aunque la información no
>> esté encriptada).
>> (Eso sí, en ambos casos tendréis que acordaros de configurar NAT)
>> _______________________________________________
>> eside-ghost mailing list
>> eside-ghost en listas.deusto.es
>> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
>
> U os tirais el moco y meteis WiFi Direct en plan pionero.
> http://www.neoteo.com/wi-fi-direct-ya-esta-certificado.neo
> http://www.wi-fi.org/Wi-Fi_Direct.php

WiFi Direct? Alcanza 4000 km de distancia? xDDDD

> Nah. Salvo que sean envíos "privados" entre dos ordenadores de la empresa,
> que en ese caso se puede usar SSH, montaría un servidorcillo de archivos. En
> este campo además ya está todo inventado.

Nah, por ahora, viendo que exactamente lo que quiero no existe (o no
lo encuentro), he decidido implementar yo uno.
La idea es:
- Clientes que mantienen una lista de clientes en la "conversacion", y
cuando se desconectan guardan esa lista para intentar reconectarse la
siguiente vez.
- Para entrar en una "conversación" hace falta conocer ip+port de un
cliente, y la password de la conversación.
- Transferencias de archivos 1-N, con p2p para acelerar la
transferencia entre clientes
- Todas las transferencias van cifradas con la clave publica de cada cliente
- Transmisión por chunks de los archivos, tirando de UDP, todo stateless.
- Implementado en el lenguaje del maligno (C#) para ahorrar tiempo (si
hago esto en C++ me tiro 3 meses, y Java no es que tenga muy buena
pinta ahora mismo con Oracle dando por saco).
- Cuando esté medio en beta lo subo a github

He estado esta tarde un rato, y ya tengo una estructura bastante
decente, y creo que en un par de dias puedo tener algo que empiece a
funcionar (aunque implementar todo lo que quiero me llevará bastante
más).

Cualquier idea o sugerencia será bienvenida.

Un saludoo


Más información sobre la lista de distribución eside-ghost