Skip to content

Transmission è un client BitTorrent leggero, perfetto per un Raspberry Pi sempre acceso: gira in background come servizio e si comanda dal browser di qualsiasi computer o telefono di casa. In questa guida lo installo in modo che giri con il mio utente, così i file scaricati sono subito miei e posso spostarli o cancellarli senza problemi di permessi.

Cosa serve

  • Raspberry Pi con Raspberry Pi OS (Debian 12) e IP fisso
  • spazio su disco per i download (qui l’SSD del Raspberry)
  • accesso SSH al Raspberry

Usa Transmission solo per contenuti che hai il diritto di scaricare e condividere: distribuzioni Linux, software libero, opere di pubblico dominio.

1. Installazione

sudo apt update
sudo apt install transmission-daemon

Il servizio parte da solo subito dopo l’installazione. Fermalo prima di modificare qualsiasi cosa: Transmission riscrive il file di configurazione quando si chiude, e le modifiche fatte a servizio acceso andrebbero perse.

sudo systemctl stop transmission-daemon

2. Le cartelle dei download

mkdir -p ~/downloads/transmission/{incomplete,completed,watch}
  • incomplete: i file in corso di scaricamento;
  • completed: i file finiti;
  • watch: ogni file .torrent copiato qui viene aggiunto da solo ai download.

3. Far girare Transmission con il tuo utente

Di base il servizio gira con un utente di sistema, debian-transmission, che non può scrivere nella tua home. Invece di modificare il file del servizio, che verrebbe sovrascritto al primo aggiornamento del pacchetto, aggiungi una piccola personalizzazione:

sudo systemctl edit transmission-daemon

Nello spazio indicato dall’editor scrivi, mettendo il tuo nome utente:

[Service]
User=TUO_UTENTE

Salva e chiudi. Con il tuo utente Transmission cerca la configurazione in ~/.config/transmission-daemon: copiaci quella di partenza.

mkdir -p ~/.config/transmission-daemon
sudo cp /etc/transmission-daemon/settings.json ~/.config/transmission-daemon/
sudo chown -R $USER:$USER ~/.config/transmission-daemon

Da qui in avanti il file da modificare è quello nella tua home; quello in /etc/transmission-daemon non viene più usato.

4. Configurazione

nano ~/.config/transmission-daemon/settings.json

Cerca queste voci e cambiale così, mettendo il tuo nome utente nei percorsi:

"download-dir": "/home/TUO_UTENTE/downloads/transmission/completed",
"incomplete-dir": "/home/TUO_UTENTE/downloads/transmission/incomplete",
"incomplete-dir-enabled": true,
"watch-dir": "/home/TUO_UTENTE/downloads/transmission/watch",
"watch-dir-enabled": true,
"peer-port": 51413,
"rpc-port": 9091,
"rpc-authentication-required": true,
"rpc-username": "NOME_A_SCELTA",
"rpc-password": "PASSWORD_A_SCELTA",
"rpc-whitelist": "127.0.0.1,192.168.*.*",
"rpc-whitelist-enabled": true,
  • peer-port è la porta su cui Transmission scambia i dati con gli altri utenti. Puoi sceglierne un’altra; se la apri sul router (TCP e UDP verso l’IP del Raspberry), i download sono più veloci.
  • rpc-port è la porta dell’interfaccia web. Anche questa si può cambiare, ma non va aperta sul router: l’interfaccia serve solo dalla rete di casa.
  • rpc-username e rpc-password sono le credenziali dell’interfaccia web. La password scrivila in chiaro: al primo avvio Transmission la sostituisce con la sua versione cifrata.
  • rpc-whitelist elenca gli indirizzi che possono usare l’interfaccia: il Raspberry stesso e i dispositivi della rete di casa. Se la tua rete usa indirizzi diversi da 192.168.x.x, adatta il valore.

Attenzione alle virgole: in questo formato ogni riga termina con una virgola, tranne l’ultima prima della parentesi graffa di chiusura. Una virgola mancante o in più e Transmission non parte.

5. Avvio e verifica

sudo systemctl daemon-reload
sudo systemctl start transmission-daemon
systemctl status transmission-daemon

Lo stato deve essere active (running). Controlla anche che il servizio giri davvero con il tuo utente:

ps -o user= -C transmission-daemon

Poi apri il browser su un computer di casa all’indirizzo http://IP_DEL_RASPBERRY:9091 ed entra con le credenziali scelte al passo 4.

Note

  • Per cambiare la configurazione in futuro: ferma il servizio, modifica settings.json, riavvialo. Se lo modifichi a servizio acceso, alla chiusura Transmission rimette i valori vecchi.
  • Se aprendo l’interfaccia compare l’errore 403: Forbidden, l’indirizzo da cui ti colleghi non è nella rpc-whitelist.
  • Se ti colleghi usando il nome del Raspberry invece dell’IP e compare un errore 421, aggiungi il nome in "rpc-host-whitelist", oppure collegati con l’IP.
  • Riferimento: la guida di Pi My Life Up su Transmission sul Raspberry Pi, da cui sono partito; qui ho usato una personalizzazione del servizio al posto della modifica diretta dei file di sistema.
Torna su