12 Giugno 2006...7:46 am

aMule da linea di comando: guida ad amuled e amuleweb

Salta ai commenti

 

Questa guida è rivolta a coloro che vogliono creare un server con amule in modo da poterlo controllare via interfaccia web tramite browser con un notevole risparmio di risorse(quindi può funzionare anche su pc datati) o anche da gui(interfaccia grafica). La mia guida prenderà molto materiale da quest’altra(cui consiglio vivamente di fare un giretto), solo con delle modificazioni, approfondimenti e, si spera, semplificazioni. La guida è realizzata per distribuzioni Debian-Based ma è identica nel contenuto per tutte le distro(io per esempio uso anche Archlinux), cambia solo il metodo di installazione dei pacchetti. Per chi invece è interessato a installare eDonkey su GNU-Linux allora consiglio l’altra mia guida.

I pacchetti che dobbiamo installare sono:

  • amule-daemon, per avere amuled
  • amule-utils, per avere amuleweb

NOTA: In alcune distribuzioni questi pacchetti vengono installati automaticamente con l’installazione di aMule semplice.

Quindi diamo un bel:

$ apt-get install amule-daemon amule-utils

aMuled è il demone, e permette di far girare aMule senza la GUI. Per far partire aMuled digitiamo:

$ amuled -f

Il file di configurazione è /home/vostronome/.aMule/amule.conf

(Da notare come la cartella di aMule è una cartella nascosta e quindi necessita del punto(.) davanti). Le parti più interessanti da modificare sono:

  • La sezione relativa alle porte. Quindi ricordarsi di configurare adeguatamente il firewall e se si dispone di un router di nattare le porte. Le due righe che ci interessano sono:

    Port=4662
    UDPPort=4672

    Le porte da aprire per aMule sono tre, e lasciando quelle di default sono per il tcp la 4662 e la 4665 e per l’udp la 4672.

  • La sezione relativa al WebServer, deve essere disabilitato, quindi:

    [WebServer]
    Enabled=0
  • La sezione relativa alle connessioni per la gestione. Si deve definire una porta sulla quale aMuled sarà in ascolto e la password di accesso.

    [ExternalConnect]
    AcceptExternalConnections=1
    ECUseTCPPort=1
    ECPort=4712
    ECPassword=4fc772729bde281ccc7f228e19be6889

    Questa nuova porta, in questo file la 4712, non va aperta all’esterno ma deve essere accessibile in localhost da amuleweb.
    In ECPassword dobbiamo mettere l’md5 della password scelta. Si può ottenere così:

    miashell:~ $ echo -n yourpasswordhere | md5sum | cut -d ' ' -f 1

    Questa password può essere particolarmente strana e casuale perchè non verrà mai digitata. Serve solo per consentire ad aMuleWeb per accreditarsi ad aMuled, ma una volta scritta nei rispettivi file di configurazione si può traquillamente dimenticare. ATTENZIONE: La password da me inserita è puramente indicativa e quindi solo a scopo dimostrativo.

Adesso passiamo a modificare la configurazione di aMuleWeb. Il Primo passo da fare è generare il file di configurazione, quindi digitiamo nella shell:

$ amuleweb -w

Con il parametro -w, aMuleWeb genera il file /home/vostronome/.aMule/remote.conf. Anche in questo caso le modifiche sono poche:

  • Definire a quale aMuled deve connettersi, la Password deve essere esattamente quella presente in ECPassowrod di amule.conf:

    Host=localhost
    Port=4711
    Password=4fc772729bde281ccc7f228e19be6889
  • La password per accedere all’interfaccia web di aMuleWeb. Anche questa password deve essere calcolata da md5sum, come prima. Questa sarà l’unica password che l’utente dovrà ricordarsi.

    AdminPassword=c54a0034b4c8ccc0f4ce7660f794a3a2

aMuleWeb si metterà in ascolto sulla porta 4711, e questa porta andrà aperta dal firewall per far accedere gli host desiderati.
Adesso basta aprire due terminali e digitare rispettivamente:

$ amuled

e nell’altro:

$ amuleweb

Per comandare aMule si può procedere:

  1. Via Web: tramite l’interfaccia grafica che si presenta sul proprio browser, comoda perchè la si può avere in qualsiasi computer in quanto non richiede installazione di programmi aggiuntivi. In ogni caso se si usa quotidianamente un computer per comandare aMule consiglio l’interfaccia via gui.
  2. Via Gui: Interfaccia grafica presente sia per Gnu-Linux che per Windows.

Dopo che avete scelto quale interfaccia desiderate si possono verificare 3 casi:

  • Avete un solo computer dove avete installato sia aMule e volete controllarlo dallo stesso: Ora potete aprire il vostro browser(e digitare l’URL http://localhost:4711) oppure la gui e settare 127.0.0.1 su ‘connetti a‘ e 4711 dopo i ‘:‘(due punti che stanno dopo la barra dell’indirizzo).
  • Avete più computer connessi in lan e volete comandare aMule da un altro computer: aprite il vostro browser(e digitare l’URL http://192.168.1.X:4711)-> dove ‘X‘ sta per l’identificativo del vostro computer nella rete Lan(quindi consiglio di mettere un ip fisso al computer che farà da server), oppure la gui e settare 192.168.1.X(stesso discorso di prima per la ‘X‘) su ‘connetti a‘ e 4711 dopo i ‘:‘(due punti che stanno dopo la barra dell’indirizzo).
  • Avete il server a casa vostra e volete comandarlo a casa di un vostro amico o dall’altra parte del mondo: aprite il browser(e digitare l’URL http://vostroip:4711)-> dove ‘vostroip‘ sta per l’ip del vostro computer(consiglio di mettere un redirect al vostro ip tramite l’opzione ormai di serie in tutti i router tramite servizi come no-ip o dyndns), oppure la gui e settare vostroip(stesso discorso di prima per ‘vostroip‘) su ‘connetti a‘ e 4711 dopo i ‘:‘(due punti che stanno dopo la barra dell’indirizzo).

NOTA: In tutti i casi vi sarà chiesto il Nome Utente e la Password del server.

Ecco un esempio di come si presenta l’interfaccia gui quando chiede di connettersi a un indirizzo(nel mio caso in locale):

 

Qui invece alcuni screenshots di aMule via interfaccia WEB(ATTENZIONE: gli screens si riferiscono alla skin ‘litoral‘ e non a quella di default(che a me personalmente non piace); se volete questa skin la dovete scaricare da qui e decomprimerla su /usr/share/amule/webserver/. A questo punto editate il file /home/vostronome/.aMule/remote.conf e modificate il campo ‘Template=php-default’ in ‘Template=litoral’):

CONSIDERAZIONI:

  • Ho notato che se modifchiamo il campo che indica ad amule di controllare se ci sono nuovi versioni, il server si potrebbe stoppare in caso ne trovasse una. Quindi è vivamente raccomandato di lasciare il campo ‘NewVersionCheck=0′ in questo modo nel file ‘amule.conf’.
  • Per evitare rallentamenti durante la connessione è necessario limitare l’upload con un valore che rispecchi l’80% del suo effettivo: nel mio caso la massima velocità di upload è 35kb/sec e quindi dovrò impostarla a circa max 24-25kb/sec. La modifica va apportata sempre nel file ‘amule.conf’ alla voce ‘MaxUpload=24′(già nel mio caso è impostata a 24kb/sec).
  • Per chi ha Libero(come il sottoscritto) è necessario cambiare le porte di defaults sia TCP che UDP; mentre si può tranquillamente lasciare inalterata quella per il WebServer. Ecco le modifiche:
    Port=1755
    UDPPort=1756
  • Fare ogni tanto qualche copia di backup dei propri files di configurazione per evitare fastidiose riconfigurazioni in caso di errore.

46 Commenti

  • Ciao!
    Innanzitutto grazie per l’ottima guida, che è davvero chiara.
    Avendola seguita per filo e per segno però non riesco ad usare amuleweb: dopo averlo lanciato in background con il comando “amuleweb -q &” ottengo un errore, nello specifico CECSocket.
    Potresti per favore incollare il tuo amule.conf e remote.conf?
    Chiaramente senza password :)

  • Ciao!!, complimenti x la guida
    quando faccio apt-get install amuled, mi fa’ scaricare la versone 2.1.0, mentre l’ultima e’ la 2.1.3.
    Hai qc repository aggioranato?

  • Per l’errore del CECSocket non ti saprei aiutare. In ogni caso il comando è “amuleweb -q” se non ricordo male.

    Per i repo non ti so aiutare neanche. Io più che altro uso archlinux e li ha tuto aggiornato: scusa la domanda stupida: ma hai abilitato universe e multiverse?

  • Ho trovato questo repo in cui si trova l’ultima versione:

    deb http://amule-debian.dyndns.org/ debian/

    Oppure un altro repo:
    #aMule 2.1.3 for Ubuntu Dapper i386 (testing)
    deb http://twemu.no-ip.org/apt/amule-testing/dapper/ ./
    deb-src http://twemu.no-ip.org/apt/amule-testing/dapper/ ./

  • Grazie per la guida esaustiva e chaiora (e funzionante….). Una domanda sola: una volta connesso da un’altra postazione via browser non capisco come fargli scaricare la lista dei server. Mi scuso per la domanda un po’ idiota ma non ci arrivo….
    Grazie ancora

  • La lista server viene scaricata nel ’server’ quando tu gli vai a dare il link della lista-server sul file di configurazione di amule. La lista server mi sembra sia possibile cambiarla solo con la GUI. In questi giorni purtroppo non posso fare delle prove poichè aspetto con ansia che il 26 ottobre esca la 6.10(sempre nell’attesa di debian4 a dicembre..) e il ’server’ per ora è vuoto.

  • Ciao
    ho modificato il file amule.conf mettendo la password sbagliata ma non riesco più a modificarlo ulteriormente mettendoci la password generata da md5sum.

    Mi potresti dare una mano sono un neofita di linux sopratutto della distro debian..
    grazie in anticipo

  • Se ci sei riuscito una prima volta non capisco perchè non ti viene la seconda. Devi solo aprirlo con un editor(non richiede il superuser visto che si trova nella tua home).

  • e per farli partire al boot? (sono abb incompetente scusami)

  • Devi aggiungere amuled come demone(così come avviene per cups, il gestore delle stampanti su linux).

  • si amuled sono riuscito a farlo partire con uno script che ho trovato in giro:
    #!/bin/sh
    #
    # Startup/Stop script for aMuled - aMule Daemon
    #

    #Here, the choosen user to run amuled
    theUser=

    case “$1″ in

    ’start’ ;)
    /bin/su - ${theUser} -c “PATH=/usr/local/bin:/usr/bin:/bin /usr/bin/amuled -f”
    ;;

    ’stop’ ;)
    /bin/su - ${theUser} -c “PATH=/usr/local/bin:/usr/bin:/bin /usr/bin/amulecmd -c Shutdown”
    ;;

    *)
    echo “Usage: /etc/init.d/amuled.sh { start | stop }”
    ;;

    esac
    ma non riesco a fare altrettanto con amuleweb, ho già seguito le tue istruzioni e quindi ho i file di configurazione, ma se provo a farlo partire con uno script (ho modificato quello che avevo trovato per amuled):
    #!/bin/sh
    #
    # Startup/Stop script for aMuleweb
    #

    /bin/su - $user -c “PATH=/usr/local/bin:/usr/bin:/bin /usr/bin/amuleweb -q -f –config-file=~/.aMule/amule.conf”
    ;;
    esac

    mi richiede comunque la password (e quindi si blocca):
    Executing /etc/init.d/amuleweb.sh start ..

    stdin: is not a tty
    Enter password for mule connection: /etc/init.d/amuleweb.sh: line 7: syntax error near unexpected token `;;’
    /etc/init.d/amuleweb.sh: line 7: `;;’

    (esce lo stesso errore anche specificando come file remote.conf)
    e ovviamente in entrambi i file ci sono le password

    Ciao

  • Prova con questo script:

    —————————————————————–

    #!/bin/sh
    #
    # Startup/Stop script for amuleweb - aMule WebServer
    #

    #Here, the choosen user to run amuled
    theUser=

    case “$1″ in

    ’start’ ;)
    /bin/su - ${theUser} -c “PATH=/usr/local/bin:/usr/bin:/bin /usr/bin/amuleweb -q -f –config-file=~/.aMule/amule.conf”
    ;;

    ’stop’ ;)
    /bin/su - ${theUser} -c “killall amuleweb”
    ;;

    *)
    echo “Usage: /etc/init.d/amuled.sh { start | stop }”
    ;;

    esac

  • quando lo avvio dice:
    Executing /etc/init.d/amuleweb.sh start ..

    /etc/init.d/amuleweb.sh: line 20: stop: command not found

    (ma killall funziona se lo faccio da shell)

    ps: sto facendo tutto tramite webmin è la stessa cosa o è meglio farlo da ssh? (linux lo uso solo in remoto)

  • c’è un problema di charset, credo.

    scarica lo script da qui: http://pierluigi.netsons.org/amuleweb.sh

  • si l’ho corretto ma continuava a bloccarsi chiedendo la password
    ho risolto così:
    /bin/su - ${theUser} -c “PATH=/usr/local/bin:/usr/bin:/bin /usr/bin/amuleweb -q &”

    e adesso sembra funzionare
    (non chiedermi perchè… ;)
    ciao

  • ciao grazie per la guida, sono riuscito a fare tutto tranne due cose. Quando mi loggo via http sull’amule mi da sempre la password sbagliata, l’unico modo per entrare e con l’utente con diritti limitati. Infine anche se nel file di configurazione ho inserito come interfaccia la litoral stranamente carica sempre quella di default. Qualcuno mi sa dare dei suggerimenti?

    grazie ciao

  • Scusa ma non capisco la tua prima richiesta. In ogni caso per la skin riscaricala perchè due giorni fa l’ho uppata di nuovo poichè quella vecchia dava un problema simile al tuo.

  • grazie della risposta, per il primo problema ho risolto, avendo usato la versione per windows emule facevo dei settaggi sbagliati. La skin l’ho riscaricata ma mi da il seguente errore

    “You seeing this page instead of aMuleWeb page because valid template has not been found.

    This means that there’s problem with aMule installation

    Before installation please ensure that you uninstalled previous versions of amule
    If you installing by recompiling from source, check configuration and run “make install” again
    If you installing binary package, you may need to contact package maintainer
    For more information please visit

    aMule main site aMule forum”

    devo veramente reinstallare tutto? La mia versione di amule è l’ultima la 2.1.3

  • scusate il doppio post avevo cancellato per errore la cartella webserver, ora che l’ho risistemata comunque non mi carica la skin. Sia sul file remote.conf che sull programma in modalità grafica la skin è la litoral, la cartella è presente nella directory webserver, all’interno ci sono tutti i file, la versione è l’ultima scaricata dal link ma niente

  • Accertati che anche sul file amule.conf che si trova nella tua home è impostata questa skin. Tra l’altro ricordo che se tu apri il server e il webserver con utente root .. automaticamente il programma leggerà l’amule.conf della cartella home di root e non di quella dell’utente con accesso limitato.

  • questo è il mio file di configurazione , la parte relativa alla skin (le password le ho tolte io per il post)

    [WebServer]
    Enabled=1
    Password=
    PasswordLow=
    Port=4711
    UseGzip=1
    UseLowRightsUser=1
    PageRefreshTime=120
    Template=litoral

    sull’amule entrando con il mio utente mi fa vedere che l’interfaccia è la litoral ma niente, ho anche cambiato i diritti alla cartella e a tutti i file con lettura e scrittura per tutti ma non è servito. Non so cosa pensare a questo punto lascio quella di default anche se manca parecchia roba a confronto di quella sviluppata per windows

  • Ciao skacore3ska prova a fare così…

    Ti lascio un link dove puoi vedere i miei amule.conf e remote.conf controlla se sono simili ai tuoi.

    http://www.freeshells.ch/~macstyle/amule/amule.conf
    http://www.freeshells.ch/~macstyle/amule/remote.conf

    Poi riscarica la skin e butta quella vecchia perchè mi sono accorto che nel paccheto che era presente nel sito la skin non funzionava…Faceva anche a me l’errore

    “You seeing this page instead of ecc….”

    Per quanto riguarda la litoral possiamo sentirci e vedo di sistemartela da remoto.Devi avere però installato sshd (su debian e simili basta apt-get install openssh-server) , comunicarmi il tuo ip che vedi su whatismyip.com e lasciare il pc acceso per il tempo necessario :) e l’utente e la password di root.

    Non ti preoccupare per la password potrai cambiarla dopo cmq non intendo usarla se non per darti una mano

    Cmq come skin ti consiglio la chicane che ricorda quella di emule.

    Se vuoi contattarmi per fammi entrare da remoto puoi scrivere qui sandro_livorno@hotmail.it

    Ciao Macstyle

  • Ottima guida, ma nonostante tutto ho un problema che non mi spiego:

    - lancio amuled (non mi si connette)
    - lancio amuleweb (accedo all’ interfaccia e ho conferma della non connessione di amuled)
    - lasciando la stessa configurazione della macchina che mi funge da firewall/gateway e provando ad usare amule da una macchina windows il tutto funziona …

    esiste un modo per sapere lo stato della connessione di amuled ?

    Grazie

  • Già il fatto che ti connetti da windows ad amuled non è una prova?

  • Mi sono spiegato male. Da windows funziona amule “standalone” senza contattare il “server” con amuled. L’ unica modifica che faccio è “switchare” il Port Forwarding dalla macchina con amuled alla macchina con amule (windows di prova).

  • Ottima guida, davvero ben fatta.
    Sulla mia debian unstable con amule 2.1.3 con questa riga nel remote.conf non funziona:
    ECUseTCPPort=1
    se la elimino invece va tutto.

    Ciao e complimenti!

  • Guida utilissima… qualcuno ha provato il template litoral con amuled 2.1.3 su ubuntu? ho seguito pari pari il tutorial ma purtroppo non carica litoral ma php-default (nonostante in remote.conf sia specificata la stringa Template=litoral) qualcuno conosce una possibile soluzione? Grazie

  • ho notato poi che la struttura del template litoral è diversa da quegli altri presenti nella cartella /usr/share/amule/webserver (manca il file .tmpl etc… ;)

  • Buona Guida

    porgo due domande…

    1) Come faccio a bindare amuled iptizzando di non essere nattato ma di avere ip reali sulla eth0 eth0:1 ecc. VORREI BINDARLO SU UN UNICO IP.

    2) ho provato il template consigliato (litoral) e chicane ma su tutti e due ricevo password incorrect.. mentre con default e php-default no.

    dove trovo altri template?

    Ciao da Diego (NetAdmin irc.diaboliko.net)

  • Ciao,

    Per blindare amuled a un unico ip puoi fare cosi…a me ha funzionato con ssh

    Io ho una debian cmq il file dovrebbe essere /etc/hosts.allow

    amuled: tuo ip

    e in /etc/hosts.deny

    amuled:ALL

    per quanto riguarda il secondo punto i template sono pochi e la documentazione per svilupparli veramente decrepita e non approfondita.

    Se leggi in alto trovi i file di configurazione di esempio.Prova a confrontare i tuoi con quelli perchè a me la skin litoral andava…

    Ciao Macstyle

  • Complimenti ottima guida funziona quasi tutto correttamente: se mi collego tramite browser funzione correttamente ma se utilizzo amule gui quando clicco su connetti la finestra si chiude sia su win sia su linux. è successo a qualcun’altro?
    Grazie

  • La guida ormai è obsoleta e deve essere rivista, vedrò quando ho tempo.

  • Ottima guida, grazie!
    Funziona tutto, però la lista dei server è vuota.
    Come fare per riempirla o fare in modo che amuleweb la scarichi automaticamente?
    Grazie!

  • Il link della lista server l’ho preso da qui e a me funziona: http://www.p2pforum.it/forum/showthread.php?t=100094 .

  • come già segnalato da skacore3ska la skin litoral linkata dall’autore dell’articolo non và.
    Ci ho dato una rapida occhiata, notando l’assenza di molte delle immagini e che i link erano in gran parte poco accurati.
    Fixato il tutto, il template litoral funzionante lo trovate qua
    http://basketsim-italia.it/litoral.rar
    mi auguro che garret provveda ad aggiornare il link.
    Come al solito le pagine Kad e Statistics causano il crash dell’applicazione se non avete compilato il demone amule con il supporto CAS.
    Mi auguro d’essere stato d’aiuto.

  • @ riccardo
    quello della gui è un bug noto, in pratica muleweb e amulegui si contendono l’uso della porta 4712 andando entrambi in crash.
    Quindi per utilizzare amulegui amuleweb deve essere chiuso

  • A me la skin la fa scaricare dal mio link.

  • già, anche a me, infatti l’ho scaricata da lì, solo che non funziona (per lo meno con amule 2.1.3), come altri hanno segnalato infatti viene caricato php-default anzichè la skin litoral.
    Ho quindi corretto la skin e, nel link che ho riportato, trovi la versione funzionante.

  • Ciao ho appena installato amuleweb.
    funziona.
    tuttavia non ho ben capito come farlo connettere ai server, io vedo un pulsante in basso a sinistra con scritto “download link”, nel form a fianco digito http://elboiler.p2pforum.it/server.met e poi clicco su “download link”, ma non ottengo nulla..
    qualcuno mi sa spiegare come rendere “operativo” amuleweb??

  • lo spazio in basso è per i link ed2k, quindi devi inserire un link edonkey per scaricare la lista dei server.
    prova questo, e buona fortuna :)
    ed2k://|serverlist|http://peerates.net/peerates/certifiedservers.met|/

  • Ciao ho dei problemi con continui crash dell’interfaccia web nonostante abbia usato questa ottima guida conoscete qualche soluzione grazie

  • Anche io non riesco a caricare la lista server con il metodo descritto 2 post sopra :-(

  • adesso carico la lista manualmente copiando il file .met ma ogni volta che riavvio il demone il file server.met viene svuotato

  • comlimenti x la guida…i puoi solo dire come si fa a caricare la lista dei server…perke mi dice di scriverne almeno uno…ma io nn li so…me ne puoi dire uno??? grx 1000 risp

  • Ho amuled su una debian e amulegui su ubuntu. amuled si avvia tranquillamente mentre avviando amulegui:
    Connecting…
    Going to event loop…

    Rimane così. Le passw sono le stesse sia in amule.conf che in remote.conf. La porta 4712 è aperta.
    Amuleweb funziona correttamente.

    Idee?

  • [...] Vi segnalo anche questa ottima guida: aMule da linea di comando: guida ad amuled e amuleweb « Garret’s Blog [...]

Lascia una Risposta