aMule sin interfaz gráfico

Solapas principales

Índice

1. ¿Porqué no usar el interfaz gráfico?

2. amuled y amuleweb

2.1 amuled
2.2 amuleweb
2.3 Inicio automático

3. Cuando solo tenemos problemas


Introducción

aMule es un port del mítico eMule pero para Linux. De hecho para una persona que sólo ha trabajado con eMule en Windows no va ser suponer ningún problema en usar aMule.


1. ¿Porqué no usar el interfaz gráfico?

No hay nada malo en usar el interfaz gráfico, pero en mi caso tengo varias razones para no seguir el uso normal de aMule con el interfaz gráfico. Se me presentaba la situación de tener varios usuarios sobre el mismo ordenador que abren y cierran sesiones gráficas. Alguna vez en dicho cambio de sesión gráfica manteniendo las ya abiertas se producen problemas con el gestor de sesiones (gdm,kdm,etc...) que acaban con el cierre de las sesiones ya abiertas y de sus procesos. También por razones puramentes accidentales te pueden cerrar tu sesión. Vale, esta no es una razón muy convincente, lee las siguientes.

También hay otro punto a favor de no usar el interfaz gráfico y se traduce en el consumo de CPU, hay picos de consumo de CPU por parte de aMule a tener en cuenta mientras estamos trabajando con otras aplicaciones, y mi equipo empieza a quedarse obsoleto.

Y como punto final, destacar que es muy cómodo saber que ya desde el arranque el proceso amule está funcionando, y puedo consultar, descargar, etc... desde una página web como administrador o como usuario sin permisos de gestión.

En todo momento lo que buscamos es que las sesiones de aMule no se corten, ya que como todos sabemos cuanto mas tiempo estemos conectados mayores posibilidades de descarga tendrémos.

2. amuled y amuleweb


2.1 amuled

amuled es el proceso demonio que recibirá las peticiones de los clientes. La mejor manera de configurar amuled es usar la configuración de previa con el interfaz gráfico, de este modo nos encontramos con todos los parámetros asignados y solo tendrémos que modificar los que vamos a detallar.

El fichero de configuración de amuled es ~/.aMule/amule.conf. Este binario lo debemos ejecutar con el usuario que va a hacer la gestión, si lo ejecutamos desde la consola nos va a indicar que tenemos varias opciones para aceptar las conexiones externas: usar el interfaz gráfico, ejecutar el binario con la opción #/$ amuled --ec-config y se nos pide la contraseña a usar por los clientes que conectan, y por ultimo podemos cambiar el fichero amule.conf en concreto el siguiente código:

[ExternalConnect]
AcceptExternalConnections=1
ECPassword=d4c9f7627c3d7d2194fdce1d94h1be25

En el anterior código estamos indicando que aceptamos conexiones externas a amuled, y la password es del tipo md5 que podemos generar con #/$ echo -n contraseña | md5sum.


2.2 amuleweb

amuleweb es el cliente que conecta al servidor web de amule, no vamos a detallar todas las opciones de este binario ya que el caso mas habitual es el que comentamos, donde tenemos tanto el servidor amule, como el servidor web y el usuario con el browser conectando desde el mismo equipo.

amuleweb por defecto usa un fichero de configuración, el ~/.aMule/remote.conf, y nos interesa el código siguiente:

Locale=
[EC]
Host=localhost
Port=4712
Password=d4c9f7627c3d7d2194fdce1d94h1be25
[Webserver]
Port=4711
UPnPWebServerEnabled=0
UPnPTCPPort=50001
Template=php-default
UseGzip=0
AllowGuest=1
AdminPassword=b689b2d41c5ee25yf0f53173c8c25505
GuestPassword=

Con el anterior código estamos indicando el puerto(4712) del host donde está el servicio amule funcioando, en que puerto queremos que esté el servidor web funcionando(4711), y ademas la password que usará el servidor web para conectar a amuled. Hay que destacar que la password de amuleweb para conectar a amuled debe ser la misma que hemos configurado en el fichero amule.conf. Al final del fichero aparecen dos contraseñas mas, una es la de administrador y otra de invitado, las dos usadas para conectar a la web sobre nuestro propio equipo con una url del tipo http://localhost:4711.


2.3 Inicio automático

A continuación pego el código del archivo que inicia/para tanto amuled como amuleb, tiene que estar en /etc/init.d/amule, y después asociarlo al runlevel 2 o el que usemos.

#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/amuled
WEB=/usr/bin/amuleweb
NAME=/usr/bin/amuled
DESC=amuled
RUNAMULE=no
USER=usuario #Usuario que aloja la conf de amule

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
    echo -n "Starting $DESC: "
       su $USER -c "$DAEMON -f"
       while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done
       su $USER -c "$WEB --quiet &"
    echo "$NAME."
    ;;
  stop)
    echo -n "Stopping $DESC: "
       killall --quiet --ignore-case $WEB
       killall --quiet --ignore-case $DAEMON
    echo "$NAME."
    ;;
  restart|force-reload)
    echo -n "Restarting $DESC: "
       killall --quiet --ignore-case $WEB
       killall --quiet --ignore-case $DAEMON
    sleep 1
       su $USER -c "$DAEMON -f"
       while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done
       su $USER -c "$WEB --quiet &"
    echo "$NAME."
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0


3. Cuando solo tenemos problemas

Hay varias situaciones de error que repetimos cuando configuramos por primera vez amuled y amuleweb:

  • La primera vez que ejecutamos amuled y no hemos asignado un password nos invita a hacerlo de tres posibles maneras, nos informa con el mensaje de salida.
  • El password de amuled no es el mismo que el especificado en amuleweb.
  • Si generamos manualmente el password tenemos que recordar que no es lo mismo #/$ echo -n contraseña | md5sum que #/$ echo contraseña | md5sum, ya que el retorno de carro del echo también cuenta.
  • No hemos asignado a amuleweb el password de administrador o invitado para poder conectar por http.