View Single Post
Old 13-11-2016, 20:28   #100
EdoFede
Member
 
L'Avatar di EdoFede
 
Iscritto dal: Jun 2001
Città: Bologna
Messaggi: 252
Ciao a tutti.

posto anche qua, visto che se ne parla.


Le varie procedure che ho trovato (che utilizzano il package spk.netzbaer.de e la connessione da my.jdownloader.org) hanno quasi tutte una falla di sicurezza allucinante,
ovvero fanno girare JDownloader con utenza root sul NAS!
Significa che, potenzialmente, JDownloader può fare qualsiasi cosa con qualsiasi file presente sul NAS (sia vostro, che di configurazione).
Avendo oltretutto una connessione aperta verso my.jdownloader.org, la trovo una falla di sicurezza enorme.

Onde evitare problemi, ho modificato il necessario per far girare tutto con una utenza dedicata e limitata.

Ho quindi scritto una procedura che riassume tutti i punti per fare da zero un setup di JDownloader su NAS Synology, evitando questa configurazione.
Spero sia gradita.

Ciao,
Edo



Guida "sicura" installazione JDownloader 2 Su NAS Synology tramite repository netzbaer.de

1) Registrarsi su my.jdownloader.org


2) Cambiare (almeno per l'installazione) la lingua di DSM in inglese, poiché il pacchetto non ha traduzioni italiane per la GUI di installazione.


3) Da Control panel > Users
Creare un nuovo utente "jdl" con permessi lettura/scrittura SOLO sulla share download
Va benissimo anche un altro nome, purché lo sostituiate anche nei comandi sotto


4) Da Control panel > Shared folder
Se non già presente, creare una nuova share dove verranno piazzati tutti i downloads fatti con JDownloader.
Nel mio caso, avevo già una share "download" che uso anche per Download Station.
Assegnare i permessi Read/Write per l'utente "jdl" (o come lo avete chiamato)


5) Aprire Package Center ed Installare Java8 e Perl (non sono sicuro che quest'ultimo serva, se riesco a fare una prova aggiorno il post)


6) Aprire Java 8 dalle applicazioni ed aggiornare Java (Upgrade Java) con istruzioni mostrate
E' sufficiente seguire il link "Java SE Downloads", scaricare il pacchetto aggiornato e caricarlo sul NAS
Nel mio caso (DS1815+), l'ultimo ad oggi è:
Codice:
jdk-8u112-linux-x64.tar.gz
Verificare la versione a seconda del NAS in vostro possesso.


7) Aprire Package Center ed aggiungere repository in Settings > Package Sources
Name: JDownloader
Location: https://spk.netzbaer.de/


8) Sotto categoria Community eseguire Refresh
ed installare JDownloader 2 (ad oggi, sembra installare la beta anche se si seleziona l'altro pacchetto)


9) Quando richiesto dalla procedura, inserire username e password di my.jdownloader.org ed impostare il path dove si vogliono depositare i downloads (la share creata prima)
Nel mio caso, ad esempio: /volume1/download/JDownloader


10) Dopo l'installazione, fermare il servizio da Package center (Action > Stop)


11) Collegarsi al NAS in SSH con utenza root (oppure con admin e poi fare "sudo su -" per operare come root)


12) Assegnare il proprietario ai files/paths di JDownloader con i seguenti comandi:
Codice:
chown jdl /var/log/JDownloader.log
chown -R jdl /volume1/@appstore/JDownloader
chown -R jdl /usr/syno/etc/packages/JDownloader
chown -R jdl /var/packages/JDownloader/etc/
13) Modificare lo script del servizio per far avviare il servizio con l'utente "jdl":
Codice:
/var/packages/JDownloader/scripts/start-stop-status
(come editor io ho usato vi, non so se ci sono altri text editor preinstallati...)


Cercare
Codice:
LOGFILE="/var/log/JDownloader.log"
Aggiungere sotto
Codice:
JDL_USER_LOGIN="jdl"
JDL_USER_SHELL="/bin/sh"

Cercare
Codice:
nohup ${JAVA_BIN} ${JAVA_OPTIONS} ${DAEMON} >>$LOGFILE 2>&1 &
Sostituire con
Codice:
#nohup ${JAVA_BIN} ${JAVA_OPTIONS} ${DAEMON} >>$LOGFILE 2>&1 &
su - $JDL_USER_LOGIN -s $JDL_USER_SHELL -c "nohup ${JAVA_BIN} ${JAVA_OPTIONS} ${DAEMON} >>$LOGFILE 2>&1 &"
N.B. il cancelletto prima della riga originale, per commentarla


Cercare
Codice:
            echo "$PACKAGE_NAME re-starting ..."
                        sleep 1
Sostituire con
Codice:
            echo "$PACKAGE_NAME re-starting ..."
                        sleep 3

14) Avviare il servizio da Package center (Action > Run)
Per monitorare l'avvio, prima di eseguire Run, da terminale SSH lanciate
Codice:
tail -f /var/log/JDownloader.log
Vedrete al volo eventuali errori.
Per chiudere, Ctrl+C


15) A pacchetto lanciato, verificare che stia girando con l'utenza corretta
Codice:
ps -ef |head -1 && ps -ef |grep JDownloader |grep -v grep
L'UID deve essere "jdl"


Nota: la connessione verso my.jdownloader.org può impiegare anche 2-3 minuti per instaurarsi. Se non funziona immediatamente, attendete qualche minuto e riprovate (facendo refresh dell'intera pagina), prima di pensare ad un problema.



Riepilogo Path e files di JDownloader:
Codice:
/usr/local/etc/logrotate.d/jd_rotate.conf
/usr/syno/etc/packages/JDownloader
/usr/syno/synoman/webman/3rdparty/JDownloader
/var/log/JDownloader.log
/var/packages/JDownloader
/volume1/@appstore/JDownloader

Problema estrazione automatica archivi RAR
Con l'occasione, segnalo anche questa soluzione al problema di JDownloader con i file compressi in formato RAR5:
https://board.jdownloader.org/showthread.php?t=71069

Si tratta di scaricare l'archivio Linux, scompattarlo e caricare i due files da qualche pare sul NAS,
dopo di che vanno spostati in
Codice:
/volume1/\@appstore/JDownloader/libs/
Attenzione, non vanno rinominati e non vanno eliminati i due archivi più vecchi. JDownloader si accorge da solo delle versioni nuove e le usa.

Applicare i permessi corretti:
Codice:
chown jdl /volume1/\@appstore/JDownloader/libs/sevenzipjbinding1509*
chmod 644 /volume1/\@appstore/JDownloader/libs/sevenzipjbinding1509*
Infine, riavviare JDownloader da Package Center
__________________
10% completato
EdoFede è offline   Rispondi citando il messaggio o parte di esso