Transmission

Versione del 16 lug 2017 alle 11:12 di Stemby (discussione | contributi) (guida compatibile con la stabile)
Debian-swirl.png Versioni Compatibili

Debian 6 "squeeze"
Debian 7 "wheezy"
Debian 8 "jessie"
Debian 9 "stretch"

Introduzione

  ATTENZIONE
L'autore di questa guida non si ritiene responsabile degli atti illeciti che dovessero essere compiuti sfruttando gli strumenti qui illustrati, e condanna fermamente questi usi impropri che mettono in cattiva luce un protocollo per altro eccellente e molto versatile quale è BitTorrent.


Transmission è un programma per reti BitTorrent noto per la sua semplicità d'uso e leggerezza; risulta infatti meno complesso di altri programmi quali Azureus/Vuze, a tutto vantaggio della maggior parte degli utenti. Essendo molto diffuso gode inoltre di ottimo supporto.

Esistono due versioni: una completa che accorpa il nucleo del programma e la sua interfaccia in un unica soluzione, ed un'altra che invece permette di installare separatamente nucleo (d'ora in avanti chiamato demone) ed interfaccia. La prima soluzione è quella più diffusa e nota, non essendo graficamente e funzionalmente molto differente da altri programmi come Bittorrent, Bittornado, Azureus/Vuze, ecc.; la seconda invece torna utile a quegli utenti che possiedono un computer sempre acceso e connesso ad internet, come nel caso di un piccolo server casalingo. Spesso si tratta di vecchi computer privi di interfaccia grafica ed amministrati prevalentemente da terminali remoti, oppure di dispositivi nuovissimi ma ultracompatti e a basso consumo energetico, come ad esempio lo SheevaPlug.

Questa guida copre entrambe le soluzioni.

Versione completa

Installazione

C'è davvero poco da dire. Per l'installazione digitare:

# apt-get install transmission

Spulciando i repository si noterà che esistono altri pacchetti dal nome simile; in particolare transmission-gtk e transmission-qt sono essenzialmente identici al precedente, differenziandosi prevalentemente per il linguaggio e le librerie utilizzate per codificare l'interfaccia grafica.

Utilizzo

Per chiunque abbia già un minimo di confidenza ed esperienza con programmi simili non dovrebbe esserci alcun problema di utilizzo; per maggiori informazioni su contenuti aggiuntivi, supporto e quant'altro si faccia riferimento al sito ufficiale del progetto.

I vari file, compreso quello di configurazione, si trovano nella cartella ~/.config/transmission.

Versione ridotta (demone)

Installazione

Anche qui l'installazione da repository ufficiale è estremamente semplice:

# apt-get install transmission-daemon

Si noti che di base la procedura d'installazione predispone il demone per l'avvio automatico durante il boot del computer.

Avvio/Arresto

Per avviare o terminare manualmente il demone è sufficiente digitare da terminale:

# /etc/init.d/transmission-daemon start
# /etc/init.d/transmission-daemon stop

Configurazione

Tutte le impostazioni sono contenute nel file /etc/transmission-daemon/settings.json, modificabile con qualsiasi editor di testo disponendo dei privilegi di root. Ad esempio:

# nano /etc/transmission-daemon/settings.json
  ATTENZIONE
Prima di editare il suddetto file è necessario aver fermato il demone (si veda la precedente sezione), altrimenti tutte le modifiche apportate andranno perse.


Di seguito un elenco dei parametri di più comune interesse:

"download-dir": "/var/lib/transmission-daemon/downloads",
"umask": 18,
"peer-port": 51413,
"rpc-enabled": true,
"rpc-authentication-required": true,
"rpc-username": "transmission",
"rpc-password": "{8b97d4640c3102fd903990a86a366624152ac893rhUob1OT",
"rpc-port": 9091,
"rpc-whitelist-enabled": true,
"rpc-whitelist": "127.0.0.1",
"speed-limit-down-enabled": false,
"speed-limit-up-enabled": false,
"speed-limit-down": 100,
"speed-limit-up": 100,
  • download-dir, come facilmente intuibile definisce la posizione dove verranno salvati di default i file scaricati. Si noti che diversamente da altri programmi transmission-daemon ha una propria utenza associata, ovvero debian-transmission, quindi è necessario che qualsiasi cartella specificata dall'utente diversa da quella standard sia leggibile e scrivibile dalla suddetta utenza; in caso contrario risulterà impossibile il download dei vari file.
  • umask, definisce i permessi con cui saranno creati i file. Si noti che il valore deve essere espresso in base 10 e non in base 8; ad esempio 022 va scritto come 18 in settings.json, e 002 come 2.
  • peer-port, è la porta (TCP) che deve essere aperta sul router e/o sul firewall (se li avete) perché il trasferimento dati avvenga senza rallentamenti sistematici (dovuti proprio al router e/o al firewall). È possibile indicare un valore qualsiasi (al massimo 65535), tuttavia assicurarsi di non scegliere un numero di porta già usato da qualche altro applicativo (tipicamente oltre il 10000 è quasi impossibile beccare una porta già usata).
  • rpc-enabled, definisce se il demone può ("true") o meno ("false") essere controllato da remoto, cioè in pratica se può essere usato o meno...
  • rpc-authentication-required, definisce se per usare (e non per avviare) il programma saranno richiesti username e password. Se il parametro vale "true" allora saranno richiesti username e password (impostati di default con "transmission" sia come login che come password) per poter usare il demone; viceversa digitando "false" non sarà richiesto nulla (quindi chiunque potrà accedere ed amministrare il demone).
  • rpc-username e rpc-password definiscono le credenziali che l'utente dovrà inserire quando tenterà di usare il demone (qualora si sia abilitata l'autenticazione all'accesso). La nuova password va semplicemente scritta in chiaro tra virgolette; al primo avvio del demone, verrà automaticamente criptata (iniziarà con una graffa). Per comprendere l'algoritmo utilizzato si veda il box di approfondimento qui sotto.
  • rpc-port, definisce il numero di porta (TCP) attraverso cui è possibile controllare il demone usando le varie interfacce.
  • rpc-whitelist-enabled definisce se limitare o meno l'accesso al demone in base all'indirizzo IP. Impostando "false" chiunque potrà tentare di usare il demone; impostando "true" il demone permetterà l'autenticazione solo agli utenti i cui indirizzi IP sono specificati in un'apposita lista (vedere punto seguente). Si badi che se questo parametro e "rpc-authentication-required" sono impostati entrambi su "false" allora chiunque potrà usare il demone, viceversa se entrambi sono impostati su "true", allora potranno usare il demone solo quegli utenti che conoscono la giusta combinazione username/password e che inoltre sono identificati da un indirizzo IP permesso.
  • rpc-whitelist definisce gli indirizzi IP da cui è possibile usare il demone; il valore di default 127.0.0.1 (localhost) indica che sarà possibile usare il demone solo attraverso interfacce installate sullo stesso computer del demone. Per indicare più indirizzi IP è sufficiente separare gli indirizzi con una virgola; è possibile usare il carattere jolly "*". Esempio: "127.0.0.1,192.168.0.*".
  • speed-limit-down-enabled e speed-limit-up-enabled definiscono se il demone deve abilitare i limiti rispettivamente delle velocità di ricezione ed invio.
  • speed-limit-down e speed-limit-up definiscono le velocità limite in kB/s delle velocità di invio e ricezione qualora abilitate (vedere punto precedente).
  rpc-password
La stringa criptata è composta semplicemente da
  • una parentesi graffa aperta;
  • l'hash SHA-1 della password scelta con l'aggiunta di un sale casuale da 8 byte in Base64;
  • gli otto caratteri del sale.

A scopo didattico, è possibile calcolare l'hash in questo modo, utilizzando la password di default ("transmission") e il sale ("rhUob1OT") preso dall'esempio precedente:

$ echo -n "transmissionrhUob1OT" | sha1sum 
8b97d4640c3102fd903990a86a366624152ac893  -


Per un elenco esaustivo dei parametri si veda questa pagina.

Esempio

Di seguito è riportato un file di configurazione che permette l'accesso da tutti i computer della propria LAN (in questo caso con indirizzo 192.168.0.X), tramite un nuovo login e una nuova password; vengono inoltre impostate le velocità limite sia in download che in upload. Le righe modificate sono evidenziate in grassetto.

{
    "alt-speed-down": 50, 
    "alt-speed-enabled": false, 
    "alt-speed-time-begin": 540, 
    "alt-speed-time-day": 127, 
    "alt-speed-time-enabled": false, 
    "alt-speed-time-end": 1020, 
    "alt-speed-up": 50, 
    "bind-address-ipv4": "0.0.0.0", 
    "bind-address-ipv6": "::", 
    "blocklist-enabled": false, 
    "dht-enabled": true, 
    "download-dir": "/var/lib/transmission-daemon/downloads", 
    "download-limit": 100, 
    "download-limit-enabled": 0, 
    "encryption": 1, 
    "incomplete-dir": "/root/Downloads", 
    "incomplete-dir-enabled": false, 
    "lazy-bitfield-enabled": true, 
    "lpd-enabled": false, 
    "max-peers-global": 200, 
    "message-level": 2, 
    "open-file-limit": 32, 
    "peer-limit-global": 240, 
    "peer-limit-per-torrent": 60, 
    "peer-port": 51413, 
    "peer-port-random-high": 65535, 
    "peer-port-random-low": 49152, 
    "peer-port-random-on-start": false, 
    "peer-socket-tos": 0, 
    "pex-enabled": true, 
    "port-forwarding-enabled": false, 
    "preallocation": 1, 
    "proxy": "", 
    "proxy-auth-enabled": false, 
    "proxy-auth-password": "", 
    "proxy-auth-username": "", 
    "proxy-enabled": false, 
    "proxy-port": 80, 
    "proxy-type": 0, 
    "ratio-limit": 2.0000, 
    "ratio-limit-enabled": false, 
    "rename-partial-files": true, 
    "rpc-authentication-required": true, 
    "rpc-bind-address": "0.0.0.0", 
    "rpc-enabled": true, 
    "rpc-password": "nuova_password", 
    "rpc-port": 9091, 
    "rpc-username": "nuovo_login", 
    "rpc-whitelist": "127.0.0.1,192.168.0.*", 
    "rpc-whitelist-enabled": true, 
    "script-torrent-done-enabled": false, 
    "script-torrent-done-filename": "", 
    "speed-limit-down": 600, 
    "speed-limit-down-enabled": true, 
    "speed-limit-up": 42, 
    "speed-limit-up-enabled": true, 
    "start-added-torrents": true, 
    "trash-original-torrent-files": false, 
    "umask": 18, 
    "upload-limit": 100, 
    "upload-limit-enabled": 0, 
    "upload-slots-per-torrent": 14
}

Interfacce

Di base insieme al demone viene fornita sia un interfaccia grafica web che una testuale (quest'ultima inclusa anche nella versione completa), tuttavia esistono svariate altre interfacce per amministrare il demone di Transmission, come facilmente verificabile qui. L'interfaccia grafica transgui è disponibile anche nei repository ufficiali Debian.

Transmission-Remote

È l'interfaccia testuale fornita sia col demone che con la versione completa. La sintassi per usare un demone è:

transmission-remote ''indirizzo_ip:porta'' -n ''user_name'':''password'' ''comando''

Omettendo di specificare indirizzo_ip:porta il programma assume come valori quelli standard, ovvero localhost:9091. Di seguito un paio di esempi.

Aggiungere un file:

transmission-remote -n user_name:password -a nome_file.torrent

Visualizzare l'elenco dei file attivi:

transmission-remote -n user_name:password -l

Si noti che è possibile gestire l'autenticazione anche tramite un apposito file di configurazione; si veda a tal proposito il manuale dell'applicativo.

Transmission-Remote-GUI

Per installarla digitare:

# apt-get install transgui

Al primo avvio (in GNOME la relativa icona viene creata nel sottomenù internet) verrà proposta una finestra in cui si chiedono indirizzo IP (non è detto che l'uso di alias funzioni), porta, username e password. Se i dati inseriti sono corretti l'utente si ritroverà davanti una finestra molto simile a quella degli altri client P2P.

Il file di configurazione dell'interfaccia si trova nella cartella ~/.config/Transmission Remote GUI.

Web

Uno dei metodi supportati di default per gestire transmission-daemon è quello via browser; per accedere alla finestra di gestione del demone è sufficiente digitare nella barra degli indirizzi http://indirizzo_pc:porta, dove con "indirizzo_pc" si intende l'indirizzo IP del PC su cui è installato il demone e con "porta" quella specificata nel file di configurazione alla voce rpc-port. Quindi, nell'ipotesi di un utente che voglia accedere a Transmission usando il PC su cui è stato installato il demone, è necessario puntare il proprio browsaer all'indirizzo http://127.0.0.1:9091, o equivalentemente all'indirizzo http://localhost:9091.

Dando per scontato che il demone sia avviato e correttamente funzionante, qualora rpc-authentication-required sia stato impostato su "false" comparirà immediatamente la schermata di gestione; in caso contrario comparirà la finestrella di autenticazione in cui inserire username e password.

Per chi già conosce Transmission su desktop, l'uso è davvero semplicissimo. È sufficientemente esplorare l'interfaccia grafica per trovarsi a proprio agio.

Ecco, ad esempio, come fare per scaricare le immagini dei CD di installazione di Debian stabile.

  1. trovare il link al file .torrent desiderato partendo da questa pagina, facendo attenzione all'architettura
  2. copiare l'URL
  3. cliccare su "Open"
  4. incollare l'URL
  5. cliccare su "Upload"
  6. ripetere dal punto 1 per ogni immagine ISO che ci interessa
  7. attendere la fine dello scaricamento

Come previsto dal file di configurazione, troveremo i nostri file nella directory /var/lib/transmission-daemon/downloads.

AutoTrans

È un interessante plug-in per Firefox che una volta configurato permette di aggiungere i torrent al demone semplicemente cliccando col tasto destro del mouse su un collegamento torrent e selezionando poi dal menù contestuale la voce Torrent it!. Disponibile a questa pagina.

Firewall/Router

  ATTENZIONE
Il computer su cui è in esecuzione Transmission, versione completa o demone non fa differenza, deve avere un indirizzo IP statico interno alla LAN, in modo da reindirizzare correttamente le porte necessarie sul modem-router usato per connettersi ad internet.


Le porte che devono essere aperte su un router e/o sul firewall del computer su cui è in esecuzione Transmission sono tipicamente:

  • peer-port, tipo TCP;
  • rpc-port, tipo TCP.

Se la prima è bloccata si scaricherà molto lentamente, sia che si usi la versione completa che quella ridotta. L'altra porta riguarda di norma solo il demone: se bloccata non ci saranno problemi ad amministrare transmission-daemon fintanto che ci si connette dall'interno della propria LAN; al contrario risulterà impossibile connettersi al demone dall'esterno della propria LAN, e sarà quindi impossibile amministrarlo (ma transmission-daemon di per sé funzionerà normalmente, ovvero continuerà a scaricare ed inviare i file già in elenco).

In questa guida non ci si occupa di come configurare correttamente un firewall/router poiché la procedura varia in base al prodotto usato. L'utente dovrà quindi eventualmente cercare altrove una guida per aprire e reindirizzare correttamente le connessioni necessarie verso la macchina su cui è in esecuzione il demone. Come punto di partenza si può utilizzare questa guida.

Approfondimenti

Sitografia

  • Sito ufficiale
  • Pagina dedicata ai file di configurazione
  • Parametri di configurazione
  • Interfacce ed addons
  • Guida alla configurazione di porte dati per svariati router in commercio; è comunque imprescindibile fare riferimento al manuale istruzioni specifico del proprio router




Guida scritta da: Stemby   Debianized 40%
Estesa da:
Wtf 23:08, 30 mag 2011 (CEST)
Verificata da:
Wtf 23:08, 30 mag 2011 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized