Qualche giorno fa avevo detto che mi serviva un downloader in stile jDownloader.
Quest’ultimo è ottimo, però ha due grossi problemi: è pesante e necessita di X.Org o un altro server X su Linux.
Così mi serviva un’alternativa le cui caratteristiche dovevano essere queste:
- Ovviamente funzionare su Linux (il muletto ha Debian 😉 )
- Essere più leggero di jDownloader
- Possibilmente essere software libero
- Non aver bisogno di un server X attivo
- Possibilmente non essere scritto in Java
Inizialmente stavo pensando di scrivermene uno io, però sarebbe stato difficile. Per la parte dell’interfaccia mi sarei accontentato, però mi sarebbe stata sicuramente utile la funzione di decodifica captcha automatica, troppo difficile per me.
Google mi ha aiutato: immediatamente mi ha dato ciò che cercavo: pyLoad.
Mi è subito parso buono: è multipiattaforma, è così leggero da funzionare anche sui router, è rilasciato sotto la GPL. È multi interfaccia: ha sia l’interfaccia a linea di comando, sia una grafica sia un’interfaccia web che volendo si può dotare di SSL. In più, si capisce subito dal nome, è scritto in python.
L’installazione è molto, molto facile.
Se usate Debian non potete usare il deb, perché è fatto per Ubuntu, inoltre vi vorrebbe installare tutte le dipendenze facoltative, quindi installiamolo con il file zip.
Però prima di tutto installiamo le dipendenze:
apt-get install python-pycurl python-crypto unzip
Il primo pacchetto serve perché pyload usa la libreria cURL per scaricare i file, il secondo è opzionale e serve solo se volete usare i file contenitore come il DLC di jDownloader. Unzip invece è necessario per estrarre pyload. Se avete già il software adatto a tale scopo, potete fare a meno di scaricarlo.
Inoltre vi consiglio di usare un utente diverso dal vostro e soprattutto diverso da root per pyload. Io per esempio con molta fantasia ho creato un utente “server” la cui home directory è in /home/server
.
Io ho estratto lì il file e visto che ho impedito che server potesse fare il login al muletto, mi sono collegato come root in SSH e poi ho dato su server
in modo da diventare l’utente server e poter dare velocemente i permessi come quest’utente ai file che andremo a estrarre.
Ora possiamo passare alla pratica.
cd /home/server # o dove volete installarlo wget -O pyload.zip http://get.pyload.org/get/src/ unzip pyload.zip rm pyload.zip ./pyload/pyLoadCore.py
Vi si sarà aperto il setup di pyLoad. È veramente semplice, in due minuti lo si completa. Potete benissimo lasciare tutte le opzioni di default. Magari cambiate la directory dei download in una più generale e ricordatevi di abilitare l’interfaccia web.
Per fare una prova se volete avviatelo: ./pyload/pyLoadCore.py
.
Connettetevi anche all’interfaccia web e vedrete che pulizia.
Se sarete soddisfatti come me, allora potrete creare uno script di init per avviarlo automaticamente.
Io ho riciclato quello di deluge. Scaricatelo in /etc/init.d/
come root. Se c’è qualcosa da modificare come i percorsi, modificateli nelle prime righe.
Dopo serve anche creare il file delle impostazioni per il demone (/etc/defaults/pyload
) con il seguente contenuto:
# Configuration for /etc/init.d/pyload # The init.d script will only run if this variable non-empty. PYLOAD_USER="server" # Cambiatelo con il vostro # Should we run at startup? RUN_AT_STARTUP="YES"
Dopo date questi commenti per sistemare i file e avviare di nuovo pyLoad.
chmod 755 /etc/init.d/pyload update-rc.d pyload defaults /etc/init.d/pyload start
Et voilà, finito.
25 commenti
Perchè hai creato un nuovo utente per usare pyLoad?
In realtà il nuovo utente l'avevo creato in generale per tenere staccate le sue autorizzazioni dalle mie. Anche pyLoad non mi piace che venga eseguito come se fossi io quello che lo esegue.
Ciao mi dici dove trovo lo script per farlo avviare in automatico all'accensione?
C'è scritto verso la fine, dove parla del demone di pyLoad (/etc/dafaults/pyload). Precisamente in queste righe:
Scusa se ti rompo ancora ☹️ ma non non ho capito, mi spieghi passo passo…
Ciao, scusa ma ho visto solo adesso di aver scritto attacha anziché attachs nell'URL dello script 😈
Comunque, fai in modo di avere una shell di root sulla macchina di destinazione (per esempio con SSH), quindi scarica questo file: http://www.vdfn.altervista.org/fp-content/attachs/pyload in /etc/init.d/pyload. Volendo puoi usare wget:
Successivamente apri il file appena creato e cerchi la linea con scritto DAEMON=/home/server/…. (dovrebbe essere circa la linea 20) e la modifichi col percorso del tuo file di pyLoad.
Quindi crei il file /etc/defaults/pyload sempre da root con all'interno il penultimo listato di codice dell'articolo. Ricordati di cambiare l'username dell'utente con cui fai girare pyLoad.
Infine dai i comandi dell'ultimo listato di codice dell'articolo per far avviare durante l'init pyLoad e avviarlo in questo momento. Se hai ancora difficoltà dimmi pure 😉
Ciao!
afferrato ti faccio sapere in mattinata grazie mille (speriamo bene)… 😉
grazie mille funziona 😉
Ciao io ho provato a fare come scritto ma pyload non mi si avvia automaticamente postresti aiutarmi?fammi sapere cosa ti serve per verificare, grazie!
Ciao, hai sistemato i percorsi?
Ciao si è tutto apposto, scusami il servizio si avviava solo che dovevo aspettare qualche secondo in più..perchè la pagina web non si caricava subito, e pensavo che non funzionasse lo script , invece è tutto ok!
ciao….
senti io ho installato e configurato deluge come daemon e mi funziona lla perfezione….ho seguito il tuo consiglio e ho fatto lo stesso per pyload ma quando lo faccio partire da pyLoadCore.py si avvia e lo raggiungo dall'interfaccia web ma dopo che lo faccio partire come daemon (attraverso lo script), mi dice che viene avviato ma non riesco a raggiungerlo dall'interfaccia…..ho controllato la conf di pyload in tutti e due i casi ed è uguale….
Ciao, hai cambiato i vari percorsi e utenti nello script per demonizzarlo?
Mi sa tanto che magari stai usando due utenti diversi e quello del demone non può accedere alla configurazione del programma, però non ne sono sicuro.
Prima di demonizzarlo hai chiuso l'altro?
Che porta stai usando? Ti ricordo che sotto la 1024 occorre essere root.
Per caso ti dà dei commenti particolari?
Non mi ricordo più se crea i log oppure no…
Intanto vediamo se così risolviamo il problema, altrimenti proviamo ad aggiungere un file di log e vedere se troviamo il problema.
ciao…
intanto grazie della veloce risposta….il problema era l'user…, ma adesso il problema è un altro, ovvero, all'avvio del sistema cercando di raggiungere il demone dall'intefaccia web non ricevo risposta, segno che il demone non è partito al boot…avviandolo con /etc/init.d/pyload start poi lo raggiungo senza problemi dall'interfaccia.
Ciao, hai dato
da root?
Questo comando serve per impostare l'avvio automatico.
Io ho sempre usato quello ma in realtà non è detto che sia giusto perché è da tempo che non aggiungo uno script all'avvio e ogni tanto cambiano i sistemi 😊
Se non è quello contattami ancora.
Ciao!
ciao piero….
è lo stesso comando che ho usato per deluge….e con quello nessun problema ma per pyload…..non va a meno che non lo faccia partire manualmente dopo l'avvio..
Ciao,
mi sono accorto che nel blocco di commenti sono rimasti dei rimandi a deluge.
Io non ho mai usato i due programmi insieme, magari il problema è quello.
Il sistema di avvio basato su dipendenze infatti legge quel blocco, perciò magari legge due volte deluge e ignora lo script.
Se così funziona me lo fai sapere, così dopo correggo lo script 😊
Ho aggiornato lo stesso lo script 😊 .
ciao Piero….mi dispiace rompere…..ma li avevo già cambiati da me i commenti dello script…nulla da fare…
Non sai per caso darmi alcun indizio, non c'è nessun log?
Sei sicuro che non ci siano problemi tipo con Deluge?
C'è pyload nelle directory /etc/rc2.d o /etc/rd3.d? Se sì qual è il nome preciso?
ciao piero….
allora…in rc0.d i nomi sono rispettivamente k01deluge-daemon e k01pyload e così anche in rc1.d, mentre da rc2.d al rc6.d i nomi sono s16deluge-daemon e s16pyload, e al rc6.d di nuovo k01deluge-daemon e k01pylload.
Ciao,
i k01 etc sono a posto, perché a quei runlevel devono essere chiusi quei demoni.
Gli altri sono a posto che ci sia una “s” perché devono essere invece avviati.
Prova a dare
Dovrebbe venirti fuori una cosa del genere:
Il che significa che all'avvio chiama effettivamente lo script di pyload.
L'unica cosa che mi viene in mente è che il link sia errato…
Altrimenti bisogna rifare lo script.
fatto….identico a come lo hai postato…..
rifare lo script in che senso scusa…
ninte ho provato ad inserire uno script in /etc/init.d/ più semplice ma persiste lo stesso problema….all'avvio non lo raggiungo dall'interfaccia….facendolo partire manualmente si….
non capisco se il demone si avvia realmente anche all'avvio e magari è un problema di interfaccia….
non so….
A questo punto bisogna assolutamente controllare in /var/log/daemon.log…
Prova a darci un'occhiata, magari ci sono dei riferimenti di pyLoad.
Mi pare che in quel file ci siano i vari standard output dei demoni…