Jump to content



WD MyBook World in a nutshell


Jaco

Recommended Posts

7jlytzpt0qe9kqsnvhcr_thumb.jpg

Με απλά λόγια ξεκινάω ως εξής, όποιος ασχολείται έστω και λίγο με linux και έχει 300... δεν νοείται να μην πάρει το MyBook World Edition με το Ethernet Interface...!!! Δεν αντιστάθηκα στον πειρασμό που είχα τόσο καιρό και το τελικά το πήρα σήμερα και βάλθηκα να του αλλάξω τα φώτα... και όπως λέει και το παλιοσείρι ο Voudas OC on the first boot, κάπως έτσι modα on the first boot :devil:

Το εργαλείο είναι απίστευτο και έχει πάρα πολλές δυνατότητες, αλλά ας τα πάρουμε από την αρχή...

To MyBook δεν είναι απλά ένας εξωτερικός δίσκος αλλά ένα ολόκληρο embedded σύστημα, δηλαδή ένας κανονικός υπολογιστής με το λειτουργικό του... Το 1TB που έχω στα χέρια μου, έχει τα παρακάτω χαρακτηριστικά...:

- CPU: ARM9 /26EJ-Sid(wb) [41069265] revision 5 (ARMv5TEJ) :devil:

- 32 MB SDRAM (από τα οποία σε default μετά από boot τα 29916ΚΒ είναι ελεύθερα)

- 1TB HD

- 1Gbit Ethernet

- SATA PHY 1.5 Gbps

- USB 2.0 Interface (για σύνδεση επιπλέον ext USB HD ή USB stick)

- PCI expansion interface port

- High Speed AES-128 encryption core

- Open Source Linux (kernel: 2.6.17.14)

Επίσης το MyBook είναι μια καθαρά backup λύση και μην περιμένετε ταχύτητα 1Gbit σε καμία περίπτωση (~10ΜΒ/sec)... διάβασα διάφορες κριτικές που το θάβουν για αυτό, αλλά αυτό δεν είναι σε καμία περίπτωση πρόβλημα, τουλάχιστον για μένα... είναι backup λύση και όχι enterprise server...! τους γρήγορους δίσκους τους βάζουμε μέσα στο pc και όχι έξω από αυτό... οπότε 1TB χώρος για backup και όλα όσα θα γίνουν παρακάτω είναι υπέρ του δέοντος... η ταχύτητα του είναι υπέρ αρκετή για να έχετε αποθηκευμένες ταινίες, μουσική και αρχεία και να κάνετε live streaming άνετα χωρίς το παραμικρό πρόβλημα...

Ότι ακολουθεί από εδώ και κάτω το κάνετε με δική σας ευθύνη... Εγώ απλά περιγράφω την διαδικασία που έκανα και δεν την συνιστώ σε κανένα αρχάριο καθώς η συσκευή χάνει την εγγύησή της και μπορεί να αχρηστευτεί...!!! :rip:

Σιγά τ'αυγά δηλαδή... δεν έχω καταλάβει γιατί πρέπει να το γράφουμε αυτό.... μάλλον επειδή το γράφουν και άλλοι...

Καλό είναι να υπάρχει και μια μικρή γνώση στο linux αλλά και να μην υπάρχει δεν είναι κάτι ιδιαίτερα δύσκολο (αφού μπόρεσα εγώ με τις ελάχιστες γνώσεις που έχω στο linux, τότε μπορεί οποιοσδήποτε)... :boxed:

Η εγκατάσταση είναι απλή... μια τροφοδοσία και ένα καλώδιο UTP από το MyBook στον Router... Μόλις το βάλουμε στην τροφοδοσία παίρνει περίπου 3 λεπτά για να boot-άρει (ίσως και λιγότερο)... Επειδή το λειτουργικό του έχει δικό του DHCP client παίρνει αυτόματα IP από τον Router αν υποστηρίζει DHCP διαφορετικά πρέπει να του δώσουμε εμείς μια IP από το πρόγραμμα που συνοδεύει την συσκευασία... Από εδώ και πέρα υποθέτουμε ότι υπάρχει DHCP... Από το http interface του router λοιπόν και αφού έχουμε συνδέσει το MyBook κάνουμε bind την MAC του MyBook με μια IP, έτσι ο Router να του δίνει μόνιμα αυτή ώστε να είναι static...

01wf9.th.png

02tz7.th.png

Υποθέτουμε ότι από εδώ και πέρα η ip του MyBook είναι 192.168.1.32

Για την ώρα ο μοναδικός τρόπος να συνδεθεί κανείς στο MyBook είναι μέσω του web interface του... γράφουμε στον web browser την ip του και πατάμε Enter... Μόλις ανοίξει το web interface θα ζητήσει ένα username και password τα default είναι:

Username = admin

Password = 123456

Περιεχόμενα...:

01. Device/Workgroup Names

02. Δημιουργία καινούργιου χρήστη

03. To πανηγύρι

04a. File System

04b. Εγκατάσταση winSCP

05. Απενεργοποίηση του Mionet

06. Εγκατάσταση προγραμμάτων

07. Rapidshare Client

08 .NO-IP

09 .Reboot & Shutdown

10. Web Server

11. Hardware Mod και serial port

12. Jaco's web interface

13. Transmission με Clutch Web Interface (από Daidalos)

Performance Benchmark

Μετά από τις μόντες και 1.5ΜB RAM περίπου ελεύθερη οι μέγιστοι ρυθμοί μεταγωγής είναι οι παρακάτω...:

Ethernet Link: 100MBps, τοπικά μέσω ADSL Router

MyBook: World II 1.0TB

Teracopy bufffer: 256KB

Running Services during test: εδώ, από ps aux

PC -> MyBook II 1TB

nbrjioirwdx9ys3g03af_thumb.png

MyBook -> PC

fhx4t4kd1ufohntre2ek_thumb.png

1. Device/Workgroup Names

Από το web interface διαλέγουμε το tab "General Setup" και στην συνέχεια την επιλογή "Update Device/Workgroup Names"... Εκεί δίνουμε ένα όνομα δικτύου στο MyBook (το άφησα ίδιο) και στην συνέχεια του δίνουμε ένα Workgroup name το οποίο είναι ίδιο με του τοπικού μας δικτύου (αν έχετε windows τότε, Start -> Control Panel -> System -> Computer Name και βλέπετε το Workgroup)... Αφού τελειώσουμε πατάμε "Update"...

05wz5.th.png

2. Δημιουργία καινούργιου χρήστη

Για να εκμεταλλευτούμε τις δυνατότητες του MyBook πρέπει να δημιουργήσουμε έναν χρήστη... Ο χρήστης αυτός χρειάζεται για να μπορούμε να συνδεθούμε με SSH μέσω ενός terminal στο linux του MyBook... To sshd (ο daemon του linux SSH) είναι ήδη ενεργοποιημένος στο MyBook αλλά πρέπει να δημιουργήσουμε ένα account και τα κλειδιά του... αυτό το κάνουμε δίνοντας στον browser την διεύθυνση:

http://192.168.1.32/auth/fs_userman.pl

Εκεί δίνουμε ένα καινούργιο username και ένα password και δίνουμε full rights στο account αυτό, όπως φαίνεται στην εικόνα...

c288t1xwxloybjx3ty8s_thumb.png

Στην συνέχεια πρέπει να δημιουργήσουμε κλειδιά για το SSH... Για να το κάνουμε αυτό δίνουμε στον browser την διεύθυνση:

http://192.168.1.32/auth/firmware_upgrade.pl?fwserver=www.geekoh.com/mybook/ssh1

Εκεί μας λέει ότι υπάρχει για εγκατάσταση ένα update... στην πραγματικότητα αυτό δεν ισχύει αλλά έτσι είναι η διαδικασία...

1ieda32p2pakze04pi7o_thumb.png

Όπως είπα ότι κάνετε είναι δική σας και μόνο ευθύνη..!!!

Σιγά τ'αυγά δηλαδή (part 2)...

Πατάτε τότε το κουμπί "Click to download and install" και αρχίζει η διαδικασία που ελπίζετε να τελειώσει σωστά... Η διαδικασία του update και του downloading δεν πρέπει να διακοπεί για κανένα λόγο...! Οπότε αν έχετε ένα UPS ή νιώθετε γκαντέμης συνδέστε το MyBook και τον router σας επάνω σε αυτό... Ακολουθήστε τις οδηγίες που λέει στον browser...

Στην αρχή θα σβήσει το led που σημαίνει ότι κατεβάζει το firmware, ύστερα θα αρχίσει να αναβοσβήνει για μερικά λεπτά (2-3 και λιγότερο ίσως) που σημαίνει ότι δημιουργεί τα κλειδιά για το SSH... τέλος θα μείνει μόνιμα αναμμένο που σημαίνει ότι τέλειωσε η διαδικασία... Από εδώ και πέρα αρχίζει το πανηγύρι...!!!

3. To πανηγύρι

Κατεβάζουμε το putty από την παρακάτω διεύθυνση...:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

Το putty είναι ένας Telnet και SSH client... αυτό που μας ενδιαφέρει είναι η SSH πλευρά της προσωπικότητάς του... Αφού κατέβει το τρέχουμε και φτιάχνουμε ένα καινούργιο session, δίνοντας ένα Host Name, επιλέγοντας Connection Type: SSH και δίνοντας ένα όνομα στο textbox "Saved Sessions" όπως φαίνεται στην παρακάτω εικόνα...

zeu0gn8ip7sagevfa32s_thumb.png

Στην συνέχεια πατάμε "Open" ή "Load" και ανοίγει το παρακάτω παράθυρο...

pjnzho6x3cqvweggqx0f_thumb.png

Στο login δίνουμε το username που φτιάξαμε προηγουμένως και το password... Αφού μας κάνει login βγαίνει η χοντρή... ε... το prompt...

[username@MyBookWorld /]$ 

γράφουμε σε αυτό...

$su -

Με την "su -" παίρνουμε rights του root... οπότε το prompt θα αλλάξει σε:

[root@ MyBookWorld ~]#

Αν θέλουμε να δούμε την περιγραφή του συστήματος τότε γράφουμε...:

#dmesg

Και μας αραδιάζει το kernel print buffer... nice... ;)

Για να είναι ενεργοποιημένο μόνιμα το SSHd μετά από κάθε reboot του MyBook τότε κάνουμε το εξής...:

#vi /etc/inittab

Τότε ανοίγει το παρακάτω παράθυρο...:

imx5xl82i89nhagrlbvc_thumb.png

Βάση της εικόνας: Πατάμε το πλήκτρο "j" μέχρι να φτάσουμε στην τελευταία γραμμή του "#Startup the system" region (κάτω από το "::sysinit:/sbin/swapon", βάση της παραπάνω εικόνα και μετά πατάμε το πλήκτρο "a" για να μπούμε σε input mode... ύστερα γράφουμε το παρακάτω..:

::sysinit:/usr/sbin/sshd

Και πατάμε ESC... Με την γραμμή λέμε στο λειτουργικό κάθε φορά που μπουτάρει να τρέχει και τον ssh daemon...

Τώρα θα πρέπει να δείχνει όπως παρακάτω...:

1rmx7uiohwu8cmfooi62_thumb.png

Αν όλα είναι σωστά πατάμε με την σειρά τα εξής πλήκτρα...: ":", "w", "q" και Enter... έτσι σώζονται οι αλλαγές στο inittab...

Αν κάτι δεν είναι σωστό πατάτε...: ":", "q", "!" και βγαίνει χωρίς να σώσει τίποτα στο αρχείο...

Μετά για επαλήθευση ξανατρέξτε το...:

[root@ MyBookWorld ~]# vi /etc/inittab

Και πρέπει να φαίνονται οι αλλαγές που έγιναν...

Manual για τον vi editor υπάρχει εδώ...: http://www.cs.fsu.edu/general/vimanual.html

Από εδώ και πέρα αν όλα πήγαν καλά ξεδιπλώνονται απίστευτες δυνατότητες...!!!

Υπάρχουν αρκετά πράγματα που μπορείτε να κάνετε από εδώ και πέρα... όπως να φτιάξετε ένα δικό σας http server, no-ip client, rapidshare downloader (!!!) και ότι άλλο σας έρθει...

Αντί για του vi μπορείτε να χρησιμοποιήσετε κάποιον άλλο editor ο οποίος να είναι πιο συμβατός και εύκολος όπως το nano...για να το κάνετε αυτό θα πρέπει να εγκαταστήσετε κάποια extra packages... ο τρόπος περιγράφεται παρακάτω...

4a. File System

Μπορείτε να έχετε απ'ευθείας πρόσβαση στα folders και αρχεία του συστήματος από το explorer ενός άλλου μηχανήματος, αλλά αν δεν κάνετε login θα έχετε μόνο read rights... π.χ. αν δώσετε στην address explorer (όχι internet explorer) το παρακάτω...:

\\192.168.1.32

Θα δείτε σε ποιους φακέλους έχετε πρόσβαση από τα windows για παράδειγμα... Αν θέλετε όμως να δημιουργήσετε άλλον ένα φάκελο δεν σας αφήνει γιατί δεν υπάρχουν τα δικαιώματα... οπότε για μπορείτε να έχετε πλήρη πρόσβαση σύνδεεστε με το putty σαν root και γράφετε στο prompt...:

#cd /shares/internal

και στην συνέχεια

#chmod -R 776 *

ή

#chmod -Rv 776 *

Για να βλέπετε την εξέλιξη της διαδικασίας...

4b. Εγκατάσταση WinSCP

Ο καλύτερος τρόπος για να έχετε πρόσβαση στους φακέλους και στα αρχεία του My Book τα οποία δεν είναι προσπελάσιμα είναι η χρήση του WinSCP... κανονικά θα έπρεπε να κάνετε login με το putty και στην συνέχεια αν θέλατε να μεταφέρετε αρχεία από οποιοδήποτε άλλο μέρος του συστήματος εκτός του /sheres/internal/PUBLIC που είναι shared και public θα έπρεπε πρώτα να μεταφέρετε τα αρχεία στο shared τμήμα του δίσκου με το putty και ύστερα να συνδεθείτε από το pc και να τα πάρετε και το αντίστροφο... αυτό δεν ισχύει αν εγκαταστήσετε ένα ftp server στο my book...

Υπάρχουν δυο λύσεις η μια είναι ο ftp server και η άλλη το OpenSSL... προτιμώ την δεύτερη γιατί χρειάζεται σίγουρα για να κατεβάζω από rapidshare, οπότε ένας ftp server είναι εγκατάσταση χωρίς λόγο... Όταν εγκαθίσταται το OpenSSL εγκαθιστεί από μόνο του ένα SFTP (Secure FTP) και έναν SCP (Secure Copy Protocol) server, οπότε δεν χρειάζεται η εγκατάσταση άλλου ftp server... υπάρχουν και τα θετικά του και τα αρνητικά του...

Η εγκατάσταση του OpenSSL γίνεται ως εξής (υπάρχει ξανά στον βήμα 7, αλλά αν την κάνετε τώρα δεν την επαναλαμβάνετε)...

#mkdir /tmp/giapetama

#cd /tmp/giapetama

#wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz

#tar -zxvf openssl-0.9.8g.tar.gz

#cd /tmp/giapetama/openssl-0.9.8g

#./config

#make

#make install

Μετά από αυτό κατεβάζετε το WinSCP από εδώ... και το κάνετε εγκατάσταση στο pc σας... αφού το τρέξετε εμφανίζεται το παρακάτω παράθυρο στο οποίο θα πρέπει να συμπληρώσετε τα αντίστοιχα δικά σας στοιχεία και την ip του my book σας... επιλέψτε SFTP και (Allow SCP Fallback), κάντε save το Session και ύστερα login...

bceftvdjhwks5tjk6jo8_thumb.png

Αφού κάνει σωστά login στην συνέχεια θα σας εμφανιστεί αυτό το παράθυρο...

cgpgb85z3u6f49ddx2o4_thumb.png

Υπάρχουν δυο view modes τα οποία τα επιλέγεται είτε στην εγκατάσταση είτε πριν το login στο Preferences -> Interface (Norton Commander ή Explorer Like στυλ)... αυτό που βλέπετε είναι το explorer like το οποίο το βρίσκω πολύ πιο εύχρηστο...

Με τον τρόπο αυτό μπορείτε να κάνετε drag 'n drop από το pc στο my book, έχει δικό του editor, να ανοίξετε terminal, να κάνετε synchronize αρχεία και φακέλους και ένα σωρό άλλα πράγματα τα οποία μπορείτε να δείτε στο site του WinSCP...

Για την ιστορία τώρα, το SFTP είναι πιο αργό από το FTP γιατί προσθέτει AES encryption πάνω σε ένα SSH tunnel με 1024-bit κλειδί...

2oz8xankevgv2hty6uvv_thumb.png

αυτό για ένα σημερινό pc δεν λέει κάτι καθώς δεν το επιβαρύνει ουσιαστικά, λόγο της μεγάλης του επεξεργαστικής ισχύς, από την άλλη όμως ο ταλαίπωρος ο ARM9 το καταλαβαίνει καλά γιατί τα λιγοστά του MIPS ήδη σηκώνουν πολλά... από την άλλη όμως δεν υπάρχει λόγος να μεταφέρουμε μεγάλα αρχεία στο partition του λειτουργικού, τα μεγάλα αρχεία τα μεταφέρουμε στο μεγάλο partition που είναι mount στο /shares/internal/PUBLIC... σε αυτό που βολεύει το γρήγορο browsing στο directory του λειτουργικού και αυτά που είπαμε παραπάνω...

Επίσης τo SCP το αποφεύγουμε καθότι είναι πολύ πιο αργό από το SFTP...

5. Απενεργοποίηση του Mionet

Για όσους κάνουν customιές με το MyBook δεν υπάρχει λόγος να τρέχουν το mionet... To mionet είναι ένα service το οποίο δημιουργεί ένα private network ανάμεσα στο MyBook και σε έναν υπολογιστή ο οποίος το έχει εγκατεστημένο... οπότε μπορείτε να κάνετε sharing στα αρχεία σας... αλλά αν μπορείς να έχεις ένα ftp server τότε απλά δεν το χρειάζεσαι γιατί τρώει περισσότερα resources... για να το εμποδίσετε να τρέχει κατά το boot του MyBook τότε σαν root δώστε στο prompt...:

vi /etc/init.d/post_network_start.sh

και με τον ίδιο τρόπο που περιέγραψα πιο πριν βάλτε μια αγκύλη στην γραμμή που γράφει "$SCRIPTS_PATH/mionet.sh start" όπως φαίνεται στην εικόνα παρακάτω και σώστε το με ":wq"...

wkfljh29wx6swoc26l5g_thumb.png

6. Εγκατάσταση προγραμμάτων

Από μια έρευνα που έκανα βρήκα διάφορες πληροφορίες για το MyBook και για τα προγράμματα που μπορείς να εγκαταστήσεις... Βασικά υπάρχουν δυο τρόποι... ο ένας είναι να εγκαταστήσετε έναν package manager όπως είναι ο Optware, ο οποίος έχει repositories με packages για embedded linux διανομές που ταιριάζουν με την διανομή του MyBook... Το καλό με τον packager είναι ότι παρέχει μεγάλη ευκολία καθότι ρυθμίζει μόνος του τα dependencies και είναι σαφώς γρηγορότερη η εγκατάσταση γιατί τα packages είναι pre-compiled για την διανομή Linux του MyBook και γενικά είναι ο ασφαλέστερος τρόπος... Για κάποιο λόγο όμως εμένα δεν μου δούλεψε σωστά γιατί τα pre-compiled αρχεία καθόντουσαν σε λάθος μέρος και δεν δούλευαν σωστά τα packages...

O άλλος τρόπος είναι να κάνετε make τα binaries για το MyBook... φυσικά είναι ο πιο δύσκολος τρόπος με τις μεγαλύτερες πιθανότητες να πάει κάτι στραβά, αλλά αξίζει το ρίσκο γιατί όταν δουλέψουν όλα σωστά το MyBook πετάει... Από εδώ και στο εξής οι εγκαταστάσεις θα γίνονται με τα binaries...

7. Rapidshare Client :banging: :banging::banging: :banging::banging: :banging::banging: :banging::banging: :banging:

Ναι ακριβώς... rapidshare downloader στο MyBook για όσο τουλάχιστον προλαβαίνουμε... δυστυχώς στο internet δεν βρήκα καμία επιτυχημένη προσπάθεια να κάνουν να δουλέψει το rapidshare με το MyBook, οπότε έπρεπε να το φτιάξω μόνος μου... εδώ υπάρχει ένα μεγάλο πρόβλημα που πρέπει να ξεπεραστεί... η wget του MyBook δεν υποστηρίζει HTTPS και SSL...!!! Τελικά η λύση που μου δούλεψε είναι η εξής...:

Για να υποστηρίζεται το SSL protocol χρειάζεται το OpenSSL του οποίου πρέπει να κατεβάσουμε τα binaries και να κάνουμε make...

Οπότε σαν root στο putty γράφουμε...:

#mkdir /tmp/giapetama

#cd /tmp/giapetama

#wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz

#tar -zxvf openssl-0.9.8g.tar.gz

#cd /tmp/giapetama/openssl-0.9.8g

#./config

#make

#make install

Μόνο το βήμα του make παίρνει πάνω από 1 ώρα...! Συνολικά του πήρε του ARM9 μιάμιση ώρα τελειώσει όλη την διαδικασία... οπότε υπομονή...

Αν όλα πήγαν καλά, τότε το επόμενο βήμα είναι η culr, που είναι αντίστοιχη της wget-ssl... όπως είπαμε η wget που υπάρχει ήδη είναι η κομμένη έκδοση της που δεν υποστηρίζει SSL... To πρόβλημα είναι ότι δεν μπορούμε να εγκαταστήσουμε την wget-ssl πάνω σε αυτή λόγο του ότι κάνει conflict, αλλά μπορούμε όμως να εγκαταστήσουμε την curl η οποία μας κάνει μια χαρά την δουλειά μας και ξεχνάμε τελείως την wget... Τα βήματα είναι τα παρακάτω...:

#mkdir /tmp/giapetama

#cd /tmp/giapetama

#wget http://curl.haxx.se/download/curl-7.18.0.tar.gz

#tar -zxvf curl-7.18.0.tar.gz

#cd /tmp/giapetama/curl-7.18.0

#./config

#make

#make install

#ln -s /usr/local/lib/libcurl.so.4 /lib/

Αν όλα έχουν πάει καλά τότε μετά από 40 λεπτά περίπου θα τελειώσει η διαδικασία οπότε κάντε τον σταυρό σας και συνεχίστε... τα επόμενα βήματα είναι πιο απλά και δεν απαιτούν χάπια για να συνεχίσετε...

Λοιπόν το rapidshare τώρα κάνει ένα authorization χρησιμοποιώντας το HTTPS για κάνετε login και από εκεί και πέρα η επικοινωνία γίνεται μέσω ενός SSL link και encryption... Το login μπορεί να γίνει με δυο τρόπους, ο ένας είναι με ένα cookie του rapidshare και άλλος είναι με την χρήση κάθε φορά του username και password... Οι διαφορές τους είναι ότι με την χρήση του cookie δίνετε μόνο μια φορά το user/pass για να κάνετε login και να το αποθηκεύσετε, οπότε το user/pass δεν ταξιδεύουν στο link κάθε φορά που κάνετε κάποιο transaction... επομένως συνδέεστε μόνο την πρώτη φορά για να κατεβάσετε το cookie και να το σώσετε και από εκεί και πέρα συνδέεστε χρησιμοποιώντας το για όλα τα downloads που θα ξανακάνετε μέχρι να λήξει το cookie ή να σβηστεί από εσάς... αν έχετε ήδη το cookie από τον browser σας στα windows μπορείτε να το χρησιμοποιήσετε (πχ C:\Documents and Settings\User\Cookies\xpusername@rapidshare[1].txt )... οπότε το κάνετε copy/paste σε ένα φάκελο που θα χρησιμοποιήσουμε αργότερα για το rapidshare...

Από την άλλη μπορούμε να χρησιμοποιούμε κάθε φορά το user/pass, αλλά την περίπτωση αυτή ούτε καν την συζητάω...

Οπότε φτιάχνουμε ένα φάκελο που θα τον ονομάσουμε "DOWNLOADS" μέσα στο PUBLIC που είναι ο default share φακελος για το MyBook...

Από τον explorer των windows πάμε στην διεύθυνση:

\\192.168.1.32\public

Και δημιουργούμε τον φάκελο DOWNLOADS... αυτό το κάνουμε από τα windows για να πάρει owner τον www-data χρήστη έτσι ώστε να μπορούμε να διαβάζουμε και να γράφουμε στο φάκελο αυτό από οποιοδήποτε remote χρήστη...

Στην συνέχεια πάλι από το putty ως root:

#cd /shares/internal/PUBLIC/DOWNLOADS/

#mkdir cookie

και κατεβάζουμε το cookie από το rapidshare χρησιμοποιώντας την curl

#curl -k --cookie-jar ./cookie/rapidshare --data "login=USERNAME&password=PASSWORD" https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi > /dev/null

Η παραπάνω εντολή σημαίνει συνδέσου στο παραπάνω https link κάνοντας post το username και το password σου, σώσε το cookie που θα σου επιστρέψει σε ένα φάκελο και την html σελίδα που θα επιστρέψει (όπως αν δίναμε το ίδιο link στον browser) στείλτην στην μαύρη τρύπα (= dev/null στο linux)...

gzixjty4p1omh0l78j7v_thumb.png

όπου USERNAME και PASSWORD τα δικά μας... χωρίς το -k διαμαρτύρεται η curl...

μπορούμε τώρα αν θέλουμε να δούμε και τα περιεχόμενα του cookie μας

#cat ./cookie/rapidshare

Στην συνέχεια κάνουμε μια δοκιμαστική πτήση με το cookie μας κατεβάζοντας ένα αρχείο... τα αποτέλεσμα σε εμένα είναι το παρακάτω...:

#curl -L -O -b ./cookie/rapidshare --url http://rapidshare.com/files/κάποιοlink.rar

t51vo6eivhqzmo73dzvl_thumb.png

p6q2aerxyhlhucia86mc_thumb.png

Μόλις καταφέραμε να μετατρέψουμε ένα κουτάκι σε rapidshare downloader...! Απλά κόλαση...

Τώρα μένει να κάνουμε την διαδικασία αυτοματοποιημένη... οπότε γράφουμε ένα script με το vi και γράφουμε τα παρακάτω...

#vi start


#!/bin/bash

for i in $(cat downloads.txt); do

curl -L -O -b ./cookie/rapidshare --url "$i"

done

και κάνουμε save το αρχείο με :wq

r0hqsa9e3ivrqrn0duns_thumb.png

μετά στο prompt..:

#chmod a+x start

jeukhlw68lqsjmjppi1g_thumb.png

για να το κάνουμε executable και τέλος...:

#vi downloads.txt

και το γεμίζουμε με τα αρχεία που θέλουμε... και το κάνουμε save... τώρα απλά προσθέτουμε ότι αρχεία θέλουμε να κατεβάσουμε στο "downloads.txt" και τρέχουμε το start από το prompt έτσι...:

#./start

Και η δουλειά γίνεται αυτόματα... ιδού και το αποτέλεσμα όταν τρέξει το "start" script με 7 links από rapidshare μέσα στο "downloads.txt"... :clap:

ynriao9o77sbbcmd9bjv_thumb.png

*Προσοχή: το αρχείο download.txt δεν πρέπει να το φτιάξουμε από τα windows...! Ο λόγος είναι ότι στα windows το Enter, δηλαδή η αλλαγή γραμμής είναι δυο χαρακτήρες (CR=Carriage Retun και LF=Line Feed), ενώ στο linux είναι μόνο ένας (LF)... επομένως το script δεν θα τρέχει αν βρίσκει τον CR χαρςακτήρα...! ή θα γράψω ένα utility για windows που θα σβήνει τους CR χαρακτήρες από ένα text αρχείο, γιατί η αλήθεια είναι ότι ένα notepad είναι σαφώς πιο εύχρηστο από το vi, ή θα ενσωματώσω στο script του start να αγνοεί τους CR χαρακτήρες που βρίσκει...

Τέλος το μόνο που χρειάζεται τώρα είναι ένας terminal multiplexer για να μπορεί η διαδικασία του downloading να συνεχίζεται και χωρίς να χρειάζεται να παραμένει ανοιχτός ο υπολογιστής, δηλαδή όταν κλείνει το session του putty... γι'αυτό θα χρειαστούμε την screen...

*Προσοχή στην παρακάτω wget, κάντε δεξί click, copy link και μην κάνετε copy/paste όλη την γραμμή γιατί το url δεν βγαίνει ολόκληρο αλλά με τελείες...

#mkdir /tmp/giapetama

#cd /tmp/giapetama

#wget http://ftp.uni-erlangen.de/pub/utilities/screen/screen-4.0.3.tar.gz

#tar zxvf screen-4.0.3.tar.gz

#cd /tmp/giapetama/screen-4.0.3.tar.gz

#./configure

#vi pty.c

με το vi ανοίγουμε το αρχείο pty.c για να κάνουμε exclude την γραμμή #38 η οποία γράφει : "#include strops.h" και το οποίο το κάνουμε "/* #include strops.h */" δηλαδή comment out... αυτό συμβαίνει γιατί το αρχείο strops.h δεν υπάρχει στο σύστημα και η make θα χτυπήσει και απ' ότι διάβασα δεν επιρρεάζει την screen στην περίπτωση του MyBook... μετά κάνουμε save με ":wq" γράφουμε...:

#make

#make install

#install -m 644 etc/etcscreenrc /etc/screenrc

#cp ./screen /bin

8 .NO-IP

Υπάρχουν δυο τρόποι να δουλέψει το no-ip ο ένας είναι να κοροϊδέψουμε τον no-ip server ότι είμαστε ένας δικός του client και ο άλλος είναι να εγκαταστήσουμε έναν client... ο πρώτος τρόπος γίνεται με την curl με της οποίας την βοήθεια μπορούμε να κάνουμε /GET request με το username και το password μας χρησιμοποιώντας ένα ψεύτικο User-Agent πχ τον DUC... στην συσκευή αυτή το είχα κάνει με αυτό τον τρόπο... επειδή όμως απ' ότι δοκίμασα o επίσημος client δεν τρώει πολλά resources τελικά μέχρι απόδειξη του αντιθέτου προτιμώ τον επίσημο DUC client poy δίνει η no-ip...

Η εγκατάσταση του DUC είναι και εδώ, αλλά για ευκολία με μερικές αλλαγές και εξηγήσεις την γράφω και παρακάτω...

Σαν root στο putty γράφουμε...:

#mkdir /tmp/giapetama

#cd /tmp/giapetama

#wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

#tar xzvf noip-duc-linux.tar.gz

#cd noip-2.1.7

#make

#make install

Η εγκατάσταση είναι πολύ γρήγορη και μόλις τελειώσει ξεκινάει ο auto-configurator στον οποίο θα πρέπει να δώσουμε τα στοιχεία του account μας στο no-ip... από κάτω έχω βάλει και μια εικόνα...

aqry96nu00oxkj39atev_thumb.png

Στην συνέχεια θα πρέπει να δημιουργήσουμε ένα script για την αυτόματη εκκίνηση του no-ip client κατά την το boot...

#cd /etc/init.d/

#vi noip


#!/bin/sh
# Description: Start / Stop No-IP service

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME="No-IP"
DESC="DNS Services"

case "$1" in
start)
echo "Starting $DESC: $NAME."
/usr/local/bin/noip2
/usr/local/bin/noip2 -S
echo " "
;;
stop)
echo -n "Stopping $DESC: $NAME"
killall noip2
echo "."
;;
restart)
$0 stop
$1 start
;;
show)
/usr/local/bin/noip2 -S
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|show}" >&2
exit 2
;;
esac

exit 0

και βγαίνουμε με :wq

#ls -a

Στην λίστα που μας βγάζει φαίνονται τα αρχεία του φακέλου "init.d" αυτά, όπως φαίνεται και στη παρακάτω εικόνα, ξεκινάνε με ένα prefix το οποίο είναι το "S" ή το "K" μαζί με κάποιον αριθμό, πχ "S25time" και "K25time"... το S25time σημαίνει ότι το time script θα τρέξει στην εκκίνηση και θα είναι 25ο στην σειρά και K25time σημαίνει ότι αυτό το script θα τρέξει στον τερματισμό και πάλι 25ο στην σειρά... οπότε θα πρέπει να να βρούμε μια κενή θέση για την εκκίνηση και τον τερματισμό... σε μένα για παράδειγμα από την φωτογραφία βλέπω ότι η S90 είναι κενή όπως επίσης και η Κ10... η θέση αρχή και τέλους έχει σημασία ανάλογα με το module που τρέχουμε... για παράδειγμα επειδή το no-ip service απαιτεί ύπαρξη δικτύου δεν πρέπει να τρέξει πριν το S30network, όπως επίσης θα πρέπει να κλείσει πριν από αυτό... αν λέω κάτι λάθος ας με διορθώσει κάποιος για να το διορθώσω και εγώ...

#chmod 0700 noip

#chown root:root noip

#ln -s noip S90noip

#ln -s noip K10noip

Τώρα ο no-ip client θα τρέχει αυτόματα κατά την εκκίνηση και θα κλείνει επίσης...

9 .Reboot & Shutdown

Από το putty μπορείτε να κάνετε shutdown και reboot το MyBook με τον σωστό τρόπο και όχι να το τραβάτε από την μπρίζα σαν τοστιέρα...

Σαν root στο terminal του putty...:

Reboot:

Για να κάνει άμεσα reboot...:

#reboot

Για να κάνει reboot σε t δευτερόλεπτα...:

#reboot -d 10

Για να κάνει force reboot (και να αποφύγει το init.d)

#reboot -f

Shutdown

Για να κλείσει...:

#poweroff

Για να κλείσει σε t δευτερόλεπτα...:

#poweroff -d 10

Για να κάνει force shutdown (και να αποφύγει το init.d)

#poweroff -f

Για να bootάρει ξανά ο δίσκος μετά από ένα shutdown πατάμε μια φορά το κουμπί που έχει μπροστά για 0.5 δευτερόλεπτο περίπου...

10. Web Server

Τώρα που έχουμε και το no-ip, άρα είναι σαν να έχουμε στατική IP είναι ώρα να στήσουμε ένα web server...!!! Το MyBook έχει ήδη ενεργοποιημένο ένα web server αλλά τον χρησιμοποιεί για το web interface του και καλό θα ήταν να μην τον χρησιμοποιήσουμε για τίποτε άλλο πέρα από αυτό... είπαμε παίζουμε ήδη με την φωτιά μην το παρακάνουμε... οπότε μπορούμε να εγκαταστήσουμε έναν άλλο web server ο οποίος λέγεται ΒΟΑ...

O boa είναι ένας πολύ γρήγορος web server και τρώει σχετικά λίγα resources... το καλό είναι ότι υπάρχει ήδη precompiled και δεν χρειάζεται να μπούμε στην επίπονη διαδικασία να τον εγκαταστήσουμε από τα binaries... τον δοκίμασα και παίζει καλά οπότε τον συνιστώ και η διαδικασία είναι η παρακάτω...

Σαν root στο putty γράφουμε...:

# wget http://ftp.penguin.cz/pub/users/mhi/mybook/boa.tar.gz -q -O - | tar xzvf - -C /

#mkdir /var/log/boa/

:wq

#vi /var/log/boa/access_log

:wq

#vi /etc/boa/boa_indexer

:wq

Τώρα φτιάξτε από τα windows έναν φάκελο μέσα στο PUBLIC και ονομάστε τον "WEB"... μέσα σε αυτόν τον φάκελο θα βρίσκονται όλα τα αρχεία του web server σας...

Φτιάξτε τώρα ένα φάκελο μέσα στον "WEB" που να λέγεται "public_html"...

Επίσης φτιάξτε ένα αρχείο μέσα στον φάκελο "WEB" που να λέγεται "index.htm" ανοίξτε το με έναν editor πχ notepad και γράψτε μέσα σε αυτό...

5nmzavfaenkmtyjvemqm.png

Για τους πιο έμπειρους δώστε μια δική σας σελίδα...

Τώρα πρέπει να κάνετε edit το boa.config... όσοι έχουν ιδέα από we servers θα ξέρουν τι να κάνουν... απλά προσοχή μην χρησιμοποιήσετε την πόρτα 80 γιατί εκεί την ακούει ήδη το web interface... ΕΔΩ είναι και τα directives για το boa.config...

Για όσους δεν καταλαβαίνουν τι πρέπει να γράψουν στο boa.conf, τότε αν έχετε ακολουθήσει αυτό το παράδειγμα, κάντε το εξής...

#mv /etc/boa/boa.conf /etc/boa/boa.conf.backup


#vi /etc/boa/boa.conf
Port 8888
ErrorLog /var/log/boa/error_log
AccessLog /var/log/boa/access_log
DocumentRoot /shares/internal/PUBLIC/WEB
UserDir public_html
DirectoryIndex index.htm
DirectoryMaker /etc/boa/boa_indexer
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /etc/mime.types
DefaultType text/plain
ScriptAlias /cgi-bin/ /usr/html/cgi-bin/

:wq

Πληροφορίες τι κάνει το καθένα παραπάνω θα βρείτε στο link με τα directives που έδωσα πιο πάνω...

Τώρα πρέπει να δημιουργήσουμε ένα αρχείο έτσι ώστε να φορτώνει και κλείνει αυτόματα ο web server μαζί με το MyBook...:


#vi /etc/init.d/S80boa
#!/bin/sh

boa_start() {
if [ -x /usr/sbin/boa ]; then
echo "Starting BOA webserver daemon "
/usr/sbin/boa -c /etc/boa/
fi
}

boa_stop() {
echo "Shuting down BOA webserver daemon "
killall boa 2> /dev/null
}

boa_restart() {
boa_stop
sleep 1
boa_start
}

case "$1" in
'start')
boa_start
;;
'stop')
boa_stop
;;
'restart')
boa_restart
;;
*)
echo "usage start|stop|restart"
esac

Σώζουμε με :wq και μετά το κάνουμε executable...:

#chmod +x /etc/init.d/S80boa

Είμαστε έτοιμοι για το πρώτο τεστ... τρέχουμε τον web server...

#boa -c /etc/boa/

Και τώρα από το browser μας στα windows πχ δίνουμε την διεύθυνση...:

http://192.168.1.32:8080/index.htm

και voila...:

a3nur6fdz5fus8iemuuv_thumb.png

Μόλις εγκαταστήσαμε τον δικό μας web server στο MyBook...!

Τώρα το μόνο που λείπει είναι να κάνουμε από τον router, redirect και forward την πόρτα 80 του router στην πόρτα 8080 και με ενεργοποιημένο το no-ip τότε μπορούμε να έχουμε πρόσβαση από παντού στο site μας, χρησιμοποιώντας για URL το host name μας από το ddns του no-ip... αν για παράδειγμα το host name που μου δίνει το no-ip είναι jaco.no-ip.org τότε για δω το site μου από οπουδήποτε γράφω στον browser...:

http://jaco.no-ip.org/index.htm

Hardware Mod και serial port

Όλα τα παραπάνω mods ήταν software και μπορούν να γίνουν χωρίς να ανοιχτεί το κουτί... πάμε τώρα στα πιο δύσκολα τα οποία απαιτούν άνοιγμα του κουτιού αποσυναρμολόγηση και κολλητήρι...!

Φυσικά δεν χρειάζεται να πω ότι αυτό το βήμα θα πρέπει να το αποφύγουν όσοι δεν ξέρουν πως να κάνουν κολλήσεις με ένα κολλητήρι...

O ARM9 του My Book έχει μια σειριακή COM θύρα την οποία μπορούμε να εκμεταλευτούμε για να αποκτήσουμε επαφή με τον έξω κόσμο... Αυτή την θύρα η Western Digital την χρησιμοποιεί για debugging και για να προγραμματίζει τον ARM9... στο Linux βρίσκεται εγκατεστημένη στα devices και είναι η /dev/ttyS0... για να την δείτε πατήστε στο prompt...:

#stty -a /dev/ttyS0

Τώρα θα αναρωτηθεί τι μπορεί να κάνει κάποιος με το σειριακό... λοιπόν πολλά... από το να έχει ένα VT100 terminal στο σειριακό και να μπορεί να συνδεθεί με μια οποιαδήποτε σειριακή συσκευή, μέχρι να φτιάξει μια συσκευή με άλλο microcontroller και πολλά relays η οποία να επικοινωνεί σειριακά με το MyBook και να μπορούμε να ανοιγο-κλείνουμε συσκευές... αυτό μπορεί να γίνει με άπειρους τρόπους και θα δείξω τις επόμενες μέρες μερικούς από αυτούς...

Το case του MyBook ανοιγει από δυο αυτάκια στο πάνω και κάτω μέρος του και είναι συρταρωτό... ανοίγει με κάποια δυσκολία λόγο ενός λάστιχου το οποίο υπάρχει για να "πακτώνει" το case... μόλις ανοίξει θα είναι κάπως έτσι...

Η παρακάτω εικόνα είναι δανική από εδώ γιατί δεν έβγαλα φωτό από το δικό μου πριν την modα...

mahc3h0b9okf81r6ruf2_thumb.jpg

Τώρα ακολουθούν οι δικές μου φωτό... για να βγει το pcb ξεβιδώνουμε τις 4 βίδες που το κρατάνε στο πλαστικό case και τις 3 βίδες του pcb της πρόσοψης... αν δεν ξεβιδώσει η πρόσοψη δεν βγαίνει το pcb...

e0h7wk69v0l86nnhukeq_thumb.jpg

Αφού αφαιρέσουμε το pcb και το γυρίσουμε από την κάτω πλευρά θα δούμε τη παρακάτω εικόνα...

zov3023rsnpu1zf92z9s_thumb.jpg

Στην παραπάνω εικόνα έχω αριθμήσει κάποια ενδιαφέροντα κομμάτια...

1. Είναι τα pads της σειριακής πόρτας στην οποία όμως τώρα βλέπετε τα καλώδια που έχω κολλήσει

2. USB port

3. Ethernet port

4. Τροφοδοσία

5. Sata connector

6. Gigabit Ethernet PHY

7. ARM9

Τα pin της σειριακής όπως κοιτάμε την φωτό έχουν την παρακάτω διάταξη...

4 1

3 2

και το καθένα είναι...:

1: V+ 3.3Volts

2: GND

3: RxD (RS232 - 3.3V TTL)

4: TxD (RS232 - 3.3V TTL)

Προσοχή:

Τα RS232 levels της σειριακής του υπολογιστή είναι από -15V έως +15V, ενώ του MyBook είναι από 0V έως 3.3V (TTL), οπότε δεν μπορεί να συνδεθεί απ' ευθείας η σειριακή του υπολογιστή στην σειριακή του MyBook... Γι' αυτό θα χρειαστεί ένας level converter όπως το ΜΑΧ3232 της Maxim... το κύκλωμά του είναι πολύ απλό αλλά θα χρειαστεί να φτιαχτεί ένα μικρό pcb του οποίου το σχηματικό είναι το παρακάτω...:

http://www.opencircuits.com/DB9_Serial_Connector

Σύντομα θα ανεβάσω και τα αρχεία από το Eagle PCB...

Υπάρχει ένας μικρός χώρος που βολεύει να τοποθετηθεί η extra πλακέτα στο σημείο που δείχνει η παρακάτω φωτό, γιατί από εκεί μπορεί να βγει το καλώδιο...

uwdelziel7rn7v65totw_thumb.jpg

Στην παραπάνω φωτό βλέπουμε την πλακέτα και τα σημεία που έχω σημειώσει είναι τα εξής...:

1: το καλώδιο RS232 που βγαίνει έξω από το κουτί από την τρύπα του Lock... το καλώδιο αυτό είναι ένα απλό σειριακό καλώδιο το οποίο αφού το έκοψα συνέδεσα την αρσενική άκρη στο pcb... τα pins του καλωδίου αυτού είναι τα ίδια με την έξοδο ενός pc... εδώ φαίνεται και το pinout...

2: τα καλώδια του σειριακού από το RS232 convertor... υπόψη πως το RS232 παίρνει τάση από την πλακέτα του MyBook, δηλαδή τα δυο καλώδια είναι για την τροφοδοσία και τα άλλα δυο τα Tx/Rx...

3: η σειριακή από την πλευρά του MyBook...

Θα πρέπει να κολλήσετε με το κολλητήρι τα καλώδια μόνοι σας από το pcb του MyBook στο serial level converter...

Στην παρακάτω εικόνα φαίνεται πως βγαίνει το καλώδιο έξω από το κουτί...

Ακολουθούν άλλες 2 εικόνες με την κατασκευή ολοκληρωμένη...

nm9yqv5sjkyoe32h8hbe_thumb.jpg

6hcy2ewzxdgyq0hd35qz_thumb.jpg

Τώρα πλέον μπορούμε να έχουμε ένα VT100 terminal στο MyBook και να μπορούμε να δούμε ότι δεν βλέπουμε από το putty όπως την διαδικασία του boot και του shutdown...

Ανοίγοντας ένα hyperterminal πήρα κάποια Logs που αφορούν το boot, reboot και shutdown και τα οποία είναι πολύ χρήσιμα γιατί δείχνουν τι φορτώνει ο ARM... παρακάτω είναι τα Logs...

- Boot Log

- Reboot Log

- Poweroff Log

To πρόβλημα τώρα είναι πως εάν θέλουμε να χρησιμοποιήσουμε το σειριακό για να ελέγχουμε ή να επικοινωνούμε με κάποια εξωτερική συσκευή θα πρέπει να απενεργοποιήσουμε το VT100 terminal του MyBook και να ελευθερώσουμε το σειριακό... αυτό ενέχει έναν κίνδυνο ο οποίος είναι ότι το σειριακό είναι η τελευταία δικλίδα ασφαλείας που μας εξασφαλίζει επικοινωνία με τον ARM σε περίπτωση που κάτι πάθει το Ethernet interface... αλλά έχουμε κάνει τόσα, εδώ θα κολλήσουμε...? :p

Για να ελευθερώσουμε το σειριακό πρέπει να πάμε στο inittab και να κάνουμε commet out την εντολή getty που παίρνει την κατοχή του ttyS0 (έτσι είναι δηλωμένο το serial port στο /dev)... οπότε σαν root στο terminal...:

#vi /etc/inittab

και βάζουμε μια δίεση (#) στην γραμμή που δείχνει η εικόνα...:

r6orzi1tbtnbf33ioq2l_thumb.png

Οπότε από το επόμενο boot στο σειριακό δεν θα υπάρχει πια VT100 monitor... οπότε η σειριακή είναι ελεύθερη να την κάνουμε ότι θέλουμε...

σε μερικές μέρες θα σας δείξω πως να ανοιγοκλείνεται συσκευές του σπιτιού σας συνδεόμενοι από μακριά στο web interface του MyBook, το οποίο θα μπορεί να παίζει τον ρόλο του διαχειριστή του σπιτιού σας, χωρίς να μένει κάποιος άλλος υπολογιστής ανοιχτός...

Jaco's web interface

Επειδή το web interface του MyBook είναι ψιλο-απαράδεκτο και επειδή έχω αρχίσει να προσθέτω ήδη ένα σωρό λειτουργίες, ξεκίνησα να φτιάχνω ένα δικό μου web interface το οποίο ήδη τρέχει δοκιμαστικά στον boa http server που εξήγησα πιο πάνω πως τον εγκαθιστούμε...

Η λειτουργία δεν είναι απλή και απαιτεί αρκετό προγραμματισμό και από την πλευρά του υπολογιστή και από την πλευρά του MyBook... επέλεξα το web interface να το γράψω σε Adobe Flex και ActionScript γιατί όπως θα δείτε από τις φωτογραφίες είναι αν μη τι άλλο εντυπωσιακό το αποτέλεσμα με πολλά flash animations και χρωματάκια... το web interface θα έχει χρώμα από linux και μάλιστα από ubuntu καθώς μου αρέσουν τα χρώματά του...

Το web intarface είναι στην ουσία ένα swf πρόγραμμα το οποίο το φορτώνει ο browser με ένα request από τον web server και στην συνέχεια το εκτελεί τοπικά... όλα τα δεδομένα από και μετά γίνονται με requests από το πρόγραμμα που τρέχει στον browser στο cgi-bin του MyBook και αυτό εκτελεί κάποια cgi scripts σε GCC και bash scripts που έγραψα για να δημιουργήσει τα δεδομένα και να τα κωδικοποιήσει σε XML format ώστε να τα στείλει...

Το αποτέλεσμα είναι το παρακάτω...:

kmxyvlwp0k0irhcvppzg_thumb.png

mep05dxa8qy3hyqxbeq9_thumb.png

v7yi766k9iprl8fq3cz6_thumb.png

Μέχρι στιγμής μπορώ να δω πληροφορίες του linux του MyBook όσων αφορά τα partitions (free/used κλπ), πληροφορίες για την free/used μνήμη, την IP και την MAC του Ethernet interface...

Συνέχεια έχει o έλεγχος μέσω του web interface του no-ip, των remote rapidshare downloads και.... ο αυτοματισμός του σπιτιού...! από το MyBook και το web interface που γράφω θα μπορείτε να διαχειρίζεστε διάφορες συσκευές του σπιτιού σας... γι' αυτό θα χρειαστούν κάποια εξωτερικά κυκλώματα βέβαια για τα οποία έχω ήδη κάνει κάποια ηλεκτρονικά σχέδια και με την πρώτη ευκαιρία που θα φτιάξω τα πρωτότυπα θα ποστάρω και τα σχέδιά τους... είναι στην ουσία ένας microcontroller ο οποίος ελέγχει το on/off σε κάποια ρελέ και επικοινωνεί με το MyBook μέσω TCP/IP... μην λέω άλλα όμως τα υπόλοιπα σε λίγο καιρό...

Το web interface είναι ακόμα σε beta κατάσταση, αλλά μέχρι στιγμής δουλεύει χωρίς κανένα πρόβλημα οπότε αύριο ή μεθαύριο θα δώσω και τα αρχεία που χρειάζεται να εγκαταστήσετε στο virtual directory και το cgi-bin του boa για εγκατασταθεί το καινούργιο web interface, το οποίο παρεμπιπτώντος δεν δημιουργεί conflict με το κανονικό web interface γιατί ακούει σε άλλη πόρτα...

Εγκατάσταση Web interface (Last update: 09/03/2008)

Είναι σημαντικό να κάνετε ακριβώς τα βήματα του 10... αν δεν υπάρχει ήδη ο φάκελος /usr/html/cgi-bin/ δημιουργήστε τον... ( #mkdir /usr/html/cgi-bin/ )

Έπειτα κατέβαζετε αυτό το αρχείο το οποίο περιέχει δυο φακέλους, τον "web_interface" και τον "cgi-bin"...

τα αρχεία του φακέλου web_interface πάνε στον παρακάτω φάκελο στο MyBook...

/shares/internal/PUBLIC/WEB/

ενώ τα αρχεία του φακέλου "cgi-bin" στον παρακάτω φάκελο του MyBook...:

/usr/html/cgi-bin/

μετά στον φάκελο αυτό από terminal δώσε...:

#chown -R root:root *

#chmod 775 *

#chmod +x *

Με τις ενολές αυτές τα κάνετε executable και είστε έτοιμοι...

στην συνέχεια δώστε στον browser...:

http://xxx.xxx.xxx.xxx:8888/index.html

οπου xxx η ip του MyBook και θα πρέπει να δείτε το web interface...

Μέχρι στιγμής το μόνο bug που έχω βρει είναι ότι στον FireFox 3.0b3 πετάει κάποιο error στο security του flashplayer, αλλά αυτό πρέπει να είναι bug του FF3... αν πατήσετε "Next" παίζει κανονικά... Σε Opera και IExplorer παίζει κανονικά...

Δυστηχώς δεν ειπάρχει άλλος ελεύθερος χρόνος για το interface οπότε κατά πάσα πιθανότητα θα μείνει σε αυτήν την έκδοση η οποία δουλεύει καλά... Όποιος θελήσει να ασχοληθεί παραπέρα ευχαρίστως να του δώσω τα αρχεία και τους κώδικες, με την προϋπόθεση όμως ότι είναι ενεργό μέλος του Lab (όχι 1 post και φύγαμε) και ότι αλλαγές κάνει να μου τις δώσει ώστε να μπουν εδώ και να το κατεβάσουν και άλλοι...

13. Transmission με Clutch Web Interface (από Daidalos)

Το transmission είναι ένα πολύ ελαφρύ και πλήρες torrent client. Με την βοήθεια του Clutch μπορούμε να το ελέγχουμε μέσω του Web Browser μας.

Παρακάτω παρουσιάζεται η διαδικασία εγκατάστασης του. Είναι αρκετά χρονοβόρα καθώς θέλει μεγάλη προετοιμασία πριν βάλουμε το κυρίως πρόγραμμα. Ακολουθείσθε τις οδηγίες με μεγάλη προσοχή.

1. Εγκατάσταση PHP

Καταρχήν χρειαζόμαστε το libxml για να δουλέψει το PHP.

Δημιουργούμε ένα φάκελο όπου θα βάλουμε όλα τα temp αρχεία μας.

#mkdir /tmp/myfiles

Και ξεκινάμε την εγκατάσταση.


# cd /tmp/myfiles/
# wget [URL]http://ftp.gnome.org/pub/gnome/sources/libxml2/2.6/libxml2-2.6.30.tar.gz[/URL]
# tar xfz libxml2-2.6.27.tar.gz
# cd libxml2-2.6.27
# ./configure
# make
# make install# cp /usr/local/lib/libxml2.so.2 /lib

Η όλη διαδικασία μου πήρε κάπου 45 λεπτά.

Στην συνέχεια κάνουμε install το PHP


# cd /tmp/myfiles/
# wget [URL]http://uk.php.net/distributions/php-5.2.5.tar.gz[/URL]
# tar xvfz php-5.2.5.tar.gz
# cd php-5.2.5
# ./configure -without-iconv -without-pear -enable-fastcgi -enable-discard-path
-enable-force-cgi-redirect -without-mysql -enable-sockets
[COLOR=red]το πάνω μια γραμμή.[/COLOR]
# make
# make install

H διαδικασία πήρε περίπου 1 ώρα.

Τώρα πρέπει να φτιάξουμε λίγο το config file του lighttpd.

# cd /etc/lighttpd

Κάνουμε ένα backup για καλό και για κακό.

# cp lighttpd.conf lighttpd.conf.backup

Ανοίγουμε το lighttpd.conf με το vi.

# vi lighttpd.conf

Αλλάζουμε το ακόλουθο:


“nasMaster.pl” => (( “socket” => “/tmp/lighttpd.fcgi.socket”,
“check-local” => “disable”,
))
)

Σε:


“nasMaster.pl” => (( “socket” => “/tmp/lighttpd.fcgi.socket”,
“check-local” => “disable”,
)),
“.php” => (( “bin-path” => “/usr/local/bin/php-cgi”,
“socket” => “/tmp/php.socket”,
))
)

Ακόμα αλλάζουμε το:


index-file.names = ( "nasMaster.pl" )

Σε:


index-file.names = ( "nasMaster.pl", "index.html", "index.php" )

Τέλος σώζουμε το αρχείο με ":wq" και κάνουμε restart το lighttpd.

# /etc/init.d/lighttpd.sh restart

Ας δοκιμάσουμε τώρα ότι δουλεύει το php με μια απλή ιστοσελίδα.


# cd /usr/www/lib
# mkdir test
# cd test
# vi index.php

Γράφουμε το εξής στο vi:

jpqp5sesx6o2tz5cl58m.png

Σώζουμε με ":wq" και βάζουμε στον browser μας: http://192.168.1.32/test/index.php . Αν όλα έχουν γίνει σωστά θα δούμε μια σελίδα με τις πληροφορίες του PHP.

Σειρά έχει το OpenSSL.


# cd /tmp/myfiles/
# wget [URL]http://www.openssl.org/source/openssl-0.9.8g.tar.gz[/URL]
# tar -xvf openssl-0.9.8g.tar.gz
# cd openssl-0.9.8g/
# ./Configure
# ./config
# make
# make install

H διαδικασία αυτή πήρε λίγο παραπάνω από μια ώρα για να ολοκληρωθεί.

Το τελευταίο που χρειαζόμαστε πριν εγκαταστήσουμε το Transmission είναι το Pkg-Config.


# cd /tmp/myfiles/
# wget [URL]http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz[/URL]
# tar -xvf pkg-config-0.23.tar.gz
# cd pkg-config-0.23/
# ./configure
# make
# make install

H διαδικασία αυτή πήρε περίπου 20 λεπτά. Μόλις ολοκληρωθεί τρέχουμε το εξής:


export PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig/

Τώρα είμαστε έτοιμοι να εγκαταστήσουμε το Transmission.


# wget [URL]http://download.m0k.org/transmission/files/transmission-1.05.tar.bz2[/URL]
# tar jxvf transmission-1.05.tar.bz2
# cd transmission-1.05
# ./configure --disable-gtk
# make
# make install

H διαδικασία πήρε περίπου 40 λεπτά.

Κάνουμε εγκατάσταση και το Clutch.


# cd /usr/www/lib/
# wget [URL]http://clutchbt.com/Files/Clutch-0.4.tar.gz[/URL]
# tar -xvf Clutch-0.4.tar.gz
# mv Clutch-0.4 Clutch
# chmod -R 777 Clutch/
# rm Clutch-0.4.tar.gz

Τώρα πρέπει να ρυθμίσουμε το Transmission και το Clutch.


# cd Clutch
# vi remote/data/socket.txt

Γράφουμε το εξής στο socket.txt:


/tmp/transmission.socket

Σώζουμε με ":wq".

Ξεκινάμε το daemon.


# transmission-daemon -s /tmp/transmission.socket

Στην συνέχεια φτιάχνουμε ένα symlink για να μπορέσουμε να ορίσουμε το Download Path.


# cd /root/.transmission/daemon
# ln -s /tmp/transmission.socket socket

Ορίζουμε ως download path το /shares/internal/PUBLIC (εκτός αν θέλουμε κάποιο άλλο).


# transmission-remote -f /shares/internal/PUBLIC/

Τώρα ορίζουμε μερικά δικαιώματα για να μπορέσουμε να τρέξουμε προσωρινά το Clutch.


# chmod -R 777 /tmp
# chmod -R 777 /usr/www/lib/Clutch/remote

Τώρα βάζουμε στον browser μας: http://192.168.1.32/Clutch και θα πρέπει να ανοίξει το Clutch. Προσοχή ο IE δεν υποστηρίζεται. Από τον Clutch ορίζουμε στα preferences πάλι το ίδιο download path και κλείνουμε την σελίδα.

Τώρα πρέπει να φτιάξουμε ένα script για να ξεκινά το Transmission και να δίνει τα κατάλληλα δικαιώματα ώστε να δουλεύει σωστά το Clutch.


# cd /etc/init.d
# vi transmission

Γράφουμε το παρακάτω:


#!/bin/sh
# Description: Start / Stop Transmission

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME="Transmission"
DESC="Torrent Daemon"

case "$1" in
start)
echo "Starting $DESC: $NAME."
transmission-daemon -s /tmp/transmission.socket
chmod -R 777 /tmp
chown -R www-data:www-data /tmp/transmission.socket
chmod -R 777 /tmp/transmission.socket
chmod -R 777 /shares/internal/PUBLIC
chmod -R 777 /usr/www/lib/Clutch/remote
transmission-remote -f /shares/internal/PUBLIC
echo " "
;;
stop)
echo -n "Stopping $DESC: $NAME"
killall transmission-daemon
echo " "
;;
esac
exit 0

Σώζουμε με ":wq".


#ls -a

Στην λίστα που μας εμφανίζεται βρίσκουμε μια ελεύθερη "S" θύρα και μια "K" πχ S80 και Κ15.


#chmod 0700 transmission
#chown root:root transmission
#ln -s transmission S80transmission
#ln -s transmission K15transmission

Τώρα το transmission ξεκινά αυτόματα με την εκκίνηση του MyBook.

Ανοίγουμε το Clutch (http://192.168.1.32/Clutch)κάνουμε τις απαραίτητες ρυθμίσεις και ξεκινάμε τα Downloads.

Χρήσιμα Links

Επίσης δείτε και τα παρακάτω links...:

http://mybookworld.wikidot.com/

http://stilltruth.com/2007/installing-gnu-screen-your-western-digital-mybook-world-edition

Αν όλα στραβώσουν και τα παίξει το MyBook, τότε CLICK ME... η ακόμα καλύτερα έναν βελτιωμένο οδηγό του lefgrter ΕΔΩ...

Link to comment
Share on other sites

  • Replies 252
  • Created
  • Last Reply

:T: +1 για sticky

Φιλε εισαι παιχτης, απλα απιστευτος.

Ακους εκει κανονικο υπολογιστικο συστημα το mybook, τι αλλο θα δουμε...

Δηλαδη του ριχνεις πανω εναν torrent client και εχεις 1ΤΒ(!!!!! ) κατεβαστηρι με 300 ευρω, απιστευτο.

Link to comment
Share on other sites

Thanks παιδιά... το εργαλείο αξίζει μέχρι το τελευταίο cent... βέβαια είναι πάρα πολύ τσιμπημένο και δεν το κοστολογώ πάνω από 80-100 ευρά...

Μόλις μπει ένας torrent client, no-ip, http server και magic packet θα είναι απίστευτη ικανοποίηση... :cool:

Το σημαντικό είναι ότι κάνει download με την 10άρα γραμμή μου στο full και ταυτόχρονα μπορώ να χειριστώ αρχεία μέσα σε αυτόν... επίσης άλλο καλό είναι ότι σε αντίθεση με τους κλασσικούς downloaders των windows μπορείς να χειριστείς την ταχύτητα και άλλες παραμέτρους... εν καιρό όταν αρχίσω να εμβαθύνω, γιατί τώρα απλά γρατζουνάω την επιφάνεια των δυνατωτήτων, του MyBook θα δώσω και scripts...

Ένα download box και server με μέγεθος μικρού βιβλίου και κατανάλωση λίγο περισσότερη από έναν σκληρό δίσκο...!!! :wassat:

Αρχική απάντηση από Voudas [Σήμερα, στις 11:55]

(και το έχω και κάθεται... βρε λες?)

:blink: :blink: πλάκα μου κάνεις έτσι...? θα πρέπει να συναντηθούμε να το κανονίσουμε... :innocent:
Link to comment
Share on other sites

Αρχική απάντηση από Jaco

:blink: :blink: πλάκα μου κάνεις έτσι...? θα πρέπει να συναντηθούμε να το κανονίσουμε... :innocent:

όχι ρα... έχω το 500ρη... για αυτοματοποιημένα backups από διάφορα pc εδώ...

πιο πολύ για το χαβαλέ το ψήνω... προφανώς δε με νοιάζει η κατανάλωση ρεύματος με όσα καίνε εδώ:p

Link to comment
Share on other sites

Αρχική απάντηση από Voudas

προφανώς δε με νοιάζει η κατανάλωση ρεύματος με όσα καίνε εδώ:p

Σου έχω modα να καίει περισσότερο και να σου κρατάει το μαγαζί και το ταμείο όσο λείπεις... :p

Link to comment
Share on other sites

Αρχική απάντηση από Jaco

Ότι ακολουθεί από εδώ και κάτω το κάνετε με δική σας ευθύνη Εγώ απλά περιγράφω την διαδικασία που έκανα και δεν την συνιστώ σε κανένα αρχάριο καθώς η συσκευή χάνει την εγγύησή της και μπορεί να αχρηστευτεί!!!! :rip:

Σιγά τ'αυγά δηλαδή... δεν έχω καταλάβει γιατί πρέπει να το γράφουμε αυτό.... μάλλον επειδή το γράφουν και άλλοι...

Γιατί αν δεν το γράψεις, ο χρήστης μπορεί να σε θεωρήσει υπεύθυνο για ότι πάθει ο δίσκος του. Και νομικά υποτίθεται.:D

Πολύ ωραίο άρθρο btw!

Link to comment
Share on other sites

Αρχική απάντηση από mech5107

Να ρωτήσω κάτι...όλα τα MybooΚ με ethernet παίρνουν mod?

Αρχική απάντηση από fusion

Βασικα ποια MyBook εχουν embedded system? Μονο το MyBook World?

Όλα τα My Book World έχουν ethernet interface (έχει και το σήμα στο κουτί της συσκευασίας) και όλα παίρνουν το mod...

Link to comment
Share on other sites

Λαθάκι...:)

#mkdir /tmp/giapetama

#cd /tmp/giapetama

#wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz

#tar -zxvf openssl-0.9.8g.tar.gz

#cd /tmp/giapetama/openssl-0.9.8g Οχι #cd /tmp/giapetama/openssl-0.9.8g.tar.gz

#./config

#make

#make install

Συγχαρητήρια πολύ καλός οδηγός φίλε Jaco :)

Link to comment
Share on other sites

Φοβερη παρουσιαση! Με μπριζωσες ασχημα! :p

Αλλα επειδη το 1G ειναι πολυ για την δουλεια που το θελω, να υποθεσω οτι και αυτο μας κανει, ε? http://www.e-shop.gr/show_per.phtml?id=PER.303885

Link to comment
Share on other sites

Αρχική απάντηση από Daidalos [Σήμερα, στις 07:21]

Φοβερη παρουσιαση! Με μπριζωσες ασχημα! :p

Αλλα επειδη το 1G ειναι πολυ για την δουλεια που το θελω, να υποθεσω οτι και αυτο μας κανει, ε? http://www.e-shop.gr/show_per.phtml?id=PER.303885

Ευχαριστώ Daidalos... σιγά την παρουσίαση, τα περισσότερα από αυτά που γράφω εκτός από καν-δυο, υπάρχουν και σε άλλα sites... απλά επιβεβαιώνω με κάποιο τρόπο ότι δουλεύουν καλά οι modες...

Όλα τα My Book (250, 500, 1000 GB) με το network interface μπορούν να modαριστούν όπως φυσικά και αυτός που δίνεις στο link... :T:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.