Hack di un Western Digital MyBook World Edition

Western Digital My Book WE
Western Digital My Book WE

Il Western Digital My Book World Edition si propone come NAS orientato al mercato home e small business, con delle feature interessanti come la possibilità di eseguire automaticamente il backup dei pc in rete, fare lo streaming di contenuti multimediali e consentire l’accesso ai dati che contiene da qualunque pc (o iPhone) connesso a internet.

Ma oltre a ciò che Western Digital offre ufficialmente, il My Book si presta ad una serie di modifiche che permettono di espanderne (senza neanche troppe difficoltà) le funzionalità.

Di seguito suppongo che il dispositivo sia già correttamente connesso in rete e con la configurazione base (wizard iniziale) eseguita.

Aggiornamento firmware

L’aggiornamento del firmware è necessario in quanto, oltre alle correzioni che porta, introduce anche la possibilità di accedere al nas in ssh.

Per eseguire l’aggiornamento accedere al nas via web e dopo aver fornito le credenziali di admin cliccare su Modalità avanzata.

Accesso alla modalità avanzata
Accesso alla modalità avanzata

Da qui scegliere Aggiorna.

Aggiorna
Aggiorna

Nella schermata che segue scegliere Controllare il nuovo firmware nella scheda Automatico per verificare se è disponibile un aggiornamento online. Se questo viene trovato, cliccare su Download.

Verifica versione e download
Verifica versione e download

Al termine del download si conferma l’aggiornamento cliccando su Aggiorna.

Aggiornamento fw in corso
Aggiornamento fw in corso

Accesso ssh

Per abilitare l’accesso in ssh accedere alla Modalità avanzata e cliccare su Avanzata nella schermata Sistema.

Nella pagina che segue mettere una spunta alla casella Attiva SSH e cliccare su invio.

Attiva SSH
Attiva SSH

Adesso è possibile accedere in SSH al dispositivo. Le credenziali di default sono:

Nome utente: root
Password: welc0me

Optware

Optware è un sistema di gestione di pacchetti che permette di installare in modo semplice sul NAS un gran numero di programmi precompilati. Per installarlo sul My Book è necessario eseguire i seguenti comandi (come utente root):

feed=http://ipkg.nslu2-linux.org/feeds/optware/cs05q1armel/cross/unstable
ipk_name=$(wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}')
wget $feed/$ipk_name
tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
mkdir -p /opt/etc/ipkg
echo "src armel http://ipkg.nslu2-linux.org/feeds/optware/cs05q1armel/cross/unstable" > /opt/etc/ipkg/armel-feed.conf
wget http://mybookworld.wikidot.com/local--files/optware/sort_dirname.tar.gz
tar xvfz sort_dirname.tar.gz -C /
Dato che le applicazioni verranno installate in /opt/bin è comodo aggiungere questa directory al PATH.
export PATH=$PATH:/opt/bin
Inoltre per far sì che questa modifica sia permanente è necessario modificare anche i file /root/.bashrc ed /etc/profile:
echo "export PATH=$PATH:/opt/bin" >> /root/.bashrc
echo "export PATH=$PATH:/opt/bin" >> /etc/profile

Adesso scarichiamo la lista dei pacchetti disponibili con:
/opt/bin/ipkg update

E’ possibile visualizzarla con:

/opt/bin/ipkg list

Per fare in modo che i programmi che lo prevedono siano avviati automaticamente, si deve procedere come segue:

il programma in questione deve avere lo script di start/stop in /opt/etc/init.d

deve essere creato il file /etc/init.d/S90optware che contiene:

#!/bin/sh
if [ -d /opt/etc/init.d ]; then
for f in /opt/etc/init.d/S* ; do
[ -x $f ] && $f start
done
fi

Il file deve essere eseguibile

chmod +x /etc/init.d/S90optware

Installazione di pyLoad

Le istruzioni che seguono provengono da http://mybookworld.wikidot.com/pyload

Per installare pyLoad si devono preventivamente installare dei pacchetti:
ipkg install python py25-crypto py25-curl py25-openssl py25-django libcurl sqlite tesseract-ocr
ipkg install unzip unrar screen nano wget-ssl py25-mercurial tesseract-ocr-lang-eng py25-pil

Successivamente spostarsi nella cartella /opt ed seguire:
cd /opt
/opt/bin/hg-py2.5 clone http://bitbucket.org/spoob/pyload
python /opt/pyload/module/web/manage.py syncdb

E’ necessario rispondere alle domande poste dallo script di configurazione. Al termine è possibile avviare pyLoad con il comando:
/opt/bin/screen -dmS pyload /opt/bin/python /opt/pyload/pyLoadCore.py
I file di configurazione principali sono /root/.pyload/pyload.conf e/root/.pyload/plugins.conf

L’interfaccia web è disponibile all’indirizzo http://indirizzo_mybook:8001

Interfaccia web pyLoad
Interfaccia web pyLoad

pyLoad può essere terminato con:
killall -9 python
Per far sì che venga avviato automaticamente al boot è necessario creare il file /opt/etc/init.d/S90pyload che contenga:

#!/bin/sh
prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
NAME="screen"
start() {
echo "Starting Service: $NAME"
cd /opt/pyload
/opt/bin/screen -dmS pyload /opt/bin/python pyLoadCore.py
}
stop() {
if [ -n "`pidof $NAME`" ]; then
echo "Stopping Service: $NAME"
killall $NAME 2> /dev/null
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 4
start
;;
*)
echo "Usage: $0 (start|stop|restart)"
exit 1
;;
esac
exit 0

Il file va reso eseguibile:
chmod +x /opt/etc/init.d/S90pyload

Riferimenti

9 Risposte a “Hack di un Western Digital MyBook World Edition”

  1. Ok grazie, l’ho installato e si avvia correttamente.
    Peccato che dopo avermi scaricato 9 archivi rar nonostante gli altri in coda si sia fermato
    anche riavviando il western digital più volte e cliccando sul pulsante di avvio download non succede nulla, semplicemente rimangono all’infinito in coda i file che voglio scaricare. A te è successo?

    Come posso fare per disinstallarlo in modo da riprovare a installarlo?

    un’altra cosa: i 9 file che mi ha scaricato dove me li mette? perchè nel disco non c’è ne traccia ma lo spazio rimane occupato

    1. Non mi è successa una cosa similie, a patto che i file fossero normalmente accessibili e scaricabili (dalla finestra “CODA” dovresti vedere ogni pacchetto in che stato è attualmente). Non credo sia un problema di installazione quanto di configurazione (puoi comunque rimuoverlo facilmente: il programma è completamente contenuto in /opt/pyload, quindi aprendo una connessione ssh con rm -Rf /opt/pyload lo rimuovi). Per verificare la configurazione accedi alla pagina relativa dalla pagina web di pyload (sulla destra c’è un pulsante “Configurazione”); nella pagina che ti si apre devi controllare sotto la scheda GENERALE e verificare che in da Menu > General sia indicata come cartella di scaricamento una cartella tra quelle condivise dal WD (io ad esempio ho messo /shares/Download). Se non hai modificato questa impostazione credo che i tuoi files siano rimasti sotto /opt/pyload/.pyload/download, accessibile solo con ssh. Altra impostazione che potrebbe esserti utile è quella di unrar. Vai nella scheda plugins e scegli Menu > Unrar. Io ho tolto il warning per low ram, l’ho attivato ed ho impostato che rimuova gli archivi una volta che li ha scompattati (lasciando invariate le altre impostazioni). Fammi sapere.

  2. perfetto, grazie mille
    il problema comunque era la cartella di download, in pratica salvavo i file nella partizione da 2 gb contenente i files di sistema
    difatti nel LOG mi dava il warning dello spazio su disco
    ora funziona tutto

    le altre impostazioni le applico subito

I commenti sono chiusi.