Installare pyLoad su NAS QNAP


pyLoad non è altro che una specie di Jdownloader ( ossia un gestore di download ) scritto in python. La sua più grande forza è la versatilità, è infatti installabile su Windows, Mac e Linux, quest'ultimo ci permette di installarlo anche su Android, su router e su NAS ( nel caso specifico un QNAP TS-119P+ ).

DISCLAIMER: La guida seguente ha un intento puramente didattico, da per scontato la conoscenza dei comandi base e dell'utilizzo di un client SSH. Non mi prendo quindi nessuna responsabilità nel caso di danneggiamento dell'apparato o della perdita di dati accidentale.

PREREQUISITI: Optware da QPKG, SSH abilitato ed un consiglio: leggete tutto prima di cimentarvi. 😀 Ricordo inoltre che su NAS aventi più bay la cartella di mount cambia, nel mio caso ad esempio questa è /share/HDA_DATA.

NOTA: Se volete accedere alla cartella dei file scaricati da pyLoad tramite FTP o web file manager dovreste far puntare il parametro "configdir" ad una cartella condivisa. Ad esempio la cartella Download. Oppure se preferite potete crearne una ad-hoc.

NOTA: Potete integrare questa guida con questo post, in cui si spiega come effettuare l'aggiornamento della TIP versione da Mercurial. L'installazione manuale della versione 0.4.5 credo sia solo per i smanettoni, dato che ormai esiste la versione QPKG già pronta.

Per prima cosa procuriamoci un client SSH, tra i più utilizzati e più semplici troviamo putty e kitty. Collegatevi all'indirizzo IP del vostro NAS ( nel mio caso era 192.168.2.5 ) ed ora si comincia.

Come primo comando date:

$ ipkg update & ipkg install nano

Questo ci permetterà di editare facilmente i file di testo, se ce ne fosse bisogno, senza andare fuori di testa nell'utilizzare vi. Ora installiamo le dipendenze di pyLoad.

$ ipkg install python py25-crypto py25-curl libcurl py25-openssl py25-django tesseract-ocr unzip sqlite wget-ssl py25-pil unrar ossp-js

Ed ora scarichiamo i sorgenti. A questo indirizzo potete consultare i download possibili.

$ cd /opt/
$ wget --no-check-certificate https://bitbucket.org/spoob/pyload/get/v0.4.5.tar.gz
$ tar -xzf v0.4.5.tar.gz
$ rm v0.4.5.tar.gz

Se volete scaricare la versione TIP, chiamiamola la versione dev ( io uso questa ) basta che scriviate:

$ wget --no-check-certificate https://bitbucket.org/spoob/pyload/get/tip.tar.gz

al posto di:

$ wget --no-check-certificate https://bitbucket.org/spoob/pyload/get/v0.4.5.tar.gz

Per la tip version ho scritto un post a parte, che spiega come reperire i sorgenti tramite Mercurial. Con questo strumento potremmo sempre aggiornare pyLoad all'ultima revision senza sbatterci tanto. Se volete la tip io consiglio questo metodo.
Io comunque seguo i path della versione 0.4.5 e non della tip, ovviamente i path varieranno a seconda della versione scaricata. Ora impostiamo la cartella di default e diamo i seguenti comandi:

$ cd /opt/spoob-pyload-73cb51958a1d/
$ python pyLoadCore.py --changedir --configdir=/opt/pyload

Ora procediamo con l'installazione.

$ python pyLoadCore.py -s

L'installer vi chiederà di configurare passo dopo passo le configurazioni del software, per facilitarvi vi posto l'echo completo:

Choose your Language / Wähle deine Sprache ([en], de, it, pl, fr, cs, es): it

Benvenuto nell'Assistente di Configurazione di pyLoad.
Il setup controllerà il tuo sistema e creerà una configurazione di base per avviare pyLoad.

Il valore tra le parentesi quadre [] è sempre il valore di default,
nel caso in cui non vuoi cambiare impostazione o non sei sicuro su cosa scegliere, premi semplicemente Invio.
Ricorda: Puoi sempre eseguire questo assistente con i parametri --setup o -s, quando avvii pyLoadCore.
Se hai qualche problema con questo assistente premi CRTL+C,
per annullare e non farlo partire più automaticamente con pyLoadCore.

Quando sei pronto per la verifica del sistema premi Invio.

## Verifica del Sistema ##
Versione di Python: OK
pycurl: OK
sqlite3: OK

pycrypto: OK
py-OpenSSL: OK

py-imaging: OK
tesseract: OK

PyQt4: mancante

jinja2: OK
beaker: OK
motore JS: OK

Verifica del sistema finita, premi Invio per vedere il report di stato.

## Stato ##

Funzioni disponibili: decrittografia contenitore, connessione ssl, decrittografia automatica captcha, Interfaccia web, Click'N'Load esteso

Continua con il setup? ([y]/n): y

Do you want to change the config path? Current is /share/HDA_DATA/.qpkg/Optware/spoob
Se si utilizza pyLoad su un server o la partizione principale si trova su una memoria flash interna potrebbe essere una buona idea cambiarla.
Cambiare il percorso della configurazione? (y/[n]): n

Do you want to configure login data and basic settings?
E' consigliato per il primo avvio.
Fai la configurazione di base? ([y]/n): y

## Setup Base ##

The following logindata is valid for CLI, GUI and webinterface.
Nome utente [User]: admin
Password:
Password (di nuovo):

Lingua ([en], de, it, pl, es, cs, fr): it
Cartella di download [Downloads]:
Max download contemporanei [3]:
Usa la riconnessione? (y/[n]): n

Vuoi configurare l'ssl?
Configurare ssl? (y/[n]): y

## Setup SSL ##

Execute these commands from pyLoad config folder to make ssl certificates:

openssl genrsa -out ssl.key 1024
openssl req -new -key ssl.key -out ssl.csr
openssl req -days 36500 -x509 -key ssl.key -in ssl.csr > ssl.crt

Se hai finito e tutto quanto è andato bene, ora puoi attivare l'ssl.
Attivare SSL? ([y]/n): y

Vuoi configurare l'interrfaccia web?
Configurare l'interfaccia web? ([y]/n): y

## Setup dell'interfaccia web ##

Attivare l'interfaccia web? ([y]/n): y

Indirizzo di ascolto, se usi 127.0.0.1 o localhost, l'interfaccia web sarà accessibile soltanto localmente.
Indirizzo [0.0.0.0]:
Porta [8000]:

In some rare cases the builtin server is not working, if you notice problems with the webinterface
change the builtin server to the threaded one here.
Server ([builtin], threaded):

Installazione terminata con successo.
Premi Invio per uscire e riavviare pyLoad

Se volete attivare l'SSL dovrete aprire un'altra finestra di putty o kitty e dare quei 3 comandi openssl che l'installer vi suggerisce. A questo punto pyLoad è pronto per l'avvio:

$ python /opt/spoob-pyload-73cb51958a1d/pyLoadCore.py ( avvio da terminale )
$ python /opt/spoob-pyload-73cb51958a1d/pyLoadCore.py --daemon ( avvio come demone )
$ python /opt/spoob-pyload-73cb51958a1d/pyLoadCore.py --quit ( termina il processo )

L'interfaccia web è disponibile all'indirizzo del vostro QNAP e alla porta 8000 di default. Per semplicità facciamo un link simbolico che collega la cartella di download di pyLoad con la cartella Download del QNAP.

$ ln -s /opt/pyload/Downloads /share/HDA_DATA/Download/pyLoad

Io spero di aver scritto i path corretti. 😀 Io ho installato la versione tip e i file di configurazione sono in cartelle differenti. Ad ogni modo il procedimento è questo, prima di dare il comando controllate che il path sia corretto, tanto con la funzione di autocompletamento di Unix ci si mette 3 secondi 😛

AUTOSTART PYLOAD

Ora bisogna far si che pyLoad si avvii subito dopo dell'avvio del QNAP. Altrimenti ad ogni riavvio dovremmo collegarci tramite SSH e dare il comando d'avvio. Io ho provato diversi metodi ma solo questo che vi andrò a spiegare mi funziona correttamente.
Diamo questo comando:

$ nano /etc/init.d/Optware.sh

Troviamo la stringa /bin/echo "Enable Optware/ipkg" e scrollando qualche riga più in giù troviamo ;; e, a capo, stop). Prima dei ;; andremo a scrivere:

/share/HDA_DATA/.qpkg/Optware/bin/python /share/HDA_DATA/.qpkg/Optware/spoob-pyload-73cb51958a1d/pyLoadCore.py --daemon 2>/tmp/pyLoad.log

Ora CTRL+X, Yes e Invio. Salvato questo file, riavviate il QNAP per vedere se al riavvio successivo troverete pyLoad attivo.

Attenzione la parte della stringa qui sopra  "spoob-pyload-73cb51958a1d" può cambiare, a seconda della versione scaricata. Basterà sostituirla con il nome della cartella in cui è contenuto lo script d'avvio ( pyLoacCore.py ).

Ho notato che pyLoad ci mette comunque un po' ad attivarsi, attendete quindi 1-2 minuti al riavvio successivo ( io nella fretta pensavo che non andasse, invece bastava solo aspettare 😉 ).
Oltre a questo ho notato che con Optware abilitato la spia di accensione dei QNAP lampeggia tra rosso e verde, normalmente significherebbe un problema, in questo caso però basta attendere qualche minuto in modo da far caricare tutto il necessario al NAS.

Buon download 😉

P.S.
Per controllare pyLoad da remoto esiste una Gui, disponibile anche per Windows. La trovare a questo indirizzo.