Me estresa bajar cosas con el BitTorrent. Apuf… el Azureus tarda en iniciar, montones de ventanas por aquí y por allá… tener el ordenador encendido sin poderlo reiniciar…

Este post va por esa gente que dice: “tengo un ordenador viejo al que le he instalado Linux y lo tengo de servidorrrr”.

A mí el approach del ordenador viejo no me gustaba demasiado, por que mi principal interés es ahorrar energía, así que metí un cacharrito como este con un disco duro USB 2.0. En total son 15 watts de consumo.

nslu2

Pero bueno, lo que quería contarte es que este aparatejo lleva instalado Debian. Tiene un micro a 166 y 32 megas de RAM, y le he instalado un servidor Telnet, otro Samba y rtorrent, un cliente ligero de BitTorrent.

Tengo dos carpetas compartidas en el samba: “torrents” y “descargados”. Entonces, en mi sobremesa tengo en el escritorio un enlace a “torrents”, por lo que con arrastrar cosas a esa carpeta, el NSLU empieza a bajarlo en unos segundos, junto con los otros que ya se estaban descargando.

 

Receta:

  • Instalar las cositas necesarias

apt-get install rtorrent samba telnetd

  • Configurar samba. Añadir algo como esto al /etc/samba/smb.conf:
[descargados]comment = Cositas varias

browseable = yes

path = /descargados

writable = yes

create mode = 744

create mask = 744

directory mask = 744

[torrents]

comment = torrents

browseable = yes

path = /torrents

writable = yes

create mode = 744

create mask = 744

directory mask = 744

También debes añadir un usuario con

smb -a miusuario

Lo mejor será que uses el mismo que tiene tu usuario de linux. Luego

/etc/init.d/samba restart
  • Ahora vamos a configurar rtorrent.

Te copias /usr/share/doc/examples/rtorrent.rc a /home/tuusuario/.rtorrent.rc

 cp /usr/share/doc/rtorrent/examples/rtorrent.rc /home/miusuario/.rtorrent.rc

Ahora, edita /home/miusuario/.rtorrent.rc. Hay muchos parámetros interesantes, aunque yo sólo he cambiado estos:

# Watch a directory for new torrents, and stop those that have been# deleted.
#schedule = watch_directory,5,5,load_start=./watch/*.torrent
#schedule = untied_directory,5,5,stop_untied=

Por estos otros:

# Watch a directory for new torrents, and stop those that have been
deleted.schedule = watch_directory,5,5,load_start=/torrents/*.torrent
schedule = untied_directory,5,5,stop_untied=/torrents/*.torrent

Esto lo que hace es que detecta cuando hay un torrent nuevo, o cuando se ha eliminado un torrent (cuando esto último sucede, para de compartir si ya ha terminado, o de bajar, si se estaba bajando, si bieno no borra el fichero a medio descargar).

Configuramos también los puertos tal como los tengas en el router:

# Port range to use for listening.port_range = 6800-6900

Y también, muy importante, el directorio donde se almacenan las descargas:

# Default directory to save the downloaded torrents.directory = /scratch/descargados
  • Finalmente, sólo tienes que iniciar rtorrent, con screen, para que luego puedas verlo cuando vuelvas a conectarte via telnet. Recuerda que has de iniciarlo desde la cuenta de ‘miusuario’, no como root!. Si no lo haces, rtorrent no pillará el fichero de configuración :
miusuario$> screen rtorrent
  • Para ver como va la cosa cuando te vuelvas a conectar:
    $> screen -x
  • Para ver todas las teclas y comandos de rtorrent:
    $> man rtorrent
  • Para poner a bajar más rollos, pos solo es conectarte al server por samba y copiar el .torrent allí:
    • En Windows: \\ipdetusuperservidordebian\torrents
    • En GNOME, KDE:
      • alt f2 y pones: smb://ipdetusuperservidordebian/torrents
    • En MacOS X:
      • manzana+k y pones: smb://ipdetusuperservidordebian/torrents

Con un poco de suerte, eso se pone a bajar como un cosaco. Ahora pulsas ‘CTRL+A’ seguido de ‘d’, y te dirá: “dettached”. Tus torrents siguen bajándose. Ya puedes cerrar la sesión telnet.Cuando reinicies tu super-servidor, también deberás reiniciar rtorrent. Si alguien me dice como hacer que la cosa camine al inicio, que ladre ;-) . No es tan fácil como ponerlo en rc.local, por que el comando debe ejecutarse como usuario ‘miusuario’, no como root :-|

Ele, a pastar.