Transmission su openwrt, torrent da android via tunnel ssh

Utilizzando un router Fonera 2.0g con firmware opensource Openwrt è possibile gestire il download dei torrent utilizzando il demone Transmission, quindi può essere comodo configurare un dispositivo Android, come il Vodafone Ideos,  per verificare lo stato e controllare le code dei download.

Per mantenere elevata la sicurezza di accesso al dispositivo si utilizzarà un tunnel ssh con port forwarding.

Questa guida vuole essere un indicazione generale sui passi da compiere e si riserva di non scendere troppo nei particolare dei comandi da eseguire. Eventuali dubbi o completamenti. possono essere risolti utilizzando lo strumento dei commenti.

Requisiti.

Tra i componenti hardware essenziali si ricorda

  • router con openwrt e usb;
  • chiavetta (o hardisk esterno) usb;
  • smarphone android.

E’ inoltre consigliata una conoscienza di base dell’utilizzo di shell unix

Si passa dunque alla configurazione dei dispositivi.

Fonera 2.0g, openwrt e pacchetti necessari

Si suppone essere in possesso di una fonera 2.0g, oppure un router compatibile, con installato il firmware opensource openwrt, connesso correttamente ad internet con ip (anche dinamico) pubblico. Una guida su come installare il firmware openwrt su fonera è disponibile alla pagina http://wiki.openwrt.org/toh/fon/fonera2.

Abilitare il supporto usb

Il passo successivo è abilitare openwrt al supporto usb storage, è possibile dunque seguire le indicazioni della pagina http://wiki.openwrt.org/doc/howto/usb.storage, avendo cura di installare il modulo per il supporto del filesystem del device usb esterno, ed abilitando l’automount della periferica al boot. Si suppone che la memoria usb sia raggiungibile al path /mnt/usb. Si crei dunque la cartella /mnt/usb/downloads dove saranno disponibile i file scaricati.

Installare il demone Transmission Bittorrent

Installare dunque il client bittorrent transmission, ed in particolare i pacchetti transmisssion-daemon e transmission-web. Procedere quindi alla sua configurazione seguendo le indicazioni http://wiki.openwrt.org/doc/uci/transmission. Si consiglia di modificare opportunamente le seguenti opzioni:

option config_dir '/mnt/usb/transmission'
option download_dir '/mnt/usb/transmission/done'
option incomplete_dir '/mnt/usb/transmission/incomplete'

Dopo aver configurato l’avvio di transmission-daemon al boot ed averlo avviato, indirizzando il browser all’indirizzo http://ip_del_router:9091 è possibile accedere all’interfaccia di gestione dei download.

Abilitare l’avviso email di completamento di download del torrent ed aggiornamento della coda (opzionale).

Si trova molto comoda la comunicazione di download completato. Con l’aiuto di un client smtp è possibile configurare trasmission per inviare una notifica email all’occorrenza.

A download completato di un singolo torrent è possibile avviarne automaticamente uno tra quelli messi in pausa.

E’ necessaria l’installazione di ulteriori due pacchetti: transmission-remote (un client testuale capace di comunicare con il transmission-daemon) e msmtp (un MTA per gestire l’invio della notifica).

Si entra nel router via ssh, e si installla i pacchetti:

opkg update; opkg install transmission-remote msmtp

Si crea e rende eseguibile lo script /root/endremote.sh:

#!/bin/sh

transmission-remote -l |grep 100% |tail -n 1 > /tmp/data
TORRENT=`transmission-remote -l |grep 100% |awk '{print $1}'`
transmission-remote -t $TORRENT --move /mnt/usb/download/
transmission-remote -t $TORRENT -r

TORRENT=`transmission-remote -l |grep -v ETA |grep -v Sum: |grep -v Done |tail -n 1 |awk '{print $1}'`
transmission-remote -t $TORRENT -s

Dunque si aggiorni il file /etc/msmtprc secondo le proprie necessità, ad esempio:

account default

host smtp.gmail.com
port 587
auth on
user my_username@gmail.com
password my_password

auto_from off
from kozlic

tls on
tls_starttls on
tls_certcheck off

logfile
syslog LOG_MAIL

Quindi un ultima modifica al file /etc/config/transmission per abilitare l’esecuzione dello script:

option script_torrent_done_enabled true
option script_torrent_done_filename '/root/endtorrent.sh'

Abilitare il controllo remoto del demone transmission

Supponendo che la connessione internet si appoggi su un ip pubblico (altrimenti può essere necessario configurare un tunnel), seguendo la guida http://wiki.openwrt.org/doc/howto/ddns.client è possibile associare allo stesso ip un nome a dominio, in modo che il router possa essere facilmente raggiunto da remoto. Si suppone dunque che il router è raggiungibile al dominio pippo.dyndns.org.

Per motivi di sicurezza si preferisce evitare di aprire porte standard sull’ip pubblico. Inoltre, per maggiore sicurezza si predilige permettere il collegamento remoto al router solamente tramite l’accesso ssh su un porta non standard (magari abilitando anche la sola autenticazione a doppia chiave). E’ oppurtuno quindi accedere al file di configurazione dei dropbear (/etc/config/dropbear) avendo cura di modificare la porta di ascolto (ad esempio 5000).

Si metta in ascolto il server ssh sull’interfaccia wan (ip pubblico). Le istruzioni da eseguire sono disponibili alla pagina http://wiki.openwrt.org/oldwiki/dropbearpublickeyauthenticat…

A questo punto dovrebbe essere possibile accedere da remoto al server ssh sulla fonera. E’ possibile verificare la corretta configurazione digitanto da shell il seguente comando:

ssh root@pippo.dyndns.org -p 5000

Android, client ssh e transmission

A questo punto è possibile scaricare le applicazioni necessarie sul vostro smarphone android. In particolare si consiglia l’installazione del client ssh ConnectBot, il quale deve essere configurato per:

  • accedere al server ssh della fonera all’indirizzo root@pippo.dyndns.org:5000,
  • creare il port forwarding tra la porta remota 9091 ed (ad esempio) l’indirizzo locale 127.0.0.1:10000

Successivamente, è possibile installare il gestore per demoni torrent remoti Torrent-FU, il quale deve essere configurato per comunicare con l’indirizzo locale 127.0.0.1:10000, cioè il il demone transmission in remoto sulla fonera.

About these ads

Un pensiero su “Transmission su openwrt, torrent da android via tunnel ssh

  1. A motivating discussion is definitely worth comment. I do believe
    that you need to publish more about this subject, it may not be a taboo subject but usually folks don’t discuss these subjects. To the next! Cheers!!

non scrivere cagate più grosse delle mie plz

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...