rTorrent: configuración y uso

Si leísteis mi entrada rTorrent: cliente de BitTorrent en modo texto para linux y seguisteis todos los pasos, ahora tendréis un flamante rTorrent nuevecito y deseando ser configurado para empezar a funcionar. Y de eso es de lo que va este post (¿cómo? ¿que ya lo habíais deducido por el título? si es que sois unos linces…).

Configuración de rTorrent.

Si optáis por la misma configuración que yo, necesitaréis crear algunos directorios, así que mejor empezar por ahí:

mkdir ~/rtorrent/sesion/
mkdir ~/rtorrent/descargas/
mkdir ~/rtorrent/compartiendo/
mkdir ~/rtorrent/torrents/

No habría ningún problema, por ejemplo, en prescindir del directorio compartiendo y usar en su lugar descargas, donde se almacenarían tanto los ficheros que se están descargando como los que ya se han terminado de bajar.

En ~/rtorrent/rtorrent-0.8.9/doc/ deberíais tener un fichero llamado rtorrent.rc, que es un ejemplo de fichero de configuración y un buen punto donde empezar a aplicar nuestras personalizaciones. Copiamos el fichero a nuestra home con nombre .rtorrent.rc y lo editamos:

cp ~/rtorrent/rtorrent-0.8.9/doc/rtorrent.rc ~/.rtorrent.rc
nano ~/.rtorrent.rc

En el propio fichero vienen explicadas (en inglés) las opciones que trae de ejemplo, se pueden modificar y usar una vez descomentadas (quitando el # del principio de línea). Hay multitud de sitios donde se puede encontrar cómo configurar rTorrent (en algunos de los enlaces que pongo al final de la entrada, sin ir más lejos), pero yo voy a poner aquí las opciones de mi configuración, que no a todos os valdrán, pero que pueden serviros para ver las posibilidades de rTorrent. Solo comento lo que difiera de la configuración por defecto para no extenderme demasiado.

25 peers por torrent como máximo:

max_peers = 25

Permitidos tantos peers como leechers haya cuando esté seedeando un torrent:

max_peers_seed = -1

Un máximo de 20 subidas simultáneas por torrent:

max_uploads = 20

Límites de velocidad de subida y bajada. Yo los tengo ambos a 0 (sin límite), pero esto ya depende de cómo vaya vuestra conexión y de si queréis usarla para algo más:

download_rate = 0
upload_rate = 0

Directorios por defecto para salvar los ficheros que se descargan y para guardar la información de sesión:

directory = ~/rtorrent/descargas
session = ~/rtorrent/sesion

Directorio para buscar nuevos torrents. Cualquier fichero .torrent que se ponga en la carpeta ~/rtorrent/torrents se empezará a descargar:

schedule = watch_directory,5,5,load_start=~/rtorrent/torrents/*.torrent

Rango de puertos a usar (en mi caso es uno solo). Se recomienda utilizar un puerto por encima de 49152:

port_range = 49164-49164

Comprobación del hash de los torrents terminados. Yo la tengo desactivada porque tarda un rato:

check_hash = no

Para que rTorrent intente conectar a trackers UDP:

use_udp_trackers = yes

Habilitar la posibilidad de DHT para torrents sin tracker o cuando todos los trackers están caídos. En teoría es bueno activarlo cuando se usan trackers públicos para adquirir más peers y no tan recomendable en caso de trackers privados. Yo lo tengo configurado para que se active o desactive según sea necesario:

dht = auto

Permitir intercambio de peers (para torrents no privados):

peer_exchange = yes

Mover los torrents terminados a otra carpeta. En mi caso cuando se terminan de bajar se mueven de la carpeta descargas a compartiendo:

system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,~/rtorrent/compartiendo/;d.set_directory=~/rtorrent/compartiendo/"

Configuración de colores. En mi caso uso los colores clásicos: rojo para las descargas en curso y verde para las terminadas:

done_fg_color = 2
active_fg_color = 1

Si preferís otros colores, estas son las posiblidades: 0 = negro, 1 = rojo, 2 = verde, 3 = amarillo, 4 = azul, 5 = magenta, 6 = cian, 7 = blanco.

Interfaz de rTorrent

Una vez configurado, este es el aspecto que tiene rTorrent:

Interfaz de rTorrent
Interfaz de rTorrent

He numerado las partes que considero más importantes y que voy a comentar a continuación:

  • (1) a (3): los torrents cargados. (1) está en proceso de descarga, (2) está parado y (3) ya está descargado y se está compartiendo (aunque actualmente no se está transfiriendo).
  • (4): vista actual. Hay 10 vistas entre las que se puede cambiar con los números del 1 al 0. Son las siguientes:

    • Main (tecla 1): es la vista por defecto. Salen todos los torrents cargados en el orden en el que se han ido añadiendo.
    • Name (tecla 2): todos los torrents ordenados alfabéticamente.
    • Started (tecla 3): solo salen los torrents iniciados. En el caso de la captura saldrían (1) y (3).
    • Stopped (tecla 4): los torrents parados, (2) en el ejemplo.
    • Complete (tecla 5): los torrents completados, independientemente de que se hayan parado o no, mientras estén en el rTorrent aun, siguen saliendo en esta vista. En nuestro caso saldría (3).
    • Incomplete (tecla 6): los no completados: (1) y (2).
    • Hashing (tecla 7): los torrents cuyo hash se está comprobando o están pendiente de comprobación. En el ejemplo no saldría ninguno.
    • Seeding (tecla 8): torrents completados y activos, es decir, (3).
    • Leeching (tecla 9): los activos no completados: (1).
    • Active (tecla 0): no tengo nada claro en qué consiste esta vista. Pensaba que serían los torrents que se están transfiriendo ahora mismo, los que no tienen 0 de velocidad de subida y bajada, pero se ve que no. Si alguien sabe qué diferencia hay entre esta vista y la de Started, que me lo diga en los comentarios y así salgo de dudas.
  • (5): cantidad de MB descargados del fichero.
  • (6): tamaño total en MB del fichero.
  • (7): velocidad actual de subida de ese torrent en concreto.
  • (8): velocidad actual de bajada de ese torrent.
  • (9): cantidad de MB subidos del fichero.
  • (10): porcentaje de descarga completado.
  • (11): tiempo estimado para completar la descarga en días, horas y minutos.
  • (12): ratio en ese torrent. Valdría (9)/(5).
  • (13): límite de velocidad de subida.
  • (14): límite de velocidad de descarga.
  • (15): velocidad de subida global.
  • (16): velocidad de bajada global.

Uso de rTorrent

Con una interfaz en modo texto como la que tiene rTorrent hay que olvidarse del ratón para manejar el programa. Todo se gestiona con atajos de teclado.

  • Añadir un nuevo torrent: para hacer esto se puede copiar el .torrent a la carpeta ~/rtorrent/torrents desde un cliente FTP/sFTP o por SCP o como cada cual quiera y al instante se empieza a descargar. Pero también se puede pegar la URL en el propio rTorrent tras pulsar las teclas:

    • Enter: se carga el nuevo torrent pero no se empieza la descarga.
    • Backspace: carga y comienza la descarga del nuevo torrent.
  • Moverse por la aplicación en general: flechas. Flecha arriba y abajo para ir seleccionando torrents u opciones, flecha derecha para mostrar opciones dentro de esa selección y flecha izquierda para volver atrás. Las opciones de un torrent (flecha derecha) son:

    • Peer list: lista de peers donde para cada uno se muestra su IP, velocidad de subida/bajada (con respecto a nosotros) el porcentaje del torrent que tienen, el cliente de BitTorent que usan, etc..
    • Info: información variada sobre el torrent.
    • File list: listado de todos los ficheros/carpetas que contiene el torrent.
    • Tracker list: lista de trackers que se usan para descargar el torrent.
    • Chunks seen: los trozos del torrent que se han visto.
    • Transfer list: los trozos que se están descargando.
    Interfaz de rTorrent - Opciones de un torrent
    Interfaz de rTorrent - Opciones de un torrent
  • Iniciar un torrent: Ctrl+s tras seleccionar el torrent que se quiera iniciar.
  • Parar/eliminar un torrent: con Ctrl+d se para un torrent, con un segundo Ctrl+d se elimina del rTorrent.
  • Salir de rTorrent: Ctrl+q.
  • Controlar límite de velocidad: se pueden cambiar los kB/s de límite de uno en uno, de 5 en 5 o de 50 en 50 como muestro en la siguiente tabla:

    Acción Tecla(s)
    Aumentar la velocidad de subida máxima 1 kB/s a
    Aumentar la velocidad de subida máxima 5 kB/s s
    Aumentar la velocidad de subida máxima 50 kB/s d
    Disminuir la velocidad de subida máxima 1 kB/s z
    Disminuir la velocidad de subida máxima 5 kB/s x
    Disminuir la velocidad de subida máxima 50 kB/s c
    Aumentar la velocidad de descarga máxima 1 kB/s May+a
    Aumentar la velocidad de descarga máxima 5 kB/s May+s
    Aumentar la velocidad de descarga máxima 50 kB/s May+d
    Disminuir la velocidad de descarga máxima 1 kB/s May+z
    Disminuir la velocidad de descarga máxima 5 kB/s May+x
    Disminuir la velocidad de descarga máxima 50 kB/s May+c
  • Cambiar la prioridad de los torrents: con las teclas + y - se puede aumentar y disminuir respectivamente la prioridad de un torrent. Esto mismo se puede hacer para ficheros concretos de un torrent desde el listado de ficheros.

Hay más atajos de teclado, pero creo que con lo arriba expuesto tenéis más que de sobra para manejaros. Si aun así queréis conocerlos todos, en el listado de enlaces del final del post vienen algunos para profundizar más.

rTorrent + screen

Si ejecutáis rTorrent desde una sesión SSH y luego os desconectáis de ésta porque apaguéis el ordenador o lo que sea, rTorrent también se cerrará. Como normalmente esto no será lo que queráis, yo recomiendo usar screen. Screen es un emulador de terminales virtuales y permite sesiones independientes de la conexión por SSH al servidor, de manera que mientras el servidor remoto esté encendido la sesión y nuestro rTorrent ejecutándose en ella estarán intactos.

Se instala como habitualmente en Ubuntu/Debian:

sudo apt-get install screen

El fichero de configuración es ~/.screenrc (seguramente no venga por defecto y tengáis que crearlo)  y el mío contiene lo siguiente:

startup_message off
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %d-%m-%Y %c'
activity ''

La primera línea sirve para ahorrarme el mensaje informativo que siempre sale por defecto al ejecutar screen (¡qué cosa más cansina e inútil!). Con la segunda se pone una pequeña barra abajo donde aparece fecha y hora a la derecha y los terminales virtuales abiertos numerados a la izquierda. Esta barra además de ser útil por la información que muestra, también permite distinguir fácilmente cuándo estamos en bash normal y cuándo en una sesión de screen.

El uso de este programa es bien sencillo. Simplemente se ejecuta y todo lo que hagáis mientras no salgáis de él estará a salvo de desconexiones repentinas. Por supuesto si el servidor donde se ejecuta screen se apaga/reinicia se perderá lo que estuvierais haciendo, que este programa es bueno, pero no milagroso. Los atajos para manejarse por screen son todos del tipo Ctrl+a y luego otra tecla:

  • Desligar sesión screen: Ctrl+a d. Con esto screen se seguirá ejecutando en segundo plano.
  • Crear una nueva consola virtual: Ctrl+a c.
  • Moverse entre consolas virtuales: Ctrl+a n para ir a la siguiente y Ctrl+a p para ir a la anterior. Otra opción es usar Ctrl+a y a continuación un número del 0 al 9, lo cual llevaría a la consola a la que corresponda el número. En la barra que sale abajo (si usáis la misma configuración que yo) viene los números en cuestión.
  • Mostrar una lista de las consolas abiertas: Ctrl+a w. Totalmente innecesario si usáis la configuración de arriba porque ya sale en la barra inferior, pero si no la usáis esta combinación de teclas os vendrá bien.
  • Poner nombre a la consola actual: Ctrl+a May+a y a continuación introducís el nombre que queráis.
  • Salir de una consola: yo siempre lo hago con Ctrl+d, como si de una sesión de SSH se tratara, pero la opción propia de screen sería Ctrl+a k.

¿Y qué pasa si queréis conectar a una sesión screen que habéis desligado? Pues simplemente usáis este comando:

screen -r

Puede suceder que tengáis más de una sesión de screen y al intentar ejecutar el comando anterior os salga algo como esto:

alerom@mars ~ $ screen -r
There are several suitable screens on:
28353.pts-4.mars (Detached)
18629.pts-0.mars (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

En este caso simplemente habría que ejecutar:

screen -r xxxxx

Siendo xxxxx el número que sale al principio de la línea que corresponda a la sesión a recuperar (28353 o 18629 en el ejemplo anterior).

Y si queréis recuperar una sesión que ya tenéis abierta en otro ordenador al que no tenéis acceso en el momento, podéis cerrarla con:

screen -d

Y con esto termino esta segunda entrada dedicada a rTorrent. En la próxima ocasión hablaré sobre cómo controlar rTorrent con una interfaz web, algo muy cómodo en ocasiones, especialmente si no os sentís cómodos con la consola.

Webs de referencia (unas cuantos coinciden con las del post anterior):