Problema "Permission denied" al descargar por transmissión-daemon



Existe la posibilidad de instalar Transmission sin la parte gráfica y así controlarlo desde otro PC o teléfono móvil. El principal problema que he tenido con transmission-daemon a la hora de configurarlo a sido con el error típico "Permission denied" cuando escribía datos en el disco.
En su instalación por defecto, el programa corre a nivel de sistema, pero nosotros lo haremos a nivel de usuario, con lo que la asignación de permisos no será tan traumática.

1- Desinstalar e Instalar Transmission daemon

Si ya has instalado he intentado configurar Transmission, te recomiendo que lo desinstales junto a todos sus archivos de configuración con el siguiente comando:

sudo apt --purge remove transmission-daemon

y lo vuelvas a instalar con este otro.

sudo apt-get install transmission-daemon

2- Configuración.

Nada mas instalarse, el servicio se enciende por si sólo, así que antes de nada lo vamos a parar con el siguiente comando.

sudo systemctl stop transmission-daemon

2.1 - Creamos el archivo de configuración a nivel usuario.

Iniciamos el demonio como usuario, no a nivel de sistema, con el siguiente comando:

transmission-daemon

Al iniciar el demonio como usuario y no tener su carpeta de configuración, la crea automáticamente en ~/.config/transmission-daemon, copiándola desde /etc/transmission-daemon.

Ahora lo detenemos con el siguiente comando:

killall -s 9 transmission-daemon

2.2 - Modificamos el archivo de configuración

Ahora que tenemos el servicio detenido, vamos a configurarlo. Tecleamos el siguiente comando:
 
nano .config/transmission-daemon/settings.json

Buscamos una línea que pone «download-dir» y la cambiamos por la siguiente:

"download-dir": "/home/tu_usuario/Descargas",

También la linea que pone «incomplete-dir» y la cambiamos por la siguiente:

"incomplete-dir": "/home/tu_usuario/Descargas",

Mucho ojo con los signos de puntuación. No quitéis la coma del final ni ninguna de las comillas.

También vamos a buscar una línea que pone

"incomplete-dir-enabled": false,

Y la cambiamos por esto:

"incomplete-dir-enabled": true,

Ahora vamos a asignar un puerto para realizar las descargas. Transmission por defecto usa el 51413, pero como no nos interesa ir por el puerto estandard (por si nuestro proveedor de internet capa el tráfico en ese puerto) vamos a cambiarlo por otro, por ejemplo el 51228 (pero podéis poner un número cualquiera entre el 49152 y el 65535). Para ello tenemos que buscar la línea que pone:

"peer-port": 51413,

Y cambiarla por esta otra

"peer-port": 51228,

… pero lo dicho: poned un número cualquiera entre ese rango.

Ahora debemos editar una línea más. Transmission por defecto bloquea todas las conexiones de cualquier ordenador que quiera conectarse con su interfaz, salvo que estén en una «lista blanca». A nosotros nos interesa poder acceder desde diferentes IP’s, así que vamos a anular esta configuración. Para ello vamos a buscar esta línea

"rpc-whitelist-enabled": true,

Y la vamos a cambiar por esta otra:

"rpc-whitelist-enabled": false,

Para activar el acceso por usuario y contraseña buscamos la línea:

"rpc-authentication-required": false,

Cambiándola por esta otra:

"rpc-authentication-required": true,

Vamos a crear un usuario y una contraseña. Busca la línea que empieza por:

"rpc-password": 

y vamos a poner la contraseña con la que queramos acceder a Transmission. Elegid siempre una contraeña segura, que no hayáis usado en otras aplicaciones y que sea lo suficientemente complicada como para ponérselo difícil a quién la quiera averiguar.

"rpc-password": "Mi_contraseña_segura",

Un poco más abajo nos pregunta por el nombre de usuario y nos sugiere uno. Vamos a cambiarlo por un usuario o un nick nuestro.

"rpc-username": "usuario_de_acceso",


Hay otro puerto, que es el que nos da acceso a nuestro demonio desde el exterior que dice:

"rpc-port": 9091,

y lo deberíamos de cambiar por cualquier otro, por ejemplo

"rpc-port": 39091,

Opcional


Si deseas limitar la velocidad de subida y bajada para no saturar nuestra conexión a Internet y para no saturar el procesador de la propia Raspberry. Vamos a limitarla a 3072 Kb/Seg. de bajada y a 1536 Kb/Seg. de subida.

Vamos a empezar buscando en el archivo de configuración estas dos líneas:

"speed-limit-down": 100,
"speed-limit-down-enabled": false,

Y vamos a cambiarlas por estas otras:

"speed-limit-down": 2072,
"speed-limit-down-enabled": true,

Ahora vamos a modificar la velocidad de subida. Buscamos estas líneas:

"speed-limit-up": 100,
"speed-limit-up-enabled": false,

Y vamos a cambiarlas por estas otras.

"speed-limit-up": 1536,
"speed-limit-up-enabled": true,


3 - Modificar los archivos de control

Por defecto, al iniciar el sistema, el demonio utiliza el usuario debian-transmission.

Para ello, como root, modificaremos dos archivos:

sudo nano /etc/init.d/transmission-daemon 

Reemplazar

USER=debian-transmission

por

USER=tu_usuario

sudo nano /lib/systemd/system/transmission-daemon.service

Reemplazar

User=debian-transmission

por

User=tu_usuario

Luego, para que el sistema tome los cambios, ejecutar:

sudo systemctl daemon-reload

NOTA IMPORTANTE: La modificación de /lib/systemd/system/transmission-daemon.service debe haerse CADA VEZ que transmission se actualiza.


Inicio del demonio.

sudo systemctl start transmission-daemon

4 -. Acceder desde un navegador

En modo local, abre tu navegador favorito, e ingresa la dirección localhost:39091.


En modo remoto, abre un navegador e ingresa la dirección IP_Publica:39091 (recuerda tener este puerto abierto en el router)


Cuando abras la página, te pedirá el nombre de usuario y contraseña que has definido en 2.2



5- Accede desde tu teléfono móvil.

Por comodidad, en mi smartphone, utilizo una aplicación para controlar trasnmission, así me ahorro de estar abriendo el navegador y tener que teclear la IP y el puerto.
La aplicación se puede descargar desde Google Play en este enlace Transmission Remote

Una vez instalada vamos a Ajustes


En Servidores, Añadimos nuestro Servidor
  • Le damos un nombre, por ejemplo Transmission
  • nuestra IP Pública y puerto, en mi caso 178.56.19.12:39091
  • Activamos la casilla de Autentificación
  • Escribimos el nombre de usuario y la contraseña.



Aceptamos los cambios y ya tenemos sincronizado nuestro servidor torrent.
Ahora todos los torrents que descarguemos con nuestro teléfono, se harán en el equipo que tenemos en casa y no gastaremos ni un solo mega de nuestro teléfono.

Para acceder a tus torrents descargados te recomiendo:


Para tener controlada tu IP pública te recomiendo.



Para realizar este post me he basado principalmente en el wiki de Javier A. Piendibene y el blog de Floppy.es asi como a numerosos foros a los que me ha llevado Google


Comentarios

Entradas populares de este blog

TP-Link WR841ND repetidor WIFI

Instalar y Configurar aMule en Ubuntu

II. Vodafone Technicolor Tc7230 modo bridge.