Transmission (Español)
Transmission es un cliente BitTorrent ligero y multiplataforma.
Instalación
Hay varios paquetes disponibles para instalar con Transmission:
- transmission-cli – demonio, con CLI, e #Interfaz web.
- transmission-gtk – Interfaz gráfica en GTK 3.
- transmission-qt – Interfaz gráfica en Qt 5.
- tremcAUR or tremc-gitAUR – Interfaz Curses para el demonio.
- stigAUR or stig-gitAUR – Interfaz Curses para el demonio.
- transmission-remote-gtk – Interfaz gráfica en GTK 3para el demonio.
Configurar la versión GUI
Ambas versiones GUI, transmission-gtk y transmission-qt, pueden funcionar de forma autónoma sin un demonio como back-end.
Las versiones GUI están configuradas para funcionar directamente, pero es posible que el usuario desee cambiar algunas de las configuraciones. La ruta predeterminada a los archivos de configuración GUI es ~/.config/transmission
.
Se puede encontrar una guía de las opciones de configuración en el Github de Transmission.
Demonio Transmission y CLI
La órdenes para transmission-cli son:
- transmission-daemon: inicia el demonio.
- transmission-remote: invoca el CLI para el demonio, ya sea local o remoto, seguido de la orden que desea que ejecute el demonio.
- transmission-show: devuelve información sobre un archivo torrent determinado.
- transmission-create: crea un nuevo torrent.
- transmission-edit: añade, elimina o reemplaza la URL de anuncio de un rastreador.
- transmission-cli: (reemplazado en favor de transmission-remote) inicia una instancia local no demonizada de transmission, para descargar manualmente un torrent.
- tremc: (requires tremc-gitAUR) inicia la interfaz curses para el demonio, ya sea local o remoto.
Iniciar y detener el demonio
El demonio Transmission se puede ejecutar:
- Como el usuario transmission, iniciando/activando
transmission.service
mediante systemd. El usuario se puede cambiar como se explica en #Elegir un usuario.
- Como su propio usuario, ejecutando bajo su nombre de usuario:
$ transmission-daemon
Al iniciar el demonio, se creará un archivo de configuración inicial. Véase #Configurar el demonio.
El demonio se puede detener con:
$ pkill -3 transmission-daemon
Una opción alternativa para detener Transmission es utilizar la orden transmission-remote:
$ transmission-remote --exit
Reducir el journal spam
Correr transmission-daemon puede dar lugar a muchas entradas journal no deseadas. La salida se puede filtrar iniciándolo con un pequeño script de envoltura. El siguiente ejemplo también proporciona algunas notificaciones:
transwrap.sh
#!/bin/zsh killall transmission-daemon 2> /dev/null transmission-daemon --foreground --log-info 2>&1 | while read line; do echo $line | grep -v "announcer.c:\|platform.c:\|announce done (tr-dht.c:" | grep -v "Saved.*variant.c:" | while read line; do echo $line | grep -q "Queued for verification (verify.c:" && notify-send --app-name="Transmission Started" "${line#* * }" echo $line | grep -q "changed from .Incomplete. to .Complete." && notify-send --app-name="Transmission Complete" "${line#* * }" echo $line | systemd-cat --identifier="TransWrap" --priority=5 done 2>&1 > /dev/null done&disown
Ejecutar solo mientras está conectado a la red
Netctl
Puede ser conveniente ejecutar Transmission solo en determinadas redes. La siguiente secuencia de órdenes verifica que la conexión esté en una lista de redes autorizadas y luego procede a iniciar transmission-daemon.
/etc/netctl/hooks/90-transmission.sh
#!/bin/bash # Los SSID para los que activamos esto. declare -A ssids=( ["network_1"]=y ["network_2"]=y ) if [[ ${ssids[$SSID]} ]]; then case $ACTION in CONNECT|REESTABLISHED) # Necesito esperar, de lo contrario no parece vincularse a 9091. sleep 30 systemctl start transmission ;; *) systemctl stop transmission ;; esac fi
Wicd
Cree un script de inicio en la carpeta /etc/wicd/scripts/postconnect
, y un script de detención en la carpeta /etc/wicd/scripts/predisconnect
. Recuerde hacerlos ejecutables. Por ejemplo:
/etc/wicd/scripts/postconnect/transmission
#!/bin/bash systemctl start transmission
/etc/wicd/scripts/predisconnect/transmission
#!/bin/bash systemctl stop transmission
Elegir un usuario
Elija cómo quiere ejecutar transmission
:
- Como un usuario separado,
transmission
por defecto (recomendado para mayor seguridad).
Por defecto, transmission crea un usuario y un grupo transmission
, con sus archivos de inicio en /var/lib/transmission/
, y se ejecuta como este "usuario". Esta es una precaución de seguridad, así que transmission, y sus descargas, no tienen acceso a archivos fuera de /var/lib/transmission/
. La configuración, el funcionamiento y el acceso a las descargas deben realizarse con privilegios de superusuario "root" (por ejemplo, utilizando sudo).
- Bajo tu propio usuario.
Para configurar esto, anule el archivo de servicio proporcionado y especifique su nombre de usuario:
/etc/systemd/system/transmission.service.d/username.conf
[Service] User=su_usuario
Configurar el demonio
Cree un archivo de configuración inicial iniciando el demonio.
- Si ejecuta Transmission con el nombre de usuario
Transmission
, el archivo de configuración se ubicará en/var/lib/transmission/.config/transmission-daemon/settings.json
.
- Si ejecuta Transmission con su propio nombre de usuario, el archivo de configuración se ubicará en
~/.config/transmission-daemon/settings.json
.
Uno puede personalizar el demonio utilizando un cliente Transmission o mediante la interfaz web incluida accesible a través de http://localhost:9091 en un navegador compatible.
Puede encontrar una guía de las opciones de configuración en el sitio web de Transmission: https://github.com/transmission/transmission/wiki/Editing-Configuration-Files
kill -s SIGHUP $(pidof transmission-daemon)
.Una recomendación para aquellos que lo ejecutan bajo el nombre de usuario transmission
es crear un directorio de descarga compartido, con los permisos correctos, para permitir el acceso tanto al usuario Transmission
como a los usuarios del sistema, y luego actualizar el archivo de configuración. en consecuencia. Por ejemplo:
# mkdir /mnt/data/torrents # chown -R fachada:transmission /mnt/data/torrents # chmod -R 775 /mnt/data/torrents
Ahora /mnt/data/torrents
será accesible para el usuario del sistema fachada
y para el grupo transmission
al que pertenece el usuario transmission
. No se recomienda hacer al directorio destino con permisos de lectura/escritura para todos (es decir, no haga chmod al directorio con 777). En su lugar, otorgue a los usuarios/grupos individuales los permisos adecuados para los directorios correspondientes.
/mnt/data/torrents
está ubicado en un dispositivo extraíble, p.ej. con una entrada en /etc/fstab
con la opción nofail
, Transmission se quejará de que no puede encontrar sus archivos. Para remediar esto, puede añadir RequiresMountsFor=/mnt/data/torrents
a /etc/systemd/system/transmission.service.d/transmission.conf
en la sección [Unit]
.Una alternativa es añadir su usuario al grupo transmission
(#usermod -a -G transmission su_usuario
) y luego modificar los permisos en los directorios /var/lib/transmission
y /var/lib/transmission/Downloads
para permitir el acceso de rwx
a los miembros del grupo transmission
.
Lista blanca de hosts
Si planea acceder al demonio Transmission a través de la red utilizando el nombre de host del servidor, debe añadir este nombre de host a rpc-host-whitelist
en settings.json
.
De lo contrario, obtendrá un error "421 Misdirected Request" al acceder al servidor.
Si se conecta al demonio utilizando la dirección IP del servidor, esto no es necesario.
Directorio vigilado
Si desea Añadir automáticamente archivos .torrent desde una carpeta, pero encuentra que las opciones watch-dir
y watch-dir-enabled
establecidas en el archivo de configuración no funcionan, puede iniciar el demonio Transmission con la opción -c /ruta/al/directorio/vigilado
.
Si está utilizando systemd, edite la unidad transmission.service
como se describe en systemd (Español)#Modificar los archivos de unidad suministrados.
Activar IPv6
De forma predeterminada, el demonio solo escucha conexiones IPv4. Para escuchar también las conexiones IPv6, cambie la opción rpc-bind-address
a "::"
en settings.json
.
Ejemplos CLI
Si desea eliminar todos los torrents finalizados, puede utilizar la orden siguiente con su propio nombre de usuario y contraseña:
# transmission-remote -n 'usuario:contraseña' -l | grep 100% | awk '{print $1}'| paste -d, -s | xargs -i transmission-remote -t {} -r
Siembra un torrent que ya se haya descargado:
# transmission-remote [HOST] --torrent=ejemplo.torrent -a ejemplo.torrent --verify --download-dir=/ruta/a/la/carpeta --start
Interfaz web
La forma GUI
Una vez que Transmission está instalado, puede configurar fácilmente la interfaz web. Todo lo que necesita hacer es clic en el menú Editar y seleccionar Preferencias. Haga clic en la pestaña Remoto y active Permitir acceso remoto.
Aquí, tiene la oportunidad de cambiar el puerto de escucha predeterminado de 9091.
Marque Usar autenticación y rellene un nombre de usuario y contraseña para que se pueda utilizar la autenticación.
Para aumentar la seguridad, puede restringir el acceso desde cualquier dirección IP activando Permitir solo estas direcciones IP.
Ahora está listo para iniciar la interfaz web haciendo clic en Abrir cliente web, que hace que su navegador web predeterminado lo abra, o llegando manualmente a http://DIRECCION_IP_DESTINO:PUERTO
con cualquier navegador web compatible.
Si no ha cambiado el puerto de escucha, el predeterminado es 9091. En este caso, el enlace es http://localhost:9091
.
La forma CLI
No necesita una interfaz gráfica para configurar la interfaz web, el demonio ofrece las mismas opciones. Puede acceder a la interfaz web sin especificar ninguna opción. Véase #Iniciar y detener el demonio
No obstante, puede especificar todo lo que vea en la sección anterior:
$ transmission-daemon --auth --username arch --password linux --port 9091 --allowed "127.0.0.1"
es equivalente a
$ transmission-daemon -t -u arch -v linux -p 9091 -a "127.0.0.1"
Tema de interfaz web opcional
Si la interfaz de usuario predeterminada de la aplicación web parece obsoleta y menos elegante de lo esperado, intente utilizar este sencillo tema CSS:
https://git.eigenlab.org/sbiego/transmission-web-soft-theme
También hay un proyecto de reemplazo completo que puede coexistir con la interfaz de usuario predeterminada:
https://github.com/ronggang/transmission-web-control
Solución de problemas
No se puede acceder al demonio a través de la red
El demonio se inicia después de inicializar network.service
. Sin embargo, si activa el servicio dhcpcd
en lugar del servicio específico del dispositivo, como por ejemplo dhcpcd@enp1s0.service
, puede suceder que Transmission se inicie demasiado pronto y no se pueda enlazar a la interfaz de red. Por lo tanto, la interfaz web es inalcanzable. Una posible solución es añadir la línea Requires
al archivo de configuración de la unidad:
/etc/systemd/system/transmission.service.d/fixdep.conf
[Unit] Requires=network.target
No se puede acceder a la interfaz web
404: Not Found Couldn't find Transmission's web interface files! Users: to tell Transmission where to look, set the TRANSMISSION_WEB_HOME environment variable to the folder where the web interface's index.html is located. Package Builders: to set a custom default at compile time, #define PACKAGE_DATA_DIR in libtransmission/platform.c or tweak tr_getClutchDir () by hand.
Incluso si utiliza la interfaz gráfica, aún necesita instalar transmission-cli para que la interfaz web funcione.
No se pudo configurar el búfer de envío/recepción
Transmission puede mostrar cualquiera de estos mensajes en el diario al inicio:
UDP Failed to set receive buffer: requested 4194304, got 425984 UDP Failed to set send buffer: requested 1048576, got 425984
Estos se pueden corregir configurando net.core.rmem_max=4194304
y net.core.wmem_max=1048576
con sysctl.