martes, 15 de mayo de 2012

BitTorrent por control remoto

Me consta que tras los tropiezos legales que tuvo hace unos meses Megaupload y las posteriores restricciones (consecuencia del miedo) entre otros servicios de alojamiento de archivos similares, muchos internautas han vuelto a usar BitTorrent. Este protocolo para el intercambio de archivos es especialmente eficiente a la hora de transferir grandes archivos con el mínimo impacto sobre los hosts implicados, consiguiendo velocidades bastante altas incluso a través de las conexiones de "banda no tan ancha" tan habituales hasta hace poco en Hispanistán. Para descargar cualquier tipo de contenido usando este protocolo se suele recurrir a portales como EliteTorrent o isoHunt para buscar el archivo intermedio .torrent correspondiente, que contiene los datos necesarios para realizar la descarga de los archivos "de verdad". Esta descarga requiere del uso de una aplicación cliente que soporte el protocolo BitTorrent, como por ejemplo µTorrent para Windows o Deluge para Linux (quizá por la necesidad de instalar un programa específico en seguida perdió usuarios frente a las "descargas directas" [desde el navegador] al estilo de Megaupload y RapidShare).

Cuando recientemente monté un mini-servidor casero con la intención de dedicarlo, entre otras cosas, a la descarga de archivos, tenía claro que debía tener en cuenta BitTorrent, pero tras investigar un poco el estado actual del protocolo y los clientes disponibles para Linux, se perfiló como el principal candidato por varios motivos. Mi idea era buscar una forma de usarlo en el servidor Debian sin necesidad de instalar para ello un entorno gráfico, ya que pensaba dejar el software base lo más ligero posible. Además tenía que tener en cuenta que el servidor no tiene monitor ni teclado y lo administro remotamente usando SSH. Me sonaba que alguno de los clientes de BitTorrent contemplaban la posibilidad de usar una interfaz de usuario web (con la opción de conectar remotamente) pero si la cosa se ponía fea me planteaba incluso recurrir a un cliente de línea de comandos y usar algún viejo truco de Unix al estilo nohup para ponerlo a funcionar en el servidor y cerrar la sesión sin interrumpirlo. Pero no hizo falta recurrir a ello porque encontré algo mejor: un cliente BitTorrent que contaba con un modo daemon, es decir, un modo de funcionamiento en segundo plano, no vinculado a una interfaz de usuario. En Debian y derivados se trata del paquete transmission-daemon. Por otro lado está el programa de control remoto, transmission-remote, con una interfaz de línea de comandos para hacer peticiones al "demonio", desde el mismo host o desde otro (mi caso). Éste va incluido en el paquete transmission-cli y es el que instalé en mi PC normal, que corre Ubuntu. Así puedo añadir, borrar, pausar, reanudar, listar, etc. las descargas que se están realizando de forma desatendida en el servidor donde corre el "demonio". Con ese servicio instalado y corriendo ya podía hablar de "servidor de descargas", aunque la idea de depender de un único protocolo no me acababa de convencer... Tras unos meses de prueba y algunos escollos en mi camino me decidiría a buscar algún refuerzo para el apartado de descargas del servidor... To be continued ;-)