...::: aMule sotto Open-Wrt : è possibile! :::...
by NuKe
Dopo aver comprato il mio bel router e averci installato OpenWRT, mi è presa la smania di smanettarci su. Ma mai avrei creduto una cosa simile! O almeno fino ad oggi!
Ultimo aggiornamento: 21/04/2008
Indice
1. Cosa serve e altre info
Io ho utilizzato un router Siemens SE505 con modding per mettere una porta USB nella quale ho infilato una chiavetta da 4GB. Non ho potuto testare la cosa con altro router quindi se ci riuscite con il vostro magari aggiornate questa guida.
La versione di OpenWRT che ho attualmente è la WhiteRussian anche se dove ho ottenuto le informazioni utilizzavano Kamikaze.
2. Preparazione della Usb Key
Nella chiavetta vanno create 2 partizioni di cui una di 128mb e di tipo "Linux Swap" Con cfdisk potete fare tutto agevolmente da linux, poi la partizione più grande (la mia da 4gb) va formattata in ext2 usando questo comando
mkfs.ext2 -m 0 /dev/sda1
Mentre l'altra va creata come swap
mkswap /dev/sda2
3. Preparazione del Router
Ok è il momento di installare i pacchetti che servono sul router! Potete installare tutto con ipkg install NOMEPACCHETTO.
Ecco la lista di quelli che son serviti a me:
kmod-ext2
libgcc
libpthread
[non sono sicuro che siano tutti, di sicuro servono anche usb-storage e altri per la gestione dei sispositivi usb che sul mio router erano già presenti]
e inoltre se non le avete servono le swap-utils, nei miei repository non erano presenti quindi le ho scaricate da http://downloads.openwrt.org/backports/rc5/swap-utils_2.12r-1_mipsel.ipk
Montate la chiavetta usb nel caso fosse disattivato l'hotplug con un
mkdir /tmp/mnt/usb mount /dev/scsi/host0/bus0/target0/lun0/part1 /tmn/mnt/usb
e poi scaricate il binario di aMule e con le sue librerie (sulla usb key per risparmiare spazio)
ln -s /mnt/disc0_1 /tmp/shared cd /tmp/shared wget http://eko.one.pl/openwrt/amule-2.1.3.tgz tar zxvf amule-2.1.3.tgz rm amule-2.1.3.tgz
linkate tutte le librerie sul vostro sistema (PS. in quel pacchetto ci sono gia le librerie zlib e libpng quindi se le avete già sul sistema potete rimuoverle per risparmiare spazio
ln -s /tmp/shared/lib/* /usr/lib/
Non finisce qui! conviene attivare il file di swap già da ora.
Questo è il comando per il mio file di swap che sta sulla partizione chiamata sda2 sotto linux, probabilmente a voi sarà simile
swapon /dev/scsi/host0/bus0/target0/lun0/part2
4. Preparazione di aMule e primo avvio
Avviate aMule per un secondo e poi chiudetelo (giusto per creare la home)
/tmp/shared/bin/amule start /tmp/shared/bin/amule stop
Ora editate il file di configurazione di aMule collocato in /tmp/shared/home/amule/.aMule/amule.conf e scriveteci dentro le seguenti righe
[eMule] IPFilterAutoLoad=0 [WebServer] Enabled=1 Password=### Template=php-default [ExternalConnect] AcceptExternalConnections=1 ECPassword=### ShowProgressBar=1
Dove c'è scritto ### andrà messa la vostra password per il webserver, ma non in chiaro bensì generata con questo comando
echo -n tuapassword | md5sum | cut -d ' ' -f 1
Il sito consiglia anche di dare questo comando ma a me è funzionato anche ignorandolo
ln -s /tmp/shared/share/amule/webserver/ /tmp/shared/home/amule/.aMule/
Ora bisogna scaricare un nuovo file server.met e nodes.dat
cd /tmp/shared/home/amule/.aMule/ rm nodes.dat server.met wget http://ed2k.2x4u.de/snqgf4u0/micro/server.met wget http://emule-inside.net/nodes.dat
== Avvio di aMule === Basta digitare
/tmp/shared/bin/amule start
== Creazione dei file di init === Ora creiamo i file di init per automatizzare al boot del sistema tutte le operazioni (partizione di swap, mount usb key e avvio aMule)
touch /etc/init.d/S99amule chmod 755 /etc/init.d/S99amule
Editiamo quel file scrivendoci
mkdir /tmp/mnt/usb mount /dev/scsi/host0/bus0/target0/lun0/part1 /tmp/mnt/usb ln -s /tmp/mnt/usb /tmp/shared swapon /dev/scsi/host0/bus0/target0/lun0/part2 /tmp/shared/bin/amule start
E' possibile anche editare il file di hotplug per metterci dentro le righe per l'automount ma mi dava problemi e ho preferito attuare questa soluzione.
5. Configurazione del firewall
Se avete un firewall iptables le seguenti regole servono ad aprire le porte di aMule
iptables -I INPUT 1 -p tcp --dport 4662 -j ACCEPT iptables -I INPUT 2 -p udp --dport 4665 -j ACCEPT iptables -I INPUT 3 -p udp --dport 4672 -j ACCEPT
Nel caso vi servano mettetele nello script di init o in quello del vostro firewall.
6. Entrare nel webserver
Se tutto è andato per il verso giusto basta digirate http://ip.del.router:4711/ nel vostro browser e vedere l'interfaccia web di aMule.
Ovviamente potete riconfiguarlo da lì ora ma di default i file scaricati vanno in quella cartella .aMule/Incoming da lui creata sulla usb key.
Ecco uno screenshot del mio mulo all'opera!
Con il comando top è possibile monitorare l'uso della cpu mentre con il comando free l'uso di swap e ram. Senza partizione di swap il mio router gestiva pochissime connessioni e raramente iniziava un download quindi è ""altamente"" consigliato crearne una.
7. Fonti e Informazioni
http://eko.one.pl/index.php?page=openwrt-amule Il sito in polacco fonte di preziose informazioni.
http://wiki.openwrt.org/LocalFileSystemHowTo Il wiki di OpenWrt che mi ha fornito le informazioni sulle partizioni di swap.
http://gigaset.siemens.com/shc/0,1935,it_it_0_15702_rArNrNrNrN,00.html Sito ufficiale Siemens, pagina del mio router.
http://wiki.openwrt.org/OpenWrtDocs/Hardware/Siemens/SE505 Wiki di OpenWrt con informazioni sul siemens SE505 e su come aggiungere la porta usb.
8. Ringraziamenti
Tutta la comunity di ninux.org e in particolare ZioPRoTo
Gli sviluppatori OpenWRT
...e quei bizzarri polacchi che mi hanno dato un'idea in più per oggi!