El Demonio de aMule y su control.

En esta ocasión vamos a poner en funcionamiento el servicio o demonio de aMule. Esto implica que amule-daemon trabajará siempre iniciado con el sistema y lo controlaremos en remoto con otro equipo, ya sea teléfono móvil, PC etc ,etc

Amuled es una versión demonizada de aMule, que no necesita entorno gráfico para ejecutarse, y se puede ejecutar en segundo plano. Normalmente se usa para ejecutarse en una máquina 24/7, ya que la aplicación continúa ejecutándose si se cierra la sesión gráfica.

En el paquete se incluye un servidor web que proporciona una interfaz para controlar al demonio. Soporta conexiones remotas y el demonio se puede configurar para iniciar el servidor web automáticamente en el arranque. También se puede controlar amuled usando amulecmd, del paquete amule-utils, y amulegui, disponible en el paquete amule-utils-gui.

MPORTANTE:

Instalación

Si no tienes todavía instalado aMule lo puedes hacer desde el terminal así

sudo apt install amule amule-daemon amule-utils amule-utils-gui amule-gnome-support

Configuramos el servicio de aMule

Todos los cambios que se hacen en la configuración del del demonio de amule, se deben hacer con el demonio parado, ya que si no, los cambios no surtirán efecto.

Paramos el servicio con :

sudo systemctl stop amule-daemon

Una vez parado el demonio, habrá que irse a la configuración del amuled-daemon que se encuentra en /etc/default y una vez allí, editamos como superusuario el archivo «amule-daemon», que es el que contiene la configuración de aMule.

sudo  nano /etc/default/amule-daemon

Dentro de ese archivo nos vamos a encontrar algo como esto.

Como puedes ver, hay una línea que indica el usuario que va a usar aMule, que aparece en blanco, ahí debes de poner <<el nombre de tu usuario del sistema>>,que será el propietario de los archivos descargados.

Editamos con nuestro usuario tal que así.

AMULED_USER=»lenovo»

Y también hay otra línea que nos indica la ruta de la carpeta «home» de ese usuario. Esa ruta también está sin configurar, así que vamos a cambiarla por esto otro.

AMULED_HOME=»/home/lenovo»

Al final, el archivo debería quedar algo similar a esto.

Guardamos los cambios pulsando «Control + O» y salimos del editor con «Control + X».

Ahora es el momento de encender el servicio recién configurado. Podemos hacerlo con este comando:

sudo systemctl start amule-daemon

Además de encender el servicio, esto va a generarnos el archivo principal de configuración del aMule que vamos a editar más adelante.

Configuración local

Ahora ya tienes el demonio funcionando y se ha creado el archivo de configuración en .aMule/amule.conf, vuelve debemos detener el demonio para escribir en el.

sudo systemctl stop amule-daemon

y abre con el editor de texto de la terminal el archivo de configuración.

nano .aMule/amule.conf

Empecemos a configurar las conexiones externas

Conexiones externas.

Desplázate hasta [ExternalConnect] y cambia estos dos valores:
<< AcceptExternalConnections>> cambialo de 0 a 1
<<ECPassword>>
Para calcular la contraseña escribe en una terminal:
echo -n tu_contraseña | md5sum
El resultado del comando anterior lo pegas despues de ECPassword

[ExternalConnect]
UseSrcSeeds=0
ShowPercent=1
ShowProgressBar=1
AcceptExternalConnections=1
ECAddress=
ECPort=4712
UPnPECEnabled=0
ECPassword=dda51edefjdforfjdgres
UseSecIdent=1
IpFilterClients=1
IpFilterServers=1
TransmitOnlyUploadingClients=0

Servidor web

Ahora buscamos [webserver] y cambiamos:
<<Enabled>> lo pasamos de 0 a 1 para activar el servidor web
<<Password >> lo calculamos como el punto anterior
<<Port>> pon el puerto con el que vayas a entrar desde fuera de tu red (recuerda abrirlo desde el router)

[WebServer]
Enabled=1
Template=AmuleWebUI-Reloaded
Password=0EADCFB92DFDGGHGJYUJHJH
UseLowRightsUser=0
PasswordLow=
Port=74711
UPnPWebServerEnabled=0
WebUPnPTCPPort=50001
PageRefreshTime=120
UseGzip=1
Path=amuleweb

Llegados a este punto, puedes abrir aMule y seguir completando el menú de <<Preferencias>>, ya que ambos comparten el mismo archivo de configuración alojado en .aMule/amule.conf

Si prefieres seguir configurando desde el terminal sigue leyendo.

Los puntos más importantes a modificar son los resaltados en amarillo.

[eMule]
AppVersion=2.3.3
Nick=Escribe aquí el nombre de tu usuario
NewVersionCheck=0
StartupMinimized=0
ConfirmExit=1
EnableTrayIcon=0
MinToTray=0
Notifications=0
ToolTipDelay=1
VideoPlayer=
MaxDownload=0
MaxUpload=1536
SlotAllocation=2
Port=24662
UDPEnable=1
UDPPort=24672
UPnPEnabled=0
UPnPTCPPort=50000
Address=
MaxSourcesPerFile=600
MaxConnections=1000
ConnectToKad=1
ConnectToED2K=1
Autoconnect=1
Reconnect=1
RemoveDeadServer=1
DeadServerRetry=3
Serverlist=1
AddServerListFromServer=0
AddServerListFromClient=0
Scoresystem=1
SmartIdCheck=1
SafeServerConnect=0
AutoConnectStaticOnly=0
ManualHighPrio=0
ICH=1
AICHTrust=0
AddNewFilesPaused=0
DAPPref=1
PreviewPrio=0
StartNextFile=0
StartNextFileSameCat=0
StartNextFileAlpha=0
AllocateFullFile=1
CheckDiskspace=1
MinFreeDiskSpace=1
UAPPref=1
IncomingDir=/home/lenovo/.aMule/Incoming
TempDir=/home/lenovo/.aMule/Temp
ShareHiddenFiles=1
StatGraphsInterval=3
StatsAverageMinutes=5
VariousStatisticsMaxValue=100
DownloadCapacity=300
UploadCapacity=100
statsInterval=30
MaxConnectionsPerFiveSeconds=50
FileBufferSizePref=16
QueueSizePref=50
ServerKeepAliveTimeout=0
ShowInfoOnCatTabs=1
ShowVersionOnTitle=0
ShowOverhead=0
VerticalToolbar=0
GeoIPEnabled=0
3DDepth=5
AutoSortDownloads=0
SeeShare=2
IPFilterURL=http://upd.emule-security.org/ipfilter.zip
IPFilterAutoLoad=1
FilterLevel=127
FilterLanIPs=1
ParanoidFiltering=1
IPFilterSystem=0
OnlineSignature=0
OnlineSignatureUpdate=5
OSDirectory=/home/lenovo/.aMule/
FilterMessages=1
FilterAllMessages=0
MessagesFromFriendsOnly=0
MessageFromValidSourcesOnly=1
FilterWordMessages=0
MessageFilter=
ShowMessagesInLog=1
FilterComments=0
CommentFilter=
AdvancedSpamFilter=1
MessageUseCaptchas=1
Language=
SplitterbarPosition=75
YourHostname=
DateTimeFormat=%A, %x, %X
AllcatType=0
ShowAllNotCats=0
SmartIdState=1
DropSlowSources=0
KadNodesUrl=http://upd.emule-security.org/nodes.dat
Ed2kServersUrl=http://upd.emule-security.org/server.met
ShowRatesOnTitle=0
GeoLiteCountryUpdateUrl=http://geolite.maxmind.com/download/geoip/database/GeoL>
StatsServerName=Shorty's ED2K stats
StatsServerURL=http://ed2k.shortypower.dyndns.org/?hash=
CreateSparseFiles=1
StatColor0=4194304
StatColor1=16761024
StatColor2=8454016
StatColor3=53760
StatColor4=32768
StatColor5=8421631
StatColor6=200
StatColor7=140
StatColor8=16750230
StatColor9=12583104
StatColor10=8454143
StatColor11=0
StatColor12=8454016
StatColor13=53760
StatColor14=32768
TableOrderingServer=N:0:0
TableWidthsServer=N:150,A:140,P:25,D:150,p:25,U:40,F:45,r:60,f:40,S:40,V:80
TableOrderingDownload=a:0:0
TableWidthsDownload=a:30,N:260,Z:60,T:65,C:65,S:65,P:170,u:50,p:55,s:70,r:110,c>
TableOrderingSources=N:0:0
TableWidthsSources=N:260,D:65,S:65,U:65,P:170,V:50,q:55,O:110,F:200,R:200,m:100
TableOrderingShared=N:0:0
TableWidthsShared=N:250,Z:100,Y:50,p:70,I:220,Q:100,A:100,T:120,R:100,P:120,C:1>
TableOrderingPeers=N:0:0
TableWidthsPeers=N:260,D:65,S:65,U:65,s:65,A:170,V:50,Q:70,q:70,O:110,f:200,m:1>
TableOrderingSearch=N:0:0
TableWidthsSearch=N:500,Z:100,u:50,Y:65,I:280,S:100,D:280

Descripción de los puntos más importantes de la configuración de aMule.

  • Nick=El nombre de tu usuario
  • MaxDownload=0 Velocidad máxima de descarga
  • MaxUpload=1536 Velocidad máxima de subida
  • Port=24662 Número del puerto TCP
  • UDPPort=24672 Número del puerto UDP
  • MaxSourcesPerFile=600 Fuentes máximas por archivo
  • MaxConnections=1000 Conexiones máximas
  • Serverlist=1 Actualizar lista de servidores al inicio
  • AllocateFullFile=1 Reserva espacio completo del archivo (menos accesos al disco)
  • IncomingDir=/home/lenovo/.aMule/Incoming Directorio de Descargas
  • TempDir=/home/lenovo/.aMule/Temp Directorio de descargas temporales
  • MaxConnectionsPerFiveSeconds=50 Conexiones máximas cada 5 segundos
  • IPFilterURL=http://upd.emule-security.org/ipfilter.zip Filtro de IPs
  • OSDirectory=/home/lenovo/.aMule/ Directorio del usuario donde se aloja aMule
  • SmartIdState=1
  • Ed2kServersUrl=http://upd.emule-security.org/server.met Listado de servidores en internet

Ahora es cuando debes de activar el demonio para empezar a usar aMule

sudo systemctl start amule-daemon

Control del demonio.

Script de Vigilacia de amuled

La misión de este script es la de vigilar que aMule sigue en ejecución y si no es así, vuelva a ejecutarlo.

Aunque aMule, en su versión 2.3.3 es bastante más estable que sus anteriores versiones, puede ocurrir, que en ciertas ocasiones, se cierre inesperadamente, creando el problema de no poder seguir compartiendo nuestros archivos. En mi caso, aMule ha llegado a cerrarse cuando termina la descarga de un archivo de gran tamaño.

He simplificado el script con un par de condicionales if anidados, que a diferencia del antiguo script, mantiene el archivo mulelock siempre que aMule está en ejecución.

¿Qué requisitos son necesarios para abrir o reabrir amuled?

    1 – Que el archivo muleLock no exista.
    2 – Que el servidor amuleweb esté cerrado

El script

#!/bin/bash

#https://chapuboot.blogspot.com/
#última modificación 25/03/2023

#chequea si aMule esta corriendo

if pgrep amuled > /dev/null 2>&1 

then

        echo "                                        "
        date +%c

        echo "                                        "

        echo "********************"

        echo "amuled esta corriendo" 

        echo "********************"

echo "                                         "

 else

        echo "                                                          "

        echo " amuled está cerrado, abriendo"

        echo ".........................................................."     
                       

                if [ -f ~/.aMule/muleLock ]; then

                        echo "                                            "

                        echo "muleLock existe, borrando."

                        rm ~/.aMule/muleLock

                        echo "                                            "            

                        echo "mulelock ha sido borrado"

                        killall -9 amuleweb > /dev/null 2>&1

                        sleep 5s

                        amuled & > /dev/null 2>&1

                        echo "         "            

                        echo "corriendo"

                else

                        echo "mulelock no existe"    

                        killall -9 amuleweb > /dev/null 2>&1

                        sleep 5s

                        amuled & > /dev/null 2>&1

                        echo "         "            

                        echo "corriendo"

        fi

fi

El primer condicional if comprueba que amuled está en ejecución, si es así,  muestra un mensaje que dice » amuled está corriendo» y el script termina ahí.

Si no está corriendo, se comprueba que el archivo amulelock existe, si es así, lo borra, cierra el servidor  amuleweb (si estuviese abierto) y abre amuled. Y si no existe el archivo amulelock, cierra el servidor amuleweb (si estuviese abierto) y abre amuled.

Para quitar los mensajes de error y apertura de programa, he llevado dicha información a /dev/null, así me aseguro que el script solo imprime en el log los mensajes que me interesan.

Así que lo copiamos todo en un archivo de texto y lo guardamos con el nombre que queramos. Yo lo he guardado con el nombre aMuleLock.sh

También lo puedes descargar desde aquí

Una vez hayas descargado o guardado el script, deberás hacerlo ejecutable, para ello en una terminal escribe:

chmod +x aMuleLock.sh

La automatización 

Se puede ejecutar este script a través de Cron que sirve para automatizar tareas, yo lo haré en el minuto 5 de cada hora.

La tarea se debe ejecutar como usuario, no como root, ya que aMule no permite ejecutar como superusuario.

Crearemos un archivo Crontab, así que desde la terminal ejecutamos el siguiente comando:

crontab -e

Nos pedirá que editor de textos queremos usar de una lista, yo he elegido el editor nano y pegamos el siguiente comando:

*/5  * * * *  ~/aMuleLock.sh >>  ~/aMuleLock.log 2>&1

Esto quiere decir que en el minuto 5 de cada hora se ejecutará el script aMuleLock.sh y nos creará un archivo Log con la información pertinente.

En Monitor del sistema podemos comprobar si amuled y amuleweb están en ejecución.

En nuestra carpeta Home se habrá creado un archivo log, con la información de la vigilancia del minuto 5 de cada hora (aMuleLock.log)

Si accedemos al archivo log, veremos la información de ejecutar nuestro script cada 5 minutos.

Con el archivo log que crea Cron, podemos saber que nuestra tarea está funcionando de forma correcta.

¡¡¡Recuerda!!!

aMule y amuled no pueden correr juntos, ahora para usar aMule deberás usar el programa aMuleGUI.

Abre aMuleGUI y conectate a localhost y puerto 4712 introduce la contraseña para acceder a aMule

Para usar aMuleGUI debes tener configurado el control remoto de aMule, véase aquí

Mas información

aMule se bloquea con bastante frecuencia. ¿Puedo configurarlo para que se reinicie cada vez que falla?

mas script sobre ejecución de amule

http://forum.amule.org/index.php?topic=1232.0

http://forum.amule.org/index.php?topic=542.0

http://deepthought.ena.si/mulerunner

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio