Un nuevo avance en mi disco duro multimedia: he conseguido compilar el cliente de bittorrent Transmission. Las ventajas de éste sobre el viejo cTorrent son muchas, en concreto:
- Código más reciente y mantenido: la última versión de cTorrent es del 14 de junio de 2008, lo que parece indicar que el autor lo ha dejado de lado, mientras que Transmission (versión 1.76) es del 24 de octubre de 2009, además de que ya están preparando la próxima versión (1.80).
- Soporta cifrado: sólo por esto ya merece una atención especial, porque puede duplicar (o más) el número de sitios de los que descargar ficheros, además de que muchos Torrents que no funcionaban en cTorrent sí lo harán en éste.
- Soporta uPNP: para los que no lo conozcan, es un estándar que, entre otras cosas, permite que un dispositivo situado detrás de un router con NAT pueda pedirle de manera automática la redirección de los puertos externos que necesite. Esto elimina por completo la necesidad de abrir a mano puertos específicos en el router; simplemente funcionará.
AVISO: a partir de aquí empiezo a tocar en el sistema operativo del disco duro multimedia, lo que significa que estas acciones sólo las deben realizar aquellos que sepan muy bien lo que hacen. Si alguien se carga su disco, será el único responsable.
Avisados estáis.
Aquí podeis descargar el código completamente compilado, junto con los scripts para lanzar todo el sistema (1,2 MBytes), ajustados para el MemUp LX. Como en el caso anterior, hay que editar el fichero btpd para activar o desactivar los servicios que se deseen. He conservado cTorrent por si alguien prefiere utilizarlo de manera puntual (o incluso tener ambos a la vez en marcha, que a saber…), aunque lo normal será tener sólo Transmission y bFTPd. Al igual que en el paquete anterior, hay un fichero con instrucciones más detalladas.
Respecto a como lo compilé, pocas novedades, salvo el hecho de que, por mucho que especifiqué que quería un ejecutable estático, se empeñó en hacerlo dinámico. Encima, al utilizar autoconf y automake, no muestra la línea de comandos que está ejecutando en cada momento, con lo que ni siquiera podía hacer el enlazado «a mano». La solución, afortunadamente, fue tan sencilla como lanzar make V=1, para hacer la salida más verbosa y que lo mostrase. Así pude copiar y pegar la línea y añadir el -static.
Por desgracia, ni siquiera esto fue suficiente porque se empeñaba en enlazar con un fichero .la (libevent.la, para ser exactos), los cuales son para ejecutables dinámicos. La solución consistió en reemplazar ese fichero por un simple *.o, de manera que pudiese coger lo que más le interesase. Finalmente, un strip dejó el ejecutable limpio como una patena. El resultado es que las descargas ahora son más rápidas al contar con más peers, y encima la interfaz ha ganado aún más.
Obviamente, al ser ejecutables estáticos funcionarán en cualquier equipo con un procesador MIPSel y suficiente memoria, lo que permite reutilizarlos para otros discos multimedia. Lo mismo ocurre con los otros ejecutables (bFTPd, cTorrent y Yodctcs).
Aproveché además para hacer un cambio en la organización de directorios. Hasta la revisión anterior, en DOWNLOADS se almacenaban los ficheros temporales de cTorrent, y en BT los ficheros bajados. Para no ensuciar tanto el raíz del disco, he optado por crear dentro de BT una carpeta, ctorrent_tmp, para albergar esos ficheros, y otra, transmission_tmp, para que transmission haga lo propio. Estas carpetas se crean automáticamente si no existen. Si estabais bajando algo con cTorrent y quereis pasarlo a Transmission, basta con abrir el torrent (que estará, bien en ctorrent_tmp, bien en DOWNLOADS) y, como el directorio de descargas es el mismo para ambos y no ha cambiado, Transmission comprobará la integridad de los datos que hay ahí y seguirá descargando justo desde donde se quedó el otro. Por tanto, una vez pasados los ficheros, es seguro borrar la carpeta DOWNLOADS.
Por último, actualicé el fichero de instrucciones.
Los que quieran acceder al nuevo bittorrent Transmission, sólo deben abrir la IP del disco en su navegador, contra el puerto 9090 (ej: http://192.168.1.101:9090).
Para finalizar, una captura de pantalla del nuevo cliente:
A disfrutar.
Transmission por A cuadros está licenciado bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.
Estimado Raster, he instalado el cliente Transmission en mi dispositivo Patriot Box Office (http://www.patriotmemory.com/products/detailp.jsp?prodline=6&catid=69&prodgroupid=159&id=895&type=20) siguiendo tus instrucciones con total exito !. La mejora respecto del cliente torrent original es abrumadora. Solo me queda darte las gracias por tu aporte.
P.D.: hay mucho movimiento en la web de Transmission… ojala puedas hacer la compilacion de las nuevas versiones que parece corregir varios bugs.
Saludos, Bernardo.
Estimado Raster, con mucho «pesar» queria informarte que el cliente Transmission me cuelga el Box Office… he jugado durante varias horas con la configuracion a ver si bajando la cantidad de seeds, download, upload, etc lograba «estabilizar» el cacharro, pero nada. Ahora he vuelto a la version original (buuuuuaaaaa es muy lenta !!!!) a la espera de algun compilado con la version 1.83.
Saludos, Bernardo.
Lo primero, asegurate de que, contando memoria y swap (con cat /proc/meminfo puedes verlo) tienes al menos 256MB.
Segundo: no pongas más de cuatro o cinco ficheros a la vez a bajar, porque se satura.
Tercero: limita la tasa de bajada a no más de 300Kbytes/seg. En mi caso es lo máximo que daba sin que empezase a hacer cosas raras.
Hola raster, he instalado en MemUp LX tal como comentas, todo funciona ok, lo de los limites es cierto, si no lo limito con el numero de bajadas y Kb se cuelga.
Mi pregunta es, si MemUp LX se le puede utilizar como servidor web. Instalar Apache y php?
Saludos, Fran.
El MemUp LX es un ordenador con Linux; algo cutrecillo (va a 200MHz, sólo tiene 64MB de memoria RAM, y no tienes acceso a la pantalla por cuestiones varias), pero un ordenador a fin de cuentas, por lo que, en teoría, se le puede meter Apache con PHP. Otra cosa es que en la práctica no funcione como esperas, pues es un servidor muy pesado, por lo que es fácil que empiece a tirar de swap y acabe colgándose por no poder con todo. Y ya no digamos si le sumas PHP.
En todo caso, yo probaría antes con con Cherokee (no es coña, existe ese servidor web), que supuestamente es más ligero; si instalas el entorno de desarrollo de Gentoo que encontrarás en artículos anteriores, puedes probar a bajarte el fuente e intentar compilarlo, a ver qué pasa…