<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>amule &#8211; El Cornijal de Linux</title>
	<atom:link href="https://linuxete.duckdns.org/category/amule/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxete.duckdns.org</link>
	<description>Un blog sobre Linux</description>
	<lastBuildDate>Fri, 13 Mar 2026 18:20:08 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Compilar aMule desde GitHub (Rama Master) en Raspberry Pi</title>
		<link>https://linuxete.duckdns.org/compilar-amule-desde-github-rama-master-en-raspberry-pi/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=compilar-amule-desde-github-rama-master-en-raspberry-pi</link>
					<comments>https://linuxete.duckdns.org/compilar-amule-desde-github-rama-master-en-raspberry-pi/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 14 Feb 2026 21:31:24 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[P2P]]></category>
		<category><![CDATA[amuled]]></category>
		<category><![CDATA[Compilación]]></category>
		<category><![CDATA[Debian 13]]></category>
		<category><![CDATA[Raspberry Pi 5]]></category>
		<category><![CDATA[SSD]]></category>
		<category><![CDATA[Systemd]]></category>
		<category><![CDATA[Tutorial Linux]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=3846</guid>

					<description><![CDATA[«Instalar aMule desde GitHub no solo sirve para tener nuevas funciones, si no, para asegurar que el programa sea totalmente compatible con el hardware y software moderno. Obtenemos un binario que aprovecha los 64 bits de la Raspberry Pi, ya que desde 2021, el código está «congelado». Ramas de desarrollo. A la hora de compilar [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>«Instalar aMule desde GitHub no solo sirve para tener nuevas funciones, si no, para asegurar que el programa sea <strong>totalmente compatible con el hardware y software moderno</strong>. Obtenemos un binario que aprovecha los 64 bits de la Raspberry Pi, ya que desde 2021, el código está «congelado».</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Ramas de desarrollo.</h2>



<p>A la hora de compilar debes saber que existen varias ramas de desarrollo. Para entenderlo fácil, imagina que el desarrollo de un programa en GitHub es como un <strong>árbol</strong> del cual parten distintas ramas, y de nosotros depende elegir la rama que se ajuste a nuestras necesidades.</p>



<p>De las ramas disponibles, la rama <strong><code>master</code></strong> (o a veces llamada <code>main</code>) es la que ocupa nuestra atención, es donde los desarrolladores van subiendo todos los parches modernos para hacerlo compatible con el compilador actual (<code>gcc</code>) y las nuevas librerías (<code>wxWidgets 3.2</code>).</p>



<p>Otras ramas son las <code>Tags</code> y los <code>Branches</code> de desarollo.</p>



<p>En esta tabla a modo de resumen, te muestro los tres tipos de «versiones» disponibles:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>Tipo</strong></td><td><strong>Qué es</strong></td><td><strong>¿Cuándo elegirla?</strong></td></tr></thead><tbody><tr><td><strong>Master (Branch)</strong></td><td>El tronco principal. Tiene lo último de lo último.</td><td><strong>Nuestra elección.</strong> Es la más compatible con sistemas modernos.</td></tr><tr><td><strong>Tags (Etiquetas)</strong></td><td>Son «fotos» fijas del código en un momento concreto (ej. v2.3.3).</td><td>Solo si usas un sistema operativo viejo que coincida con la fecha de esa versión.</td></tr><tr><td><strong>Branches de desarrollo</strong></td><td>Ramas paralelas donde se prueban cosas experimentales (ej. <code>fix-webserver</code>).</td><td>Solo si eres desarrollador y quieres probar una función específica que aún no está terminada.</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>«Usamos la rama <strong>Master</strong> porque es la versión &#8216;viva&#8217; del código. Mientras que las versiones descargables (estables) se quedan congeladas en el tiempo, la rama Master recibe actualizaciones constantes que permiten que aMule se compile sin errores en sistemas de vanguardia como Debian 13.»</em></p>
</blockquote>



<h2 class="wp-block-heading">Desactiva Wayland</h2>



<p>Tu <strong>Raspberry Pi 5</strong> con Debian 13 usa por defecto <strong>Wayland</strong> como servidor gráfico. Sin embargo, <strong>aMule</strong> utiliza la librería <strong>wxWidgets</strong> (wxGTK).</p>



<p>Aunque wxWidgets ha mejorado mucho, su implementación para Wayland todavía tiene problemas graves con los menús contextuales y las barras de herramientas en aplicaciones que no han sido actualizadas internamente. Al forzar <strong>X11</strong>, el sistema utiliza una capa de compatibilidad (XWayland) que dibuja las ventanas de la forma «clásica», permitiendo que los menús aparezcan donde deben.</p>



<h3 class="wp-block-heading">Sigue estos pasos en tu Raspberry Pi OS</h3>



<p>Si usas la imagen oficial de Raspberry Pi, hay una herramienta integrada que gestiona esto sin tocar código:</p>



<ol start="1" class="wp-block-list">
<li>Abre la terminal y escribe: <code>sudo raspi-config</code></li>



<li>Ve a <strong>Advanced Options</strong> (Opciones avanzadas).</li>



<li>Busca la opción <strong>Wayland</strong>.</li>



<li>Selecciona <strong>X11</strong> (o «Disable Wayland»).</li>



<li>Finaliza y <strong>reinicia</strong>.</li>
</ol>



<h2 class="wp-block-heading">1. Limpieza de Instalaciones Previas</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Utiliza este punto, si ya tenías aMule instalado y por ende, un servicio systemd de control. Si no es así, pasa al punto 2.</p>
</blockquote>



<p>Si ya usabas aMule o bien tenías algún servicio de systemd corriendo para su gestion, debemos eliminar todo rastro para evitar conflictos con versiones antiguas de los repositorios.</p>



<p>Comprueba si ya tienes un servicio activo con <code>systemctl list-units --all | grep -i amule</code></p>



<pre class="wp-block-code"><code><strong>systemctl list-units --all | grep -i amule</strong>
  <mark style="background-color:rgba(0, 0, 0, 0);color:#cf2e2e" class="has-inline-color">amule.service</mark><mark style="background-color:rgba(0, 0, 0, 0);color:#7bdcb5" class="has-inline-color"> </mark>                                                                                                                                                                       loaded    active   running   aMule Master Daemon
</code></pre>



<p>Esto arroja que tengo un servicio llamado <code>amule.service</code> y debo detenerlo con este comando:</p>



<pre class="wp-block-code"><code>sudo systemctl stop amule.service</code></pre>



<p>Una vez detenido el servicio, desinstalamos todo lo relacionado con aMule</p>



<pre id="block-2cb1bd22-d0e4-477c-aeb5-ded12e160709" class="wp-block-preformatted">sudo apt purge amule amule-daemon amule-utils-gui amule-utils amule-common</pre>



<p>Y por último eliminamos todos los restos que dependen de la mula.</p>



<pre class="wp-block-code"><code>sudo apt autoremove --purge</code></pre>



<h2 class="wp-block-heading">2. Instalación de Dependencias de Compilación</h2>



<p>Necesitamos el conjunto de herramientas de desarrollo y las librerías necesarias para el GUI remoto y el demonio:</p>



<pre class="wp-block-code"><code>sudo apt update</code></pre>



<p>Instala el compilador y demás librerías. Copia y pega todo ese bloque en la terminal y dale a Enter.</p>



<pre class="wp-block-code"><code>
sudo apt install -y libboost-all-dev git build-essential autoconf automake libtool \
libwxgtk3.2-dev libcryptsetup-dev libcurl4-openssl-dev libgd-dev \
libgeoip-dev libupnp-dev libboost-dev binutils-dev zlib1g-dev \
libcrypto++-dev libreadline-dev gettext autopoint
</code></pre>



<h2 class="wp-block-heading">3. Obtención y Preparación del Código (Master)</h2>



<p>Clonamos directamente la rama de desarrollo para asegurar que los parches estén aplicados:</p>



<p>Nos situamos en el directorio principal con:</p>



<pre class="wp-block-code"><code>cd ~</code></pre>



<p>Descargamos el directorio completo desde GitHub</p>



<pre id="block-cb6aed43-81ff-4077-b91a-d2069335ac15" class="wp-block-preformatted">git clone https://github.com/amule-project/amule.git</pre>



<p>El código anterior nos genera un directorio llamado amule, en el cual nos debemos situar con el comando:</p>



<pre class="wp-block-code"><code> cd amule</code></pre>



<p>Elegimos la rama principal de desarrollo (main)</p>



<pre class="wp-block-code"><code>git checkout master</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Con <code>git checkout master</code>, le decimos a nuestra Raspberry: <em>«No me des lo que se publicó hace años, dame lo que los desarrolladores tienen en su mesa de trabajo hoy mismo»</em>.</p>
</blockquote>



<p>Preparamos el código fuente antes de la compilacion para permitir al software compilarse específicamente en tu máquina</p>



<pre class="wp-block-code"><code>./autogen.sh</code></pre>



<p>El siguiente comando no es necesario usarlo, sirve para «volver al estado de fábrica» cuando ya has intentado compilar antes y la carpeta se ha llenado de archivos basura (objetos .o, ejecutables a medio hacer, scripts generados por ./autogen.sh). Se debería usar antes de ./autogen.sh para así una vez ejecutado, se vuelvan a crear los nuevos archivos de compilación.</p>



<pre class="wp-block-code"><code>git clean -fxd       # Limpieza total del árbol de archivos</code></pre>



<h2 class="wp-block-heading">4. Configuración del Demonio y Utilidades</h2>



<p>A continuación te presento dos tipos de configuraciones, ya sea para Raspberry Pi 4 o Raspberry Pi 5 y así obtener la configuración del demonio (<code>amuled</code>), la interfaz gráfica remota (<code>amule-gui</code>) y las herramientas de consola:</p>



<p>«El comando <code>./configure</code> es el cerebro del proceso. Se encarga de comprobar que tu Raspberry Pi tiene todas las librerías instaladas y utiliza nuestras instrucciones personalizadas para crear un plan de construcción (Makefile) optimizado para nuestro SSD y procesador.»</p>



<p>Copia esto tal cual y lo pegas en tu terminal.</p>



<p>Para Raspberry Pi 4 (Cortex-A72)</p>



<pre class="wp-block-code"><code>CXXFLAGS="-O3 -march=armv8-a+crc+simd -mtune=cortex-a72" ./configure \
    --enable-amule-daemon \
    --enable-amule-gui \
    --enable-amulecmd \
    --enable-webserver \
    --enable-cas \
    --enable-alcc \
    --disable-monolithic \
    --with-denoise-level=0 \
    --enable-optimize \
    --enable-mmap \
    --disable-debug
    --with-boost
</code></pre>



<p>Para Raspberry Pi 5 (Cortex-A76)</p>



<pre class="wp-block-code"><code>CXXFLAGS="-O3 -march=armv8.2-a+crypto -mtune=cortex-a76" \
./configure \
    --enable-amule-daemon \
    --enable-amule-gui \
    --enable-amulecmd \
    --enable-webserver \
    --enable-cas \
    --enable-alcc \
    --disable-monolithic \
    --with-denoise-level=0 \
    --enable-optimize \
    --enable-mmap \
    --disable-debug \
    --with-boost</code></pre>



<p>Si <code>./configure</code> falla con «Boost not found», prueba:<br><br><code>--with-boost=/usr --with-boost-libdir=/usr/lib/aarch64-linux-gnu --with-boost-includedir=/usr/include</code></p>



<p>Se ha incluido <code>--enable-optimize</code> para que la Raspberry Pi  exprima su procesador y <code>--disable-monolithic</code> para separar el demonio de la interfaz.</p>



<h2 class="wp-block-heading">5. Compilación Potente e Instalación</h2>



<p>Aprovechamos los 4 núcleos de la Pi 4. Al estar en SSD, este proceso es significativamente más rápido:</p>



<pre class="wp-block-code"><code>make -j$(nproc)</code></pre>



<p><code>make -j$(nproc)</code> (La Construcción)</p>



<p>Este es el comando que hace el trabajo pesado.</p>



<ul class="wp-block-list">
<li><strong>¿Qué hace?</strong>: Lee un archivo llamado <code>Makefile</code> (que se generó al ejecutar el <code>./configure</code>) y empieza a llamar al compilador para transformar cada archivo de código <code>.cpp</code> en archivos binarios de lenguaje máquina.</li>



<li><strong>El parámetro <code>--j$(nproc)</code></strong>: Es vital en la Raspberry Pi 4. Le dice al sistema: «<em>Usamos <code>$(nproc)</code> para que el sistema detecte automáticamente los 4 núcleos de la Pi 4 o Pi 5</em> «. Sin el <code>-j$(nproc)</code>, solo usaría uno y la compilación de aMule tardaría 4 veces más.</li>



<li><strong>Resultado</strong>: Al terminar, tendrás el programa «construido» dentro de la carpeta donde estás, pero aún no está instalado en el sistema.</li>
</ul>



<pre class="wp-block-code"><code>sudo make install</code></pre>



<p><code>sudo make install</code> (La Mudanza)</p>



<p>Una vez que el programa está construido, hay que poner cada pieza en su sitio definitivo.</p>



<ul class="wp-block-list">
<li><strong>¿Qué hace?</strong>: Copia los ejecutables (como <code>amuled</code>, <code>amulegui</code>) y los archivos de ayuda/traducciones a las carpetas protegidas del sistema operativo.</li>



<li><strong>¿A dónde van?</strong>: En tu caso, los mueve a <code>/usr/local/bin/</code>.</li>



<li><strong>¿Por qué <code>sudo</code>?</strong>: Porque para escribir archivos en las carpetas del sistema (<code>/usr/local/</code>) necesitas permisos de administrador (SuperUser DO).</li>
</ul>



<pre class="wp-block-code"><code>sudo ldconfig</code></pre>



<p><code>sudo ldconfig</code> (El Registro)</p>



<p>Este es el paso que mucha gente olvida y que causa errores de «librería no encontrada».</p>



<ul class="wp-block-list">
<li><strong>¿Qué hace?</strong>: Actualiza los enlaces y la caché de las librerías compartidas.</li>



<li><strong>¿Por qué es necesario?</strong>: aMule utiliza muchas piezas externas (como <code>wxWidgets</code> o <code>Crypto++</code>). Al instalar versiones nuevas, el sistema necesita «indexarlas» en una base de datos interna (<code>/etc/ld.so.cache</code>).</li>



<li><strong>En resumen</strong>: Le dice al sistema operativo: «¡Oye! Acabamos de instalar programas y librerías nuevas en <code>/usr/local/lib</code>. Asegúrate de que todos los procesos sepan dónde encontrarlas ahora mismo».</li>
</ul>



<h2 class="wp-block-heading">6. Configuración de Acceso y Directorios</h2>



<h3 class="wp-block-heading">A. Primer arranque</h3>



<p>Para que todo funcione, tienes que «despertar» al demonio.</p>



<p>En una terminal escribe:</p>



<pre class="wp-block-code"><code>amuled</code></pre>



<p>Esto creará la carpeta <code>~/.aMule</code>.</p>



<p>Es muy posible que en la primera vez que el programa se ejecute, este se cierre automáticamente, ¡Tranquilo! es totalmente normal. La primera vez que ejecutas aMule, crea la carpeta de configuración, pero se cierra inmediatamente porque <strong>un demonio sin «mando a distancia» no sirve para nada</strong>.</p>



<p>El error te está diciendo literalmente: <em>«Si no puedo conectarme con el exterior, no tengo forma de que me des órdenes»</em>.</p>



<h3 class="wp-block-heading">B. Generar una contraseña segura</h3>



<p>Las contraseñas del archivo <strong>amule.conf</strong> son encriptadas y no se pueden escribir directamente. Por ejemplo para usar la contraseña &lt;<strong>BurritoSabanero</strong>&gt; habrá que encriptarla para que sea válida y se pueda usar.</p>



<p>Primero, genera el código (hash) de tu contraseña. Cambia <code>tu_contraseña_aquí</code> por la que quieras:</p>



<pre class="wp-block-code"><code>echo -n "tu_contraseña_aquí" | md5sum</code></pre>



<p>Por ejemplo:</p>



<pre class="wp-block-code"><code>echo -n "BurritoSabanero" | md5sum</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>No olvides entrecomillar la palabra elegida como contraseña.</p>
</blockquote>



<p>Esto nos dará como resultado la contraseña encriptada siguiente:</p>



<pre class="wp-block-code"><code>0d545153bf7b94d6094a01f5f925163b  -</code></pre>



<h3 class="wp-block-heading">C. Editar el archivo de configuración</h3>



<p>Ahora vamos a decirle a aMule que acepte conexiones y a ponerle esa contraseña. Abre el editor:</p>



<pre class="wp-block-code"><code>nano ~/.aMule/amule.conf</code></pre>



<p>Busca las líneas que dicen, <strong>ECPassword</strong> y <strong><code>AcceptExternalConnections</code></strong> y déjalas así:</p>



<ul class="wp-block-list">
<li><strong><code>AcceptExternalConnections=1</code></strong> (Cambia el 0 por el 1)</li>



<li><strong><code>ECPassword=la_contraseña_que_generaste</code></strong> (Pega aquí el hash MD5)</li>
</ul>



<h3 class="wp-block-heading">D. Activar la Interfaz Web.</h3>



<p>Como has instalado <code>amule-utils</code>, también tienes <strong><code>amuleweb</code></strong>. Si lo activas, podrás gestionar las descargas escribiendo la IP de tu Raspberry en el navegador de tu móvil o tablet (ej: <code>http://192.168.1.50:24711</code>).</p>



<p>Busca también la sección [WebServer] y cambia lo siguiente.</p>



<ul class="wp-block-list">
<li><strong><code>Enabled=1</code></strong></li>



<li><strong><code>Password=la_contraseña_que_generaste</code></strong> (Puedes usar la misma o generar otra distinta)</li>
</ul>



<h3 class="wp-block-heading">E. Prueba de fuego</h3>



<p>Guarda los cambios con <code>Ctrl+O</code>, pulsa <code>Enter</code> y sal con <code>Ctrl+X</code>.</p>



<p>Ahora vuelve a lanzar el demonio:</p>



<pre class="wp-block-code"><code>amuled -f</code></pre>



<p>Si todo ha ido bien, esta vez <strong>no se cerrará</strong>. Se quedará funcionando.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Tip de experto:</strong> Como <code>amuled</code> se queda bloqueando la terminal, lo ideal es lanzarlo en segundo plano para que libere la terminal y asi puedas seguir usandola. Esto se logran usando el modificador <code>-f</code> al final del comando.</p>
</blockquote>



<h3 class="wp-block-heading">F.Configuración aMule</h3>



<p>Para modificar la configuración de amuled, asegurate que el demonio no se está ejecutando.</p>



<pre class="wp-block-code"><code>killall amuled</code></pre>



<p>Con el demonio fuera de juego, podemos editar nuestras preferencias en el archivo de configuración de amule.</p>



<pre class="wp-block-code"><code>nano /home/usuario/.aMule/amule.conf</code></pre>



<p>La siguiente configuración es una copia de mi archivo <strong>amule.conf</strong>. Si quieres puedes usarlo copiarlo y adaptarlo a tus necesidades. Yo he modificado las líneas que están resaltadas en verde con respecto al archivo original.</p>



<pre class="wp-block-code"><code>&#91;eMule]
AppVersion=2.3.3
<mark>Nick=Usuario_de_aMule</mark>
QueueSizePref=50
<mark>MaxUpload=5000</mark>
<mark>MaxDownload=19375</mark>
<mark>SlotAllocation=20</mark>
<mark>Port=24662</mark>
<mark>UDPPort=24672</mark>
UDPEnable=1
Address=
Autoconnect=1
<mark>MaxSourcesPerFile=300</mark>
MaxConnections=300
MaxConnectionsPerFiveSeconds=20
RemoveDeadServer=1
DeadServerRetry=3
ServerKeepAliveTimeout=0
Reconnect=1
Scoresystem=1
Serverlist=1
AddServerListFromServer=0
AddServerListFromClient=0
SafeServerConnect=0
AutoConnectStaticOnly=0
UPnPEnabled=0
UPnPTCPPort=50000
SmartIdCheck=1
ConnectToKad=1
ConnectToED2K=1
TempDir=/home/<mark>tu_usuario</mark>/.aMule/Temp
IncomingDir=/home/<mark>tu_usuario</mark>/.aMule/Incoming
ICH=1
AICHTrust=0
CheckDiskspace=1
MinFreeDiskSpace=1
AddNewFilesPaused=0
PreviewPrio=0
ManualHighPrio=0
StartNextFile=0
StartNextFileSameCat=0
StartNextFileAlpha=0
FileBufferSizePref=100
DAPPref=1
UAPPref=1
AllocateFullFile=0
OSDirectory=/home/tu_usuario/.aMule/
OnlineSignature=0
OnlineSignatureUpdate=5
EnableTrayIcon=0
MinToTray=0
Notifications=0
ConfirmExit=1
StartupMinimized=0
3DDepth=10
ToolTipDelay=1
ShowOverhead=0
ShowInfoOnCatTabs=1
VerticalToolbar=0
<mark>GeoIPEnabled=0</mark>
ShowVersionOnTitle=0
VideoPlayer=
StatGraphsInterval=3
statsInterval=30
DownloadCapacity=300
UploadCapacity=100
StatsAverageMinutes=5
VariousStatisticsMaxValue=100
SeeShare=2
FilterLanIPs=1
ParanoidFiltering=1
IPFilterAutoLoad=1
<mark>IPFilterURL=http://upd.emule-security.org/ipfilter.zip</mark>
FilterLevel=127
IPFilterSystem=0
FilterMessages=1
FilterAllMessages=0
MessagesFromFriendsOnly=0
MessageFromValidSourcesOnly=1
FilterWordMessages=0
MessageFilter=
ShowMessagesInLog=1
FilterComments=0
CommentFilter=
ShareHiddenFiles=1
AutoSortDownloads=0
NewVersionCheck=0
AdvancedSpamFilter=1
MessageUseCaptchas=1
Language=
SplitterbarPosition=75
YourHostname=
DateTimeFormat=%A, %x, %X
AllcatType=0
ShowAllNotCats=0
SmartIdState=1
DropSlowSources=0
<mark>KadNodesUrl=http://upd.emule-security.org/nodes.dat</mark>
<mark>Ed2kServersUrl=http://emule-security.org/serverlist/server.met</mark>
ShowRatesOnTitle=0
GeoLiteCountryUpdateUrl=http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
StatsServerName=Shorty's ED2K stats
StatsServerURL=http://ed2k.shortypower.dyndns.org/?hash=
CreateSparseFiles=1
&#91;Browser]
OpenPageInTab=1
CustomBrowserString=
&#91;Proxy]
ProxyEnableProxy=0
ProxyType=0
ProxyName=
ProxyPort=1080
ProxyEnablePassword=0
ProxyUser=
ProxyPassword=
&#91;ExternalConnect]
UseSrcSeeds=0
<mark>AcceptExternalConnections=1</mark>
ECAddress=
ECPort=4712
<mark>ECPassword=0d545153bf7b94d6094a01f5f925163b</mark>
UPnPECEnabled=0
ShowProgressBar=1
ShowPercent=1
UseSecIdent=1
IpFilterClients=1
IpFilterServers=1
TransmitOnlyUploadingClients=0
&#91;WebServer]
Enabled=1
<mark>Password=0d545153bf7b94d6094a01f5f925163b</mark>
PasswordLow=
<mark>Port=24711</mark>
WebUPnPTCPPort=50001
UPnPWebServerEnabled=0
UseGzip=1
UseLowRightsUser=0
PageRefreshTime=120
Template=default
Path=amuleweb
&#91;GUI]
HideOnClose=0
&#91;Razor_Preferences]
FastED2KLinksHandler=1
&#91;SkinGUIOptions]
Skin=
&#91;Statistics]
MaxClientVersions=0
&#91;Obfuscation]
IsClientCryptLayerSupported=1
IsCryptLayerRequested=1
IsClientCryptLayerRequired=0
CryptoPaddingLenght=254
CryptoKadUDPKey=1686729473
&#91;PowerManagement]
PreventSleepWhileDownloading=0
&#91;UserEvents]
&#91;UserEvents/DownloadCompleted]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;UserEvents/NewChatSession]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;UserEvents/OutOfDiskSpace]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;UserEvents/ErrorOnCompletion]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;HTTPDownload]
URL_1=http://upd.emule-security.org/ipfilter.zip
URL_2=http://emule-security.org/serverlist/server.met
URL_5=http://upd.emule-security.org/nodes.dat
URL_3=http://emule-security.org/serverlist/server.met

</code></pre>



<p>Descripción de los puntos más importantes de la configuración de aMule.</p>



<h4 class="wp-block-heading">Parámetros Críticos de Configuración (<code>amule.conf</code>)</h4>



<ul class="wp-block-list">
<li><strong><code>Nick</code></strong>: Es tu nombre de usuario en la red. Aunque no afecta a la velocidad, sirve para identificarte en las colas de otros usuarios.</li>



<li><strong><code>MaxDownload=19375</code></strong>: Define el límite máximo de descarga (en este caso, unos 150 Mbps). Permite que aMule use el ancho de banda necesario sin saturar la CPU de la Raspberry.</li>



<li><strong><code>MaxUpload=5000</code></strong>: Define la velocidad de subida. Es vital ser generoso (5 MB/s); en la red eD2k, cuanto más subes, más créditos ganas y más rápido descargas de los demás.</li>



<li>Slot Allocation=20 : determina <strong>cuánta velocidad de subida le das a cada persona</strong> que se descarga algo de ti. Con 5000 de subida total, estás abriendo <strong>250 slots simultáneos</strong>. Vas a ganar créditos con 250 personas a la vez, lo que te garantiza descargar a máxima velocidad en tiempo récord.</li>



<li><strong><code>Port=24662</code> (TCP)</strong>: Es el puerto que usa el programa para recibir datos. Debe estar abierto en tu router hacia la IP de la Raspberry para evitar la «ID Baja».</li>



<li><strong><code>UDPPort=24672</code> (UDP)</strong>: Puerto para la red Kad y búsquedas. También debe estar abierto en el router para que la red funcione al 100%.</li>



<li><strong><code>MaxSourcesPerFile=300</code></strong>: El número máximo de fuentes que el programa buscará por cada archivo. Un valor de 300 es el punto de equilibrio ideal para la Raspberry Pi 4.</li>



<li><strong><code>MaxConnections=300</code></strong>: Límite de conexiones totales simultáneas. Mantenerlo en 300 evita que la Raspberry se bloquee por exceso de hilos de red abiertos. Si se sube mucho (ej. 500 o más), la Pi suele dar errores de red (<code>epoll</code>).</li>



<li><strong><code>MaxConnectionsPerFiveSeconds=20</code></strong>: Controla cuántas conexiones nuevas se intentan cada 5 segundos. Un valor bajo (20) evita que el router colapse al arrancar el programa.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading">Mantenimiento y Rendimiento del Sistema</h4>



<ul class="wp-block-list">
<li><strong><code>FileBufferSizePref=100</code></strong>: Define el tamaño del búfer en RAM antes de escribir en el disco. Un valor alto (100% o más) reduce el número de escrituras constantes, protegiendo la salud de la tarjeta MicroSD.</li>



<li><strong><code>AllocateFullFile=0</code></strong>: Si está en <code>1</code>, reserva todo el espacio del archivo al empezar. En la Raspberry es mejor dejarlo en <code>0</code> para que no se congele el sistema al intentar crear archivos muy grandes de golpe.</li>



<li><strong><code>SmartIdState=1</code></strong>: Ayuda a recuperar la ID Alta (flechas verdes) si sufres un micro-corte de internet, siempre que los puertos del router estén bien configurados.</li>



<li><strong><code>Serverlist=1</code></strong>: Indica al programa que actualice la lista de servidores conocidos cada vez que se inicia.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading">Rutas y Seguridad</h4>



<ul class="wp-block-list">
<li><strong><code>IncomingDir</code> y <code>TempDir</code></strong>: Son las carpetas donde se guardan las descargas finalizadas y los archivos temporales. En una Raspberry, si puedes usar un SSD o disco externo, cambia estas rutas para evitar desgastar la tarjeta SD.</li>



<li><strong><code>IPFilterURL</code></strong>: La dirección para descargar el filtro de IPs (ej: <code>http://upd.emule-security.org/ipfilter.zip</code>). Es fundamental para bloquear servidores falsos y clientes espía automáticamente.</li>



<li><strong><code>Ed2kServersUrl</code></strong>: Dirección para descargar una lista de servidores fiables (ej: <code>http://upd.emule-security.org/server.met</code>). Garantiza que siempre conectes a servidores reales y seguros.</li>
</ul>



<p></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">7. El paso final: ¿Quieres que aMule arranque solo?</h2>



<p>Para que tu Raspberry Pi sea un servidor de descargas profesional, lo ideal es crear un servicio en <code>systemd</code>. Esto hará que <code>amuled</code> se inicie automáticamente cada vez que enciendas la Pi sin necesidad de abrir una terminal.</p>



<p>En tu terminal homologada ejecuta este comando:</p>



<p>Copia y pega el contenido a tu archivo, no olvides sustituir «tu_usuario» y «tu_grupo» por los tuyos propios. </p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=aMule Master Daemon
After=network.target

&#91;Service]
User=<mark style="background-color:#7bdcb5" class="has-inline-color">tu_usuario</mark>
Group=<mark style="background-color:#7bdcb5" class="has-inline-color">tu_grupo</mark>
# Usamos 'simple' porque amuled en rama master gestiona muy bien la salida a consola
Type=simple 
ExecStart=/usr/local/bin/amuled
Restart=always
RestartSec=5

&#91;Install]
WantedBy=multi-user.target</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Guarda con Crtl + o  y sal con Crtl + x </p>



<p>Ahora sigue estos pasos para que el sistema reconozca la nueva configuración sin errores:</p>



<ol start="1" class="wp-block-list">
<li><strong>Recarga la configuración</strong>: <br><code>sudo systemctl daemon-reload</code> <br>(Esto es vital cada vez que editas un archivo <code>.service</code>).</li>



<li><strong>Activa el servicio con:</strong><br><code>sudo systemctl enable amule.service</code></li>



<li><strong>Inicia el servicio:</strong><br><code>sudo systemctl start amule.service</code></li>



<li><strong>Comprueba que vive</strong>:<br><code>sudo systemctl status amule.service</code></li>
</ol>



<ul class="wp-block-list">
<li>Sólo en caso de fallo, si nesitas revivir o reiniciar el servicio puedes usar el comando:<br><code>sudo systemctl restart amule.service</code></li>
</ul>



<p>«Al compilar nosotros mismos, el sistema no sabe cómo arrancar el programa automáticamente. Creamos este archivo en <code>/etc/systemd/system/</code> para que la Raspberry Pi sepa que el &#8216;cerebro&#8217; de las descargas debe estar siempre vivo, incluso si hay un corte de luz y el SSD se reinicia.»</p>



<h2 class="wp-block-heading"><strong>Notas y advertencias</strong></h2>



<ul class="wp-block-list">
<li>Con &#8211;with-boost se usa Boost.Asio para networking → evita bugs de wxNet/epoll en ARM/Pi 5.</li>



<li>Si usas conexiones altas (&gt;300), el bug epoll puede volver; baja a 200-300 como workaround.</li>



<li>Como asunto relevantes: <a href="https://github.com/amule-project/amule/issues/171" target="_blank" rel="noreferrer noopener">https://github.com/amule-project/amule/issues/171</a> (donde recomiendan &#8211;with-boost explícitamente).</li>
</ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/compilar-amule-desde-github-rama-master-en-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo recibir notificaciones de aMule en Telegram</title>
		<link>https://linuxete.duckdns.org/como-recibir-notificaciones-de-amule-en-telegram/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-recibir-notificaciones-de-amule-en-telegram</link>
					<comments>https://linuxete.duckdns.org/como-recibir-notificaciones-de-amule-en-telegram/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sun, 08 Feb 2026 22:29:10 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[amule 2.3.3]]></category>
		<category><![CDATA[amule.conf]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Bot]]></category>
		<category><![CDATA[Descargas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Notificaciones]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Raspberry Pi 4]]></category>
		<category><![CDATA[Raspberry Pi 5]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Telegram]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=3826</guid>

					<description><![CDATA[Si eres de la vieja escuela, que aún disfruta con aMule, sabrás que no hay nada más frustrante que estar mirando la pantalla esperando a que termine esa descarga de pocas fuentes, que lleva semanas o el algún caso meses, esperando a finalizar. ¿No sería maravilloso que la «Mula» te enviara un mensaje al móvil [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Si eres de la vieja escuela, que aún disfruta con <strong>aMule</strong>, sabrás que no hay nada más frustrante que estar mirando la pantalla esperando a que termine esa descarga de pocas fuentes, que lleva semanas o el algún caso meses, esperando a  finalizar. ¿No sería maravilloso que la «Mula» te enviara un mensaje al móvil cuando termina? <br>Aquí os comparto este tutorial definitivo, y digo <strong>definitivo</strong> porque hemos peleado con todos los errores posibles: nombres de archivos con comillas, tamaños en bytes ilegibles y mensajes que nunca llegaban. La mayoría de los scripts que circulan por internet fallan porque aMule se vuelve loco con los espacios y los símbolos (como el apóstrofo de <em>Don&#8217;t</em>) y acaba enviando mensajes vacíos o bloqueando el sistema.</p>



<p>Vamos a usar un script «inteligente» que recoge todo lo que aMule escupe, calcula los Megabytes y lo envía a Telegram usando un formato que <strong>nunca falla</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Paso 1: Configurar aMule</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>¡OJO!</strong> Antes de editar, detén aMule</p>
</blockquote>



<pre class="wp-block-code"><code><code>sudo systemctl stop amule</code></code></pre>



<p>Vamos a decirle a aMule que ejecute nuestro script. Para ello, debemos editar el archivo <code>amule.conf</code>.</p>



<pre class="wp-block-code"><code>nano ~/.aMule/amule.conf</code></pre>



<p>Busca la sección <code>[UserEvents/DownloadCompleted]</code> y déjala exactamente así:</p>



<pre class="wp-block-code"><code>CoreEnabled=1
CoreCommand=/home/<mark style="background-color:#7bdcb5" class="has-inline-color">tu_usuario</mark>/notificar_amule.sh %NAME %SIZE</code></pre>



<p>Sustituye tu_usuario por el tuyo propio.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Paso 2: Crear el Script</h3>



<p>Crea el archivo de tu script, sustituyendo tu_usuario por el tuyo propio:</p>



<pre class="wp-block-code"><code><code>nano /home/<mark style="background-color:#7bdcb5" class="has-inline-color">tu_usuario</mark>/notificar_amule.sh </code></code></pre>



<p>y pega este código (sustituye tu Token y tu ID de Chat):</p>



<pre class="wp-block-code"><code>#!/bin/bash

# --- CONFIGURACION DEL BOT ---
TOKEN="<mark style="background-color:#7bdcb5" class="has-inline-color">TU_TOKEN_AQUI</mark>"
ID_CHAT="<mark style="background-color:#7bdcb5" class="has-inline-color">TU_ID_AQUI</mark>"

# 1. Recogemos todo lo que mande aMule de golpe
TODO="$*"

# 2. Extraemos el tamaño (el último número de la frase)
BYTES=$(echo "$TODO" | grep -oP '\d+$')

# 3. Limpiamos el nombre (quitamos el número del final)
NOMBRE=$(echo "$TODO" | sed 's/&#91;0-9]*$//')

# 4. Calculamos los MB y sacamos la fecha de la Raspberry
TAMANO_MB=$((BYTES / 1048576))
FECHA=$(date +"%d/%m/%Y a las %H:%M")

# 5. El Mensaje (con emoticonos para darle estilo)
MENSAJE="&#x2705; DESCARGA COMPLETADA
----------------------------------
&#x1f3b5; Archivo: $NOMBRE
&#x2696; Tamaño: $TAMANO_MB MB
&#x1f552; Finalizado: $FECHA
&#x1f967; Servidor: Raspberry Pi
----------------------------------"

# 6. Envío blindado con urlencode (evita que el mensaje se corte)
/usr/bin/curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
     --data-urlencode "chat_id=$ID_CHAT" \
     --data-urlencode "text=$MENSAJE" &gt; /dev/null
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Paso 3: Permisos y Arranque</h3>



<p>Para que esto funcione, dale permiso de ejecución al script:</p>



<pre class="wp-block-code"><code><code>chmod +x /home/<mark style="background-color:#7bdcb5" class="has-inline-color">tu_usuario</mark>/notificar_amule.sh</code></code></pre>



<p>Ahora, arranca aMule de nuevo:</p>



<pre class="wp-block-code"><code><code>sudo systemctl restart amule</code></code></pre>



<p>¡Y listo! A partir de ahora, cada vez que la Mula termine su trabajo, recibirás un «ping» en tu Telegram con toda la información. ¡A disfrutar de la descarga!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/como-recibir-notificaciones-de-amule-en-telegram/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>¿Cómo gestionar archivos emulecollection en aMule?</title>
		<link>https://linuxete.duckdns.org/como-gestionar-archivos-emulecollection-en-amule/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-gestionar-archivos-emulecollection-en-amule</link>
					<comments>https://linuxete.duckdns.org/como-gestionar-archivos-emulecollection-en-amule/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sun, 06 Jul 2025 17:05:29 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[emulecollection]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=2762</guid>

					<description><![CDATA[Un archivo *.emulecollection es un archivo de texto que contiene múltiples enlaces ed2k y metadatos sobre archivos compartidos en la red P2P de eMule. Funciona como una lista de reproducción pero para descarga. Dentro encontrarás información como, nombres de archivos, tamaños, hashes ed2k y otros metadatos necesarios para identificar y descargar contenido específico de la [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Un archivo <strong><code>*.emulecollection</code></strong> es un archivo de texto que contiene múltiples enlaces ed2k y metadatos sobre archivos compartidos en la red P2P de eMule. Funciona como una lista de reproducción pero para descarga. Dentro encontrarás información como, nombres de archivos, tamaños, hashes ed2k y otros metadatos necesarios para identificar y descargar contenido específico de la red eMule.</p>



<p>Puedes crear colecciones temáticas, organizados por género musical, series de TV y videojuegos retro.</p>



<p>Los archivos emulecollection son una herramienta útil para gestionar y compartir colecciones de archivos en eMule/aMule, facilitando la organización y descarga de múltiples archivos relacionados</p>



<h2 class="wp-block-heading">¿como ver el contenido de un emulecollectioin?</h2>



<p>En linux, ver el contenido de un archivo emulecollection, es muy fácil. Te explico, en varias, 2 maneras de hacerlo, sin complicaciones</p>



<ul class="wp-block-list">
<li>Con el comando <code><strong>cat</strong></code></li>



<li>Usando el programa <code><strong>ed2k</strong></code> (presente en amule-utils)</li>
</ul>



<h3 class="wp-block-heading">Comando CAT</h3>



<p>Con el comando cat no hará falta de instalar ningún software especifico para esto, ya que el comando cat viene instalado por defecto en tu terminal.</p>



<p>Tan solo ejecuta</p>



<pre class="wp-block-code"><code>cat nombre_archivo.amulecollection</code></pre>



<p> Por ejemplo</p>



<pre class="wp-block-code"><code>raspberry@pi5:~ <strong>cat Ubuntu.emulecollection</strong>
ed2k://|file|ubuntu-14.04-desktop-i386.iso|1017118720|E9AACFCB6BBB36EF212C62855D39A8DB|/
ed2k://|file|ubuntu-19.04-desktop-amd64.iso|2097152000|0E4D3250BAC9DF5CDE2731FD4D0B3102|/
ed2k://|file|ubuntu-20.04-desktop-amd64.iso|2715254784|0E4635DDE7E4E00CDC61F99C3B14E691|/
ed2k://|file|ubuntu-20.04.6-desktop-amd64.iso|4351463424|0550FF1298BF639218ED2A8B90F30FE7|/
ed2k://|file|ubuntu-21.10-desktop-amd64.iso|3116482560|CFFFA4C695265844ACB9F3A79EE4CF89|/
ed2k://|file|ubuntu-22.04.4-desktop-amd64.iso|5017356288|FDE0DB48E5A0829156CC5FBFACBD422F|/
ed2k://|file|ubuntu-22.04.5-desktop-amd64.iso|4762707968|F609D29BF701714DD502024168C239D3|/
ed2k://|file|ubuntu-24.10-desktop-amd64.iso|5665497088|E6FFA4C35E686793CAA02D0E11C58999|/
ed2k://|file|ubuntu-mate-24.04.2-desktop-amd64.iso|4301398016|28E6EC39F98F7510365E178CB4F17D09|/</code></pre>



<h3 class="wp-block-heading">ED2K</h3>



<p>Un enlace eD2k es un tipo especial de hiperenlace que se usa para localizar y descargar archivos en la red de intercambio de archivos eDonkey, popularizada por programas como eMule y aMule. Imagina que es como una «huella digital» de un archivo específico en esa red. No es un enlace a una ubicación web (como http://), sino a las propiedades únicas de un archivo en particular.</p>



<p>Este comando, permite una mayor gestión de los enlaces ed2k, tales como generar, analizar y manejar enlaces e2dk para descargar archivos desde la red eDonkey</p>



<h4 class="wp-block-heading">¿De qué partes consta un enlace eD2k?</h4>



<p>Un enlace eD2k típico tiene un formato muy específico y contiene la información clave para identificar un archivo:</p>



<p><code>ed2k://|file|NombreDelArchivo.ext|TamañoDelArchivoEnBytes|HashMD4DelArchivo|/</code></p>



<p>Vamos a desglosar cada parte:</p>



<ol start="1" class="wp-block-list">
<li><strong><code>ed2k://</code></strong>: Es el <strong>prefijo del protocolo</strong>. Indica que es un enlace de tipo eD2k y que tu cliente (como eMule o aMule) debe manejarlo.</li>



<li><strong><code>|file|</code></strong>: Esto especifica que el enlace se refiere a un <strong>archivo</strong>. También existen enlaces eD2k para servidores (<code>|server|</code>), pero los más comunes son los de archivo.</li>



<li><strong><code>NombreDelArchivo.ext</code></strong>: Es el <strong>nombre del archivo</strong> tal como se conoce en la red. Por ejemplo, <code>MiPelicula.mp4</code> o <code>DocumentoImportante.pdf</code>. Es importante para que el usuario pueda identificar el archivo, pero no es lo que el cliente usa para encontrarlo.</li>



<li><strong><code>TamañoDelArchivoEnBytes</code></strong>: Es el <strong>tamaño exacto del archivo en bytes</strong>. Este dato es crucial para que el cliente sepa qué buscar y para verificar que la descarga es completa.</li>



<li><strong><code>HashMD4DelArchivo</code></strong>: Esta es la parte más importante y la que hace que el enlace sea «único» para ese archivo. Es un <strong>hash MD4</strong> (una especie de huella digital criptográfica) del archivo. Este hash es una cadena de 32 caracteres hexadecimales (por ejemplo, <code>7AE49E69D2625908BCB7126536985A21</code>). Dos archivos con el mismo hash MD4 son, con una probabilidad extremadamente alta, exactamente el mismo archivo, incluso si tienen nombres diferentes.</li>



<li><strong><code>|/</code></strong>: Es el <strong>sufijo que cierra el enlace</strong>.</li>
</ol>



<p>Para crear enlaces ed2k deberás tener instalado «amule-utils» </p>



<p>Instala con el siguiente comando.</p>



<pre class="wp-block-code"><code>sudo apt install amule-utils</code></pre>



<h4 class="wp-block-heading">Crea tus colecciones para aMule</h4>



<p>Para crear un archivo emulecollection, necesitas generar un archivo que contenga enlaces ed2k. Puedes hacerlo manualmente o utilizando un script. Luego, puedes importar este archivo en aMule para agregar los enlaces a tu cola de descarga.</p>



<h5 class="wp-block-heading">Crea una colección desde un script.</h5>



<p>Un script nos facilitará la manera de crearla más rápida y comodamente.</p>



<p>Despues de varias propuestas con la IA Gémini de Google, hemos creado un script que calcula los enlaces ed2k de los archivos de un directorio.</p>



<p>Abre tu terminal y escribe:</p>



<pre class="wp-block-code"><code>nano ed2k.sh</code></pre>



<p>Copia y pega el siguiente script:</p>



<pre class="wp-block-code"><code> #!/bin/bash

# Comprueba si se ha proporcionado una ruta de carpeta como argumento
if &#91; -z "$1" ]; then
  echo "Uso: $0 &lt;ruta_a_la_carpeta&gt;"
  exit 1
fi

# --- CAMBIO IMPORTANTE AQUÍ ---
# Elimina la barra final de la ruta si existe, para asegurar que basename funcione correctamente.
# Ejemplo: /ruta/a/mi/carpeta/ -&gt; /ruta/a/mi/carpeta
FOLDER_PATH=$(echo "$1" | sed 's/\/$//')
# --- FIN CAMBIO IMPORTANTE ---

# Comprueba si la ruta proporcionada es un directorio válido
if &#91; ! -d "$FOLDER_PATH" ]; then
  echo "Error: La ruta '$FOLDER_PATH' no es un directorio válido."
  exit 1
fi

# Comprueba si rhash está instalado
if ! command -v rhash &amp;&gt; /dev/null; then
  echo "Error: 'rhash' no está instalado. Por favor, instálalo para usar este script:"
  echo "  sudo apt update"
  echo "  sudo apt install rhash"
  exit 1
fi

# --- CAMBIO IMPORTANTE AQUÍ ---
# Define el nombre del archivo de salida usando el nombre de la carpeta base.
# Por ejemplo, si FOLDER_PATH es '/home/usuario/Mis Películas',
# FOLDER_NAME será 'Mis Películas'.
FOLDER_NAME=$(basename "$FOLDER_PATH")
OUTPUT_FILE="${FOLDER_PATH}/${FOLDER_NAME}.emulecollection"
# --- FIN CAMBIO IMPORTANTE ---

# Vacía el contenido del archivo de salida si ya existe, o lo crea
&gt; "$OUTPUT_FILE"

echo "Generando enlaces ED2K para archivos en '$FOLDER_PATH'..."
echo "Los enlaces se guardarán en: '$OUTPUT_FILE'"
echo "---"

# Itera sobre cada archivo en la carpeta
# Nota: Este script solo procesa archivos directamente en la carpeta.
# Si necesitas que busque en subdirectorios, deberías usar 'find'.
for FILE in "$FOLDER_PATH"/*; do
  # Comprueba si es un archivo regular (no un directorio o un enlace simbólico, etc.)
  if &#91; -f "$FILE" ]; then
    FILE_NAME=$(basename "$FILE")
    # --- CONSIDERACIÓN IMPORTANTE ---
    # La forma más robusta es usar 'rhash --ed2k' directamente, como te sugerí antes.
    # Si 'rhash --md4' no te está dando la salida esperada, esto podría fallar.
    # Pero si esta parte te funciona, puedes mantenerla.
    # --------------------------------
    FILE_SIZE=$(stat -c%s "$FILE")
    MD4_HASH_OUTPUT=$(rhash --md4 "$FILE")
    MD4_HASH=$(echo "$MD4_HASH_OUTPUT" | awk '{print $1}')

    # Verifica si se extrajo el hash
    if &#91; -z "$MD4_HASH" ] || &#91; ${#MD4_HASH} -ne 32 ]; then
      echo "Advertencia: No se pudo extraer un hash MD4 válido para '$FILE_NAME'. Saltando este archivo."
      continue # Pasa al siguiente archivo
    fi

    # Crea el enlace ED2K
    ED2K_LINK="ed2k://|file|${FILE_NAME}|${FILE_SIZE}|${MD4_HASH}|/"

    # Añade el enlace al archivo de salida
    echo "$ED2K_LINK" &gt;&gt; "$OUTPUT_FILE"
    echo "  Generado: $FILE_NAME"
  fi
done

echo "---"
echo "Proceso completado. Todos los enlaces ED2K se han guardado en '$OUTPUT_FILE'."
echo "Puedes abrir este archivo con eMule o cualquier cliente compatible con colecciones ED2K."
</code></pre>



<p>Ahora guarda con Crtl + o y cierra con Crtl + x</p>



<p>Tendrás que hacer que el script sea ejecutable así:</p>



<pre class="wp-block-code"><code>chmod +x ed2k.sh</code></pre>



<h5 class="wp-block-heading">Ejemplo de uso</h5>



<p>Tengo una carpeta con varias versiones de Ubuntu en la ruta /home/raspberry/Descargas/Ubuntu y quiero crear un archivo emulecollection para compartirlas con la comunidad. </p>



<p>Desde una terminal ejecuto lo siguiente:</p>



<pre class="wp-block-code"><code>./ed2k.sh /home/raspberry/Descargas/Ubuntu</code></pre>



<p>Esto va a insertar varios enlaces ed2k a nuestro archivo emulecollection de este modo:</p>



<pre class="wp-block-code"><code>raspberry@pi5:~$ ./ed2k.sh /home/raspberry/Descargas/Ubuntu
Generando enlaces ED2K para archivos en '/home/raspberry/Descargas/Ubuntu'...
Los enlaces se guardarán en: '/home/raspberry/Descargas/Ubuntu//Ubuntu.emulecollection'
---
  Generado: Ubuntu.emulecollection
  Generado: ubuntu-14.04-desktop-i386.iso
  Generado: ubuntu-19.04-desktop-amd64.iso
  Generado: ubuntu-20.04-desktop-amd64.iso
  Generado: ubuntu-20.04.6-desktop-amd64.iso
  Generado: ubuntu-21.10-desktop-amd64.iso
  Generado: ubuntu-22.04.4-desktop-amd64.iso
  Generado: ubuntu-22.04.5-desktop-amd64.iso
  Generado: ubuntu-24.10-desktop-amd64.iso
  Generado: ubuntu-mate-24.04.2-desktop-amd64.iso</code></pre>



<p>Dentro de la carpeta que contiene los archivos, nos habrá generado un archivo llamado Ubuntu.emulecollection</p>



<p>Guarda ese archivo en la carpeta donde compartes tus archivos con la comunidad</p>



<pre class="wp-block-code"><code>mv Ubuntu.emulecollection /home/raspberry/.aMule/Incoming</code></pre>



<h4 class="wp-block-heading">Listar archivos ED2K</h4>



<p>Para listar el contenido de una colección, hazlo así:</p>



<pre class="wp-block-code"><code>ed2k -l archivo.emulecollection</code></pre>



<p>Esto mostrará la lista de enlaces ed2k que hay dentro del archivo.</p>



<pre class="wp-block-code"><code>raspberry@pi5:~ <strong>ed2k -l Ubuntu.emulecollection</strong>
ed2k://|file|ubuntu-14.04-desktop-i386.iso|1017118720|E9AACFCB6BBB36EF212C62855D39A8DB|/
ed2k://|file|ubuntu-19.04-desktop-amd64.iso|2097152000|0E4D3250BAC9DF5CDE2731FD4D0B3102|/
ed2k://|file|ubuntu-20.04-desktop-amd64.iso|2715254784|0E4635DDE7E4E00CDC61F99C3B14E691|/
ed2k://|file|ubuntu-20.04.6-desktop-amd64.iso|4351463424|0550FF1298BF639218ED2A8B90F30FE7|/
ed2k://|file|ubuntu-21.10-desktop-amd64.iso|3116482560|CFFFA4C695265844ACB9F3A79EE4CF89|/
ed2k://|file|ubuntu-22.04.4-desktop-amd64.iso|5017356288|FDE0DB48E5A0829156CC5FBFACBD422F|/
ed2k://|file|ubuntu-22.04.5-desktop-amd64.iso|4762707968|F609D29BF701714DD502024168C239D3|/
ed2k://|file|ubuntu-24.10-desktop-amd64.iso|5665497088|E6FFA4C35E686793CAA02D0E11C58999|/
ed2k://|file|ubuntu-mate-24.04.2-desktop-amd64.iso|4301398016|28E6EC39F98F7510365E178CB4F17D09|/</code></pre>



<h4 class="wp-block-heading">Añade colecciones a tu aMule</h4>



<p>Puedes añadir el contenido de un archivo emulecollection a tu aMule, usa la línea de comandos así:</p>



<pre class="wp-block-code"><code>ed2k -e archivo.emulecollection</code></pre>



<p>Con esto se añadirán todos los enlaces a tu amule en un periquete.</p>



<pre class="wp-block-code"><code>raspberry@pi5:~ <strong>ed2k -e Ubuntu.emulecollection</strong>
Link successfully queued.
Link successfully queued.
Link successfully queued.
Link successfully queued.
Link successfully queued.
Link successfully queued.
Link successfully queued.
Link successfully queued.
Link successfully queued.</code></pre>



<p>Mira en tu querido y amado aMule, y observa como se han añadido todos los enlaces a tus descargas.</p>



<figure class="wp-block-image aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="561" src="https://linuxete.duckdns.org/wp-content/uploads/2025/06/aMule_005-1024x561.png" alt="" class="wp-image-2824" srcset="https://linuxete.duckdns.org/wp-content/uploads/2025/06/aMule_005-1024x561.png 1024w, https://linuxete.duckdns.org/wp-content/uploads/2025/06/aMule_005-300x164.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2025/06/aMule_005-768x421.png 768w, https://linuxete.duckdns.org/wp-content/uploads/2025/06/aMule_005.png 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Y sin más dilación, aquí se acaba esta canción</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/como-gestionar-archivos-emulecollection-en-amule/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo Iniciar y controlar aMule con systemd</title>
		<link>https://linuxete.duckdns.org/como-iniciar-y-controlar-amule-con-systemd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-iniciar-y-controlar-amule-con-systemd</link>
					<comments>https://linuxete.duckdns.org/como-iniciar-y-controlar-amule-con-systemd/#comments</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 28 Dec 2024 17:36:56 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[amule service]]></category>
		<category><![CDATA[amule systemd]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=2312</guid>

					<description><![CDATA[Cuando comencé con mi Raspberry Pi 4, tuve muchos problemas con aMule. Se comportaba de manera muy inestable, con cierres inesperados y perdida de información. Uno de los fallos más comunes, consistía en el borrado del archivo amule.conf, volviendo a la configuración por defecto. Aunque ya usaba un disco SSD, es muy probable que este [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter size-medium"><img decoding="async" width="300" height="300" src="https://linuxete.duckdns.org/wp-content/uploads/2024/12/pngegg-1-300x300.png" alt="" class="wp-image-2388" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/12/pngegg-1-300x300.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/pngegg-1-150x150.png 150w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/pngegg-1.png 400w" sizes="(max-width: 300px) 100vw, 300px" /></figure>



<p>Cuando comencé con mi Raspberry Pi 4, tuve muchos problemas con aMule. Se comportaba de manera muy inestable, con cierres inesperados y perdida de información. Uno de los fallos más comunes, consistía en el borrado del archivo <strong>amule.conf</strong>, volviendo a la configuración por defecto.</p>



<p>Aunque ya usaba un disco SSD, es muy probable que este problema se debiera a un tren fatídicas configuraciones, cuya solución fue:</p>



<ul class="wp-block-list">
<li>1. Cambiar el Adaptador USB-SATA, el cual usaba los controladores JMicron, que se llevan muy mal con la Pi 4, muchos de estos adaptadores son de mala calidad y provocan fallos en el sistema. Usar los puertos USB3 en lugar de losUSB 2.0 ya que estos puertos se les conoce por su baja velocidad de lectura/escritura, que hace que aMule se sature y se bloquee. </li>



<li>2. El tamaño del búfer de archivo que maneja aMule, el cual viene por defecto con un valor muy bajo, obligando a hacer continúas escrituras y creando un cuello de botella en el que la velocidad a la que descargas es más rápida a la que escribes en el disco. </li>



<li>3. Otro problema a corregir fue la activación de Trim, el cual le dirá al sistema que deje libre los sectores que ya no estén en uso, provocando una lectura y escritura más rápidas.</li>
</ul>



<p>Desde que hice estos cambios, mi mula ha dejado de relinchar y dar coces.</p>



<p>Anteriormente comencé controlando el demonio de aMule con scripts a través de crontab, pero ahora tenemos la opción de usar systemd, que se encarga de hacer lo mismo que el mejor de los scripts. Este servicio se encargará de iniciar y vigilar que el demonio de amule esté siempre funcionando.</p>



<pre class="wp-block-verse">Antes de ver este manual, puede ser que te interese ver <strong><a href="https://linuxete.duckdns.org/instalar-y-configurar-amule-en-debian-12/">Instalar y Configurar aMule en Debian 12</a></strong></pre>



<h2 class="wp-block-heading">¡Comenzamos!</h2>



<p>Comenzaremos con nuestro cometido dependiendo si tenemos o no, instalado aMule</p>



<h2 class="wp-block-heading">Desinstalación.</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Sigue este paso, si tienes aMule instalado, si no, pasa al apartado de instalación.</p>
</blockquote>



<p>Haremos un borrón y cuenta nueva y no dejaremos ni un solo archivo «huérfano» que tenga que ver con aMule. Para eso, hay que preguntar al sistema qué tiene registrado bajo el nombre de «amule».</p>



<ol class="wp-block-list">
<li><strong>Identificar todos los paquetes relacionados</strong></li>
</ol>



<p>Ejecuta este comando para ver la lista completa de lo que hay instalado en tu Raspberry que contenga la palabra «amule»:</p>



<pre class="wp-block-code"><code>dpkg -l | grep amule</code></pre>



<p>este comando me devolverá todo lo instalado, relacionado con aMule</p>



<pre class="wp-block-code"><code>vigilante@raspberrypi:~ $ <strong>dpkg -l | grep amule</strong>
ii amule-common 1:2.3.3-3.2 all common files for the rest of aMule packages
ii amule-daemon 1:2.3.3-3.2 arm64 non-graphic version of aMule, a client for the eD2k and Kad networks
ii amule-utils 1:2.3.3-3.2 arm64 utilities for aMule (command-line version)
ii amule-utils-gui 1:2.3.3-3.2 arm64 graphic utilities for aMule</code></pre>



<p><strong>2. Desinstalación total (El comando «Limpieza Profunda»)</strong></p>



<p>Para desinstalar todos esos paquetes de una sola vez, sin tener que escribirlos uno a uno, puedes usar este truco:</p>



<pre class="wp-block-code"><code>sudo apt purge --autoremove "amule*"</code></pre>



<p>¿Qué hace este comando?</p>



<ul class="wp-block-list">
<li><code>purge</code>: Borra los binarios y los archivos de configuración del sistema.</li>



<li><code>--autoremove</code>: Elimina todas las librerías adicionales que se instalaron solo para aMule y que ya no sirven para nada más.</li>



<li><code>"amule*"</code>: El asterisco le dice a Linux: «borra CUALQUIER paquete que empiece por la palabra amule».</li>
</ul>



<p><strong>3.Borrar los archivos de usuario (Lo que apt no toca)</strong></p>



<p>Incluso después del comando anterior, tu configuración personal (créditos, la lista de servidores y la carpeta de descargas) seguirá en tu carpeta de usuario. Para borrar eso también, remata con:</p>



<pre class="wp-block-code"><code>rm -rf ~/.aMule</code></pre>



<h2 class="wp-block-heading">Instalación</h2>



<p>Para la instalación usaré los siguientes paquetes:</p>



<pre class="wp-block-code"><code>sudo apt install amule-daemon amule-utils amule-utils-gui</code></pre>



<h3 class="wp-block-heading">Primeros ajustes.</h3>



<p>Lo primero será comprobar desde la terminal, si ya tenemos un servicio de systemd controlando amule con el comando <code>systemctl list-unit-files | grep amule</code></p>



<pre class="wp-block-code"><code>vigilante@raspberrypi:~ $ <strong>systemctl list-unit-files | grep amule</strong>
amule-daemon.service                         generated             -</code></pre>



<p>Y efectivamente, tenemos un servicio creado automáticamente, listado como <code>generated</code>. Al instalar aMule, Systemd, intenta crear un servicio por defecto para un usuario genérico, sin embargo, este servicio suele dar problemas, por eso nosotros crearemos un nuevo servicio mucho más eficiente y personalizado para nuestro usuario.</p>



<p>Antiguamente, Linux no usaba systemd, usaba un sistema llamado SysVinit. Cuando instalas el paquete amule-daemon desde los repositorios oficiales de Debian, el paquete incluye un script antiguo ubicado en /etc/init.d/amule-daemon, este script es el que permitía que aMule arrancara en versiones de Linux de hace 10 o 15 años.</p>



<p>Como hoy en día casi todo el mundo usa systemd, este tiene una herramienta llamada systemd-sysv-generator. Cuando el sistema arranca, busca scripts en esa carpeta antigua (/etc/init.d/). Si encuentra uno (como el de aMule), crea automáticamente un servicio «ficticio» sobre la marcha para que puedas gestionarlo con los comandos modernos como systemctl.</p>



<h4 class="wp-block-heading">Eliminando el servicio genérico.</h4>



<p>Como lo ideal es crear manualmente un servicio personalizado, vamos a desactivar y ocultar el «genérico»:</p>



<p>Desactivando el servicio antiguo (por si acaso):</p>



<pre class="wp-block-code"><code>sudo systemctl disable amule-daemon</code></pre>



<p>Una vez desactivado, debemos enmascarar el servicio antiguo:, le diremos a systemd que ignore completamente ese servicio «generado» y que nunca lo arranque, ni siquiera por error:</p>



<pre class="wp-block-code"><code>sudo systemctl mask amule-daemon</code></pre>



<p>Si haces de nuevo el <code>systemctl list-unit-files | grep amule</code>, deberías ver el amule-daemon como masked.</p>



<pre class="wp-block-code"><code>vigilante@raspberrypi:~ $ <strong>systemctl list-unit-files | grep amule</strong>
amule-daemon.service                         masked          enabled</code></pre>



<p>El estado <code>masked</code> es el que manda. Significa que el servicio está «amordazado». Aunque intentes arrancarlo a mano (systemctl start amule-daemon) o el sistema intente lanzarlo, no funcionará. Es el nivel más alto de desactivación en Linux. Se crea un enlace simbólico a /dev/null, por lo que el archivo de servicio «no va a ninguna parte». <br>Ese <code>enabled</code> a la derecha es solo una «nota» de lo que era el servicio antes de ser enmascarado. Indica que en la base de datos de configuración de arranque, ese servicio tenía el permiso para iniciarse. Sin embargo, como está masked, systemd ignora por completo ese permiso de enabled.</p>



<p>El servicio amule-daemon ha quedado totalmente neutralizado. Ya no podrá entrar en conflicto con el nuevo que crearemos mas adelante.</p>



<h2 class="wp-block-heading">Primer arranque</h2>



<p>Para que todo funcione, tienes que «despertar» al demonio.</p>



<p>En una terminal escribe:</p>



<pre class="wp-block-code"><code>amuled</code></pre>



<p>Esto creará la carpeta <code>~/.aMule</code>.</p>



<p>Es muy posible que en la primera vez que el programa se ejecute, este se cierre automáticamente, ¡Tranquilo! es totalmente normal. La primera vez que ejecutas aMule, crea la carpeta de configuración, pero se cierra inmediatamente porque <strong>un demonio sin «mando a distancia» no sirve para nada</strong>.</p>



<p>El error te está diciendo literalmente: <em>«Si no puedo conectarme con el exterior, no tengo forma de que me des órdenes»</em>.</p>



<h3 class="wp-block-heading">1. Generar una contraseña segura</h3>



<p>Las contraseñas del archivo <strong>amule.conf</strong> son encriptadas y no se pueden escribir directamente. Por ejemplo para usar la contraseña &lt;<strong>BurritoSabanero</strong>&gt; habrá que encriptarla para que sea válida y se pueda usar.</p>



<p>Primero, genera el código (hash) de tu contraseña. Cambia <code>tu_contraseña_aquí</code> por la que quieras:</p>



<pre class="wp-block-code"><code>echo -n "tu_contraseña_aquí" | md5sum</code></pre>



<p>Por ejemplo:</p>



<pre class="wp-block-code"><code>echo -n "BurritoSabanero" | md5sum</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>No olvides entrecomillar la palabra elegida como contraseña.</p>
</blockquote>



<p>Esto nos dará como resultado la contraseña encriptada siguiente:</p>



<pre class="wp-block-code"><code>0d545153bf7b94d6094a01f5f925163b  -</code></pre>



<h3 class="wp-block-heading">2. Editar el archivo de configuración</h3>



<p>Ahora vamos a decirle a aMule que acepte conexiones y a ponerle esa contraseña. Abre el editor:</p>



<pre class="wp-block-code"><code>nano ~/.aMule/amule.conf</code></pre>



<p>Busca las líneas que dicen, <strong>ECPassword</strong> y <strong><strong><code>AcceptExternalConnections</code></strong></strong> y déjalas así:</p>



<ul class="wp-block-list">
<li><strong><code>AcceptExternalConnections=1</code></strong> (Cambia el 0 por el 1)</li>



<li><strong><code>ECPassword=la_contraseña_que_generaste</code></strong> (Pega aquí el hash MD5)</li>
</ul>



<h3 class="wp-block-heading">3. Activar la Interfaz Web.</h3>



<p>Como has instalado <code>amule-utils</code>, también tienes <strong><code>amuleweb</code></strong>. Si lo activas, podrás gestionar las descargas escribiendo la IP de tu Raspberry en el navegador de tu móvil o tablet (ej: <code>http://192.168.1.50:24711</code>).</p>



<p>Busca también la sección [WebServer] y cambia lo siguiente.</p>



<ul class="wp-block-list">
<li><strong><code>Enabled=1</code></strong></li>



<li><strong><code>Password=la_contraseña_que_generaste</code></strong> (Puedes usar la misma o generar otra distinta)</li>
</ul>



<h3 class="wp-block-heading">4. Prueba de fuego</h3>



<p>Guarda los cambios con <code>Ctrl+O</code>, pulsa <code>Enter</code> y sal con <code>Ctrl+X</code>. </p>



<p>Ahora vuelve a lanzar el demonio:</p>



<pre class="wp-block-code"><code>amuled -f</code></pre>



<p>Si todo ha ido bien, esta vez <strong>no se cerrará</strong>. Se quedará funcionando.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Tip de experto:</strong> Como <code>amuled</code> se queda bloqueando la terminal, lo ideal es lanzarlo en segundo plano para que libere la terminal y asi puedas seguir usandola. Esto se logran usando el modificador <code>-f</code> al final del comando.</p>
</blockquote>



<h3 class="wp-block-heading">Configuración aMule</h3>



<p>Para modificar la configuración de amuled, asegurate que el demonio no se está ejecutando.</p>



<pre class="wp-block-code"><code>killall amuled</code></pre>



<p>Con el demonio fuera de juego, podemos editar nuestras preferencias en el archivo de configuración de amule.</p>



<pre class="wp-block-code"><code>nano /home/usuario/.aMule/amule.conf</code></pre>



<p>La siguiente configuración es una copia de mi archivo <strong>amule.conf</strong>. Si quieres puedes usarlo copiarlo y adaptarlo a tus necesidades. Yo he modificado las líneas que están resaltadas en verde con respecto al archivo original.</p>



<pre class="wp-block-code"><code>&#91;eMule]
AppVersion=2.3.3
<mark style="background-color:#7bdcb5" class="has-inline-color">Nick=Usuario_de_aMule</mark>
QueueSizePref=50
<mark style="background-color:#7bdcb5" class="has-inline-color">MaxUpload=5000</mark>
<mark style="background-color:#7bdcb5" class="has-inline-color">MaxDownload=19375</mark>
<mark style="background-color:#7bdcb5" class="has-inline-color">SlotAllocation=20</mark>
<mark style="background-color:#7bdcb5" class="has-inline-color">Port=24662</mark>
<mark style="background-color:#7bdcb5" class="has-inline-color">UDPPort=24672</mark>
UDPEnable=1
Address=
Autoconnect=1
<mark style="background-color:#7bdcb5" class="has-inline-color">MaxSourcesPerFile=300</mark>
MaxConnections=300
MaxConnectionsPerFiveSeconds=20
RemoveDeadServer=1
DeadServerRetry=3
ServerKeepAliveTimeout=0
Reconnect=1
Scoresystem=1
Serverlist=1
AddServerListFromServer=0
AddServerListFromClient=0
SafeServerConnect=0
AutoConnectStaticOnly=0
UPnPEnabled=0
UPnPTCPPort=50000
SmartIdCheck=1
ConnectToKad=1
ConnectToED2K=1
TempDir=/home/<mark style="background-color:#7bdcb5" class="has-inline-color">tu_usuario</mark>/.aMule/Temp
IncomingDir=/home/<mark style="background-color:#7bdcb5" class="has-inline-color">tu_usuario</mark>/.aMule/Incoming
ICH=1
AICHTrust=0
CheckDiskspace=1
MinFreeDiskSpace=1
AddNewFilesPaused=0
PreviewPrio=0
ManualHighPrio=0
StartNextFile=0
StartNextFileSameCat=0
StartNextFileAlpha=0
FileBufferSizePref=100
DAPPref=1
UAPPref=1
AllocateFullFile=0
OSDirectory=/home/tu_usuario_del_sistema/.aMule/
OnlineSignature=0
OnlineSignatureUpdate=5
EnableTrayIcon=0
MinToTray=0
Notifications=0
ConfirmExit=1
StartupMinimized=0
3DDepth=10
ToolTipDelay=1
ShowOverhead=0
ShowInfoOnCatTabs=1
VerticalToolbar=0
<mark style="background-color:#7bdcb5" class="has-inline-color">GeoIPEnabled=0</mark>
ShowVersionOnTitle=0
VideoPlayer=
StatGraphsInterval=3
statsInterval=30
DownloadCapacity=300
UploadCapacity=100
StatsAverageMinutes=5
VariousStatisticsMaxValue=100
SeeShare=2
FilterLanIPs=1
ParanoidFiltering=1
IPFilterAutoLoad=1
<mark style="background-color:#7bdcb5" class="has-inline-color">IPFilterURL=http://upd.emule-security.org/ipfilter.zip</mark>
FilterLevel=127
IPFilterSystem=0
FilterMessages=1
FilterAllMessages=0
MessagesFromFriendsOnly=0
MessageFromValidSourcesOnly=1
FilterWordMessages=0
MessageFilter=
ShowMessagesInLog=1
FilterComments=0
CommentFilter=
ShareHiddenFiles=1
AutoSortDownloads=0
NewVersionCheck=0
AdvancedSpamFilter=1
MessageUseCaptchas=1
Language=
SplitterbarPosition=75
YourHostname=
DateTimeFormat=%A, %x, %X
AllcatType=0
ShowAllNotCats=0
SmartIdState=1
DropSlowSources=0
<mark style="background-color:#7bdcb5" class="has-inline-color">KadNodesUrl=http://upd.emule-security.org/nodes.dat</mark>
<mark style="background-color:#7bdcb5" class="has-inline-color">Ed2kServersUrl=http://emule-security.org/serverlist/server.met</mark>
ShowRatesOnTitle=0
GeoLiteCountryUpdateUrl=http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
StatsServerName=Shorty's ED2K stats
StatsServerURL=http://ed2k.shortypower.dyndns.org/?hash=
CreateSparseFiles=1
&#91;Browser]
OpenPageInTab=1
CustomBrowserString=
&#91;Proxy]
ProxyEnableProxy=0
ProxyType=0
ProxyName=
ProxyPort=1080
ProxyEnablePassword=0
ProxyUser=
ProxyPassword=
&#91;ExternalConnect]
UseSrcSeeds=0
<mark style="background-color:#7bdcb5" class="has-inline-color">AcceptExternalConnections=1</mark>
ECAddress=
ECPort=4712
<mark style="background-color:#7bdcb5" class="has-inline-color">ECPassword=0d545153bf7b94d6094a01f5f925163b</mark>
UPnPECEnabled=0
ShowProgressBar=1
ShowPercent=1
UseSecIdent=1
IpFilterClients=1
IpFilterServers=1
TransmitOnlyUploadingClients=0
&#91;WebServer]
Enabled=1
<mark style="background-color:#7bdcb5" class="has-inline-color">Password=0d545153bf7b94d6094a01f5f925163b</mark>
PasswordLow=
<mark style="background-color:#7bdcb5" class="has-inline-color">Port=24711</mark>
WebUPnPTCPPort=50001
UPnPWebServerEnabled=0
UseGzip=1
UseLowRightsUser=0
PageRefreshTime=120
Template=default
Path=amuleweb
&#91;GUI]
HideOnClose=0
&#91;Razor_Preferences]
FastED2KLinksHandler=1
&#91;SkinGUIOptions]
Skin=
&#91;Statistics]
MaxClientVersions=0
&#91;Obfuscation]
IsClientCryptLayerSupported=1
IsCryptLayerRequested=1
IsClientCryptLayerRequired=0
CryptoPaddingLenght=254
CryptoKadUDPKey=1686729473
&#91;PowerManagement]
PreventSleepWhileDownloading=0
&#91;UserEvents]
&#91;UserEvents/DownloadCompleted]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;UserEvents/NewChatSession]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;UserEvents/OutOfDiskSpace]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;UserEvents/ErrorOnCompletion]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
&#91;HTTPDownload]
URL_1=http://upd.emule-security.org/ipfilter.zip
URL_2=http://emule-security.org/serverlist/server.met
URL_5=http://upd.emule-security.org/nodes.dat
URL_3=http://emule-security.org/serverlist/server.met

</code></pre>



<p>Descripción de los puntos más importantes de la configuración de aMule.</p>



<h3 class="wp-block-heading">Parámetros Críticos de Configuración (<code>amule.conf</code>)</h3>



<ul class="wp-block-list">
<li><strong><code>Nick</code></strong>: Es tu nombre de usuario en la red. Aunque no afecta a la velocidad, sirve para identificarte en las colas de otros usuarios.</li>



<li><strong><code>MaxDownload=19375</code></strong>: Define el límite máximo de descarga (en este caso, unos 150 Mbps). Permite que aMule use el ancho de banda necesario sin saturar la CPU de la Raspberry.</li>



<li><strong><code>MaxUpload=5000</code></strong>: Define la velocidad de subida. Es vital ser generoso (5 MB/s); en la red eD2k, cuanto más subes, más créditos ganas y más rápido descargas de los demás.</li>



<li>Slot Allocation=20 : determina <strong>cuánta velocidad de subida le das a cada persona</strong> que se descarga algo de ti. Con 5000 de subida total, estás abriendo <strong>250 slots simultáneos</strong>. Vas a ganar créditos con 250 personas a la vez, lo que te garantiza descargar a máxima velocidad en tiempo récord.</li>



<li><strong><code>Port=24662</code> (TCP)</strong>: Es el puerto que usa el programa para recibir datos. Debe estar abierto en tu router hacia la IP de la Raspberry para evitar la «ID Baja».</li>



<li><strong><code>UDPPort=24672</code> (UDP)</strong>: Puerto para la red Kad y búsquedas. También debe estar abierto en el router para que la red funcione al 100%.</li>



<li><strong><code>MaxSourcesPerFile=300</code></strong>: El número máximo de fuentes que el programa buscará por cada archivo. Un valor de 300 es el punto de equilibrio ideal para la Raspberry Pi 4.</li>



<li><strong><code>MaxConnections=300</code></strong>: Límite de conexiones totales simultáneas. Mantenerlo en 300 evita que la Raspberry se bloquee por exceso de hilos de red abiertos. Si se sube mucho (ej. 500 o más), la Pi suele dar errores de red (<code>epoll</code>).</li>



<li><strong><code>MaxConnectionsPerFiveSeconds=20</code></strong>: Controla cuántas conexiones nuevas se intentan cada 5 segundos. Un valor bajo (20) evita que el router colapse al arrancar el programa.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Mantenimiento y Rendimiento del Sistema</h3>



<ul class="wp-block-list">
<li><strong><code>FileBufferSizePref=100</code></strong>: Define el tamaño del búfer en RAM antes de escribir en el disco. Un valor alto (100% o más) reduce el número de escrituras constantes, protegiendo la salud de la tarjeta MicroSD.</li>



<li><strong><code>AllocateFullFile=0</code></strong>: Si está en <code>1</code>, reserva todo el espacio del archivo al empezar. En la Raspberry es mejor dejarlo en <code>0</code> para que no se congele el sistema al intentar crear archivos muy grandes de golpe.</li>



<li><strong><code>SmartIdState=1</code></strong>: Ayuda a recuperar la ID Alta (flechas verdes) si sufres un micro-corte de internet, siempre que los puertos del router estén bien configurados.</li>



<li><strong><code>Serverlist=1</code></strong>: Indica al programa que actualice la lista de servidores conocidos cada vez que se inicia.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Rutas y Seguridad</h3>



<ul class="wp-block-list">
<li><strong><code>IncomingDir</code> y <code>TempDir</code></strong>: Son las carpetas donde se guardan las descargas finalizadas y los archivos temporales. En una Raspberry, si puedes usar un SSD o disco externo, cambia estas rutas para evitar desgastar la tarjeta SD.</li>



<li><strong><code>IPFilterURL</code></strong>: La dirección para descargar el filtro de IPs (ej: <code>http://upd.emule-security.org/ipfilter.zip</code>). Es fundamental para bloquear servidores falsos y clientes espía automáticamente.</li>



<li><strong><code>Ed2kServersUrl</code></strong>: Dirección para descargar una lista de servidores fiables (ej: <code>http://upd.emule-security.org/server.met</code>). Garantiza que siempre conectes a servidores reales y seguros.</li>
</ul>



<h3 class="wp-block-heading">Configura el nuevo servicio systemd</h3>



<p>Creamos el archivo de configuración para systemd:</p>



<pre class="wp-block-code"><code>sudo nano /etc/systemd/system/amule.service</code></pre>



<p>Copia y pega lo siguiente en la ventana de tu editor nano. (cambia «<strong>usuario</strong>» por el tuyo propio)</p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=aMule Daemon
# Esperamos a que la red esté realmente lista para evitar errores de socket
After=network-online.target
Wants=network-online.target

&#91;Service]
User=tu_usuario
Group=tu_grupo
# Usamos forking porque amuled -f crea un proceso hijo
Type=forking
ExecStart=/usr/bin/amuled -f
# Evitamos reinicios infinitos si hay un error grave de configuración
Restart=always
RestartSec=10

&#91;Install]
WantedBy=multi-user.target</code></pre>



<h3 class="wp-block-heading">¿Datos a conocer?</h3>



<ul class="wp-block-list">
<li><strong><code>After=network-online.target</code></strong>: Evita que <code>amuled</code> intente conectar antes de que la Raspberry tenga una IP asignada, lo que previene esos logs de error al arranque.</li>



<li><strong><code>Type=forking</code> + <code>amuled -f</code></strong>: Es la forma «oficial» de lanzar el demonio. El flag <code>-f</code> le dice a aMule que se comporte como un servicio de sistema.</li>



<li><strong><code>RestartSec=10</code></strong>: Darle 10 segundos antes de reiniciar es más sano para el hardware. Si aMule se cierra por un error de memoria (como el <code>epoll</code> que vimos antes), le das tiempo al sistema para liberar los puertos antes de intentar abrirlo otra vez.</li>
</ul>



<p>Guardamos los cambios pulsando «Control + o» y salimos del editor con «Control + x».</p>



<h3 class="wp-block-heading">Estado del servicio.</h3>



<p>Ahora recarga la configuración del administrador systemd con:</p>



<pre class="wp-block-code"><code>$ sudo systemctl daemon-reload</code></pre>



<p>Una vez tenemos creado nuestro servicio en systemd tendremos que habilitarlo de la siguiente forma:</p>



<pre class="wp-block-code"><code>sudo systemctl enable amule.service</code></pre>



<p>Y por último lo arrancamos con:</p>



<pre class="wp-block-code"><code>sudo systemctl start amule.service</code></pre>



<p>Si haces un status, verás que está todo correcto.</p>



<pre class="wp-block-code"><code><strong>sudo systemctl status amule.service</strong>
● amule.service - Amuled P2P File Sharing Daemon
     Loaded: loaded (/etc/systemd/system/amule.service; enabled; preset: enabled)
     Active: active (running) since Sat 2024-12-28 16:52:20 CET; 1min 51s ago
   Main PID: 9623 (amuled)
      Tasks: 12 (limit: 9573)
        CPU: 11.186s
     CGroup: /system.slice/amule.service
             ├─9623 /usr/bin/amuled
             └─9633 amuleweb --amule-config-file=/home/raspberry/.aMule/amule.conf

dic 28 16:52:20 pi5 systemd&#91;1]: Started amule.service - Amuled P2P File Sharing Daemon.
dic 28 16:52:22 pi5 amuled&#91;9623]: 16:52:22: Debug: Failed to unregister 14 in direction&gt;
lines 1-12/12 (END)
</code></pre>



<ul class="wp-block-list">
<li>Loaded y <code>preset</code> en modo <mark style="background-color:rgba(0, 0, 0, 0);color:#108406" class="has-inline-color">enabled</mark>, (color verde). Harán que aMule se cargue al iniciar el sistema.</li>



<li>Active, con <mark style="background-color:rgba(0, 0, 0, 0);color:#108406" class="has-inline-color">active</mark> (en verde)  Servicio  activo y corriendo.</li>
</ul>



<h3 class="wp-block-heading">aMuleGUI</h3>



<p>Ahora llega el momento de abrir aMule en modo gráfico. Busca el programa aMuleGUI e introduce tu dirección IP o el hostname local, que es <strong><code>localhost</code></strong>, el puerto y la contraseña que pusiste en <strong><code>ECPasswords</code></strong>.</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="375" height="278" src="https://linuxete.duckdns.org/wp-content/uploads/2024/12/localhost.png" alt="" class="wp-image-2457" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/12/localhost.png 375w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/localhost-300x222.png 300w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p>Una vez abierto, pulsa en conectar para entrar en modo gráfico.</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="588" src="https://linuxete.duckdns.org/wp-content/uploads/2024/12/Control-remoto-de-aMule_004-1024x588.png" alt="" class="wp-image-2410" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/12/Control-remoto-de-aMule_004-1024x588.png 1024w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Control-remoto-de-aMule_004-300x172.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Control-remoto-de-aMule_004-768x441.png 768w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Control-remoto-de-aMule_004.png 1374w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Resultado final.</h3>



<p>La siguiente imagen muestra la velocidad que alcanza mi aMule sobre una Raspberry Pi 4, pero mi consejo es que si puedes comprar un Pi 5, hazlo, esa placa está a otro nivel.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="920" height="256" src="https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004.png" alt="" class="wp-image-2328" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004.png 920w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004-300x83.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004-768x214.png 768w" sizes="auto, (max-width: 920px) 100vw, 920px" /><figcaption class="wp-element-caption">Velocidades según configuración de amule.conf en un Raspberry PI 4</figcaption></figure>



<p>Recuerda que aMule, descarga rápido si lo archivos tienen muchas fuentes, si hay pocas fuentes lo hará lentamente, pero lo hará. Tarde o temprano la descarga se hará efectiva.</p>



<h3 class="wp-block-heading">Interfaz web</h3>



<p>Al tener el servidor web configurado, podemos entrar desde nuestro navegador, dentro o fuera de casa (si tienes los puertos abiertos)</p>



<p>En un navegador cualquiera, si estas en casa conectado a tu red, ya sea cable o wifi escribe la dirección ip de tu raspberry  seguido del puerto que hemos configurado en [webserver]</p>



<p>Por ejemplo</p>



<pre class="wp-block-code"><code>192.168.1.32:24711</code></pre>



<p>Nos pedirá la contraseña que generamos anteriormente y accederemos a la interfaz web.</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004-2-1024x682.png" alt="" class="wp-image-3780" srcset="https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004-2-1024x682.png 1024w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004-2-300x200.png 300w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004-2-768x512.png 768w, https://linuxete.duckdns.org/wp-content/uploads/2024/12/Seleccion_004-2.png 1279w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Si estas fuera de casa, lo hacemos igual, si sabemos la dirección IP Pública de tu router, o bien si tienes algún servicio activo como duckdns, lo haremos igual seguido del puerto.</p>



<h3 class="wp-block-heading">¿Qué está haciendo la «mula» ahora mismo?</h3>



<p>Si alguna vez tienes problemas y el servicio no arranca, o simplemente tienes curiosidad por saber qué está pasando «bajo el capó» (como quién se conecta o qué archivos se están solicitando), puedes ver el registro (log) en tiempo real con este comando:</p>



<pre class="wp-block-code"><code>sudo journalctl -u amule -f</code></pre>



<p>No muestra lo siguiente:</p>



<pre class="wp-block-code"><code>vigilante@raspberrypi:~ $ <strong>sudo journalctl -u amule -f</strong>
feb 07 18:24:27 raspberrypi systemd&#91;1]: amule.service: Failed with result 'signal'.
feb 07 18:24:32 raspberrypi systemd&#91;1]: amule.service: Scheduled restart job, restart counter is at 2.
feb 07 18:24:32 raspberrypi systemd&#91;1]: Starting amule.service - aMule Daemon...
feb 07 18:24:33 raspberrypi systemd&#91;1]: Started amule.service - aMule Daemon.
feb 07 18:35:52 raspberrypi systemd&#91;1]: Stopping amule.service - aMule Daemon...
feb 07 18:35:54 raspberrypi systemd&#91;1]: amule.service: Deactivated successfully.
feb 07 18:35:54 raspberrypi systemd&#91;1]: Stopped amule.service - aMule Daemon.
feb 07 18:35:54 raspberrypi systemd&#91;1]: amule.service: Consumed 17.519s CPU time.
feb 07 18:35:54 raspberrypi systemd&#91;1]: Starting amule.service - aMule Daemon...
feb 07 18:35:55 raspberrypi systemd&#91;1]: Started amule.service - aMule Daemon.

</code></pre>



<p><strong>¿Qué significa cada parte?</strong></p>



<ul class="wp-block-list">
<li><strong><code>sudo</code></strong>: Necesario para tener permisos de lectura sobre los registros del sistema.</li>



<li><strong><code>journalctl</code></strong>: Es la herramienta de Linux para consultar los mensajes del sistema.</li>



<li><strong><code>-u amuled</code></strong>: Le dice que solo queremos ver los mensajes del servicio «amuled» que creamos.</li>



<li><strong><code>-f</code></strong>: (Follow) Es la clave. Mantiene la ventana abierta y te muestra los nuevos mensajes en el momento exacto en que ocurren.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Para salir:</strong> Solo tienes que pulsar la combinación de teclas <code>Control + C</code>.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Optimización para Raspberry Pi 5 (Sacando todo el potencial)</h3>



<p>Si has dado el salto a la <strong>Raspberry Pi 5</strong>, tienes en tus manos una máquina mucho más potente. Gracias a su procesador más rápido y su mejor gestión de la memoria RAM, puedes permitirte una configuración mucho más agresiva que en modelos anteriores sin riesgo de que el sistema se bloquee.</p>



<p>Aquí tienes la comparativa de los valores que recomiendo ajustar para exprimir al máximo la nueva placa:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>Parámetro</strong></td><td><strong>Raspberry Pi 4 (Estable)</strong></td><td><strong>Raspberry Pi 5 (Potencia)</strong></td><td><strong>¿Qué ganamos?</strong></td></tr></thead><tbody><tr><td><strong>MaxConnections</strong></td><td>300</td><td><strong>600 &#8211; 800</strong></td><td>Más hilos de descarga simultáneos.</td></tr><tr><td><strong>MaxSourcesPerFile</strong></td><td>300</td><td><strong>500</strong></td><td>Encontrarás más fuentes para cada archivo.</td></tr><tr><td><strong>MaxConnPer5Sec</strong></td><td>20</td><td><strong>50</strong></td><td>El arranque y la búsqueda de fuentes es más rápido.</td></tr><tr><td><strong>FileBufferSize</strong></td><td>100</td><td><strong>200 &#8211; 250</strong></td><td>Aprovecha la RAM para proteger aún más tu SSD/NVMe.</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">¿Por qué estos cambios?</h4>



<p>En la Raspberry Pi 4, el cuello de botella suele ser la gestión de interrupciones de red y la escritura en disco. Sin embargo, la <strong>Pi 5</strong> maneja el tráfico de red de forma mucho más eficiente. Subir las conexiones a <strong>800</strong> te permitirá gestionar una cola de descargas mucho más grande sin que la CPU se resienta.</p>



<p>Además, si tienes la versión de <strong>8GB de RAM</strong>, subir el <code>FileBufferSizePref</code> a <strong>250</strong> es casi obligatorio. Esto hará que aMule use una parte de esa memoria sobrante para «cachear» los datos, realizando escrituras en el disco mucho más espaciadas y eficientes.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Nota:</strong> Aunque uses una Pi 5, si notas que el router de tu casa se bloquea o el internet va lento en otros dispositivos, vuelve a bajar el valor de <code>MaxConnectionsPerFiveSeconds</code> a 20. A veces el límite no es tu Raspberry, ¡sino tu router!</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Recuerda.</h3>



<p>Si no inicia al arrancar el sistema, es porque <code>Loaded</code> no se encuentra habilitado y se habilita con:</p>



<pre class="wp-block-code"><code>sudo systemctl enable amule.service</code></pre>



<p>Si Active no se encuentra en su estado active, puedes activarlo con:</p>



<pre class="wp-block-code"><code>sudo systemctl start amule.service</code></pre>



<p>Puedes parar el servicio con:</p>



<pre class="wp-block-code"><code>sudo systemctl stop amule.service</code></pre>



<p>Puedes reiniciar el servicio con:</p>



<pre class="wp-block-code"><code>sudo systemctl restart amule.service</code></pre>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/como-iniciar-y-controlar-amule-con-systemd/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>El Demonio de aMule y su control.</title>
		<link>https://linuxete.duckdns.org/el-demonio-de-amule-y-su-control/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=el-demonio-de-amule-y-su-control</link>
					<comments>https://linuxete.duckdns.org/el-demonio-de-amule-y-su-control/#comments</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 30 Dec 2023 17:16:04 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[amule 2.3.3]]></category>
		<category><![CDATA[amule 2.3.3 Debian]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=1055</guid>

					<description><![CDATA[Hay una nueva versión de este documento, tal vez te interese echarle un vistazo aquí 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 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbkcGTseLtVFuWQJK3A5keoWXL5AE-__8Gqrn4cK14Dfoj1tkAwhg7CFZZDR8DGT-q0eSQ68gp_uywixDHJ-FHr1RWK184FHXEI2FwBnvz3fXu7gzdPZGpL4VMjViVAPEK4NC74KHF0FxHN6eWG5XSTC8b_Tr4cdVfe3YabsG6fWnyQPkrDFGZSNUoZQ/s320/amulebash.png" alt=""/></figure>



<pre class="wp-block-verse has-medium-font-size">Hay una nueva versión de este documento, tal vez te interese echarle un vistazo <a href="https://linuxete.duckdns.org/como-iniciar-y-controlar-amule-con-systemd/">aquí</a></pre>



<p>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</p>



<p>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.</p>



<p>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.</p>



<p>MPORTANTE:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-luminous-vivid-amber-color has-ast-global-color-2-background-color has-text-color has-background has-link-color has-medium-font-size wp-elements-6faeaeabae97b650bd44b2c2156c07af">aMule y amuled no pueden correr juntos, de hecho si tienes alguno en ejecución el otro no se abrirá y dará un error.</p>
</blockquote>



<p>Instalación</p>



<p>Si no tienes todavía instalado aMule lo puedes hacer desde el terminal así</p>



<pre class="wp-block-code"><code>sudo apt install amule amule-daemon&nbsp;amule-utils&nbsp;amule-utils-gui&nbsp;amule-gnome-support</code></pre>



<h3 class="wp-block-heading">Configuramos el servicio de aMule</h3>



<p>Todos los cambios que se hacen en la configuración de amuled, se deben hacer con el demonio parado, ya que si no, los cambios no surtirán efecto.</p>



<p>Paramos el servicio con :</p>



<pre class="wp-block-code"><code>$ sudo service amule-daemon stop</code></pre>



<p>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.</p>



<pre class="wp-block-code"><code>sudo  nano /etc/default/amule-daemon</code></pre>



<p>Dentro de ese archivo nos vamos a encontrar algo como esto.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="736" height="553" src="http://localhost/wp-content/uploads/2023/12/lenovo@Apolo-_001.png" alt="" class="wp-image-1049" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/12/lenovo@Apolo-_001.png 736w, https://linuxete.duckdns.org/wp-content/uploads/2023/12/lenovo@Apolo-_001-300x225.png 300w" sizes="auto, (max-width: 736px) 100vw, 736px" /></figure>



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



<p>Edito con mi nombre de usuario que es «lenovo».</p>



<pre class="wp-block-code"><code>AMULED_USER="lenovo"</code></pre>



<p>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.</p>



<pre class="wp-block-code"><code>AMULED_HOME="/home/lenovo"</code></pre>



<p>Al final, el archivo debería quedar algo similar a esto.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="736" height="553" src="http://localhost/wp-content/uploads/2023/12/lenovo@Apolo-_002.png" alt="" class="wp-image-1051" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/12/lenovo@Apolo-_002.png 736w, https://linuxete.duckdns.org/wp-content/uploads/2023/12/lenovo@Apolo-_002-300x225.png 300w" sizes="auto, (max-width: 736px) 100vw, 736px" /></figure>



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



<p>Ahora activamos el servicio para que amuled genere los archivos de configuración</p>



<pre class="wp-block-code"><code>sudo service amule-daemon start</code></pre>



<h2 class="wp-block-heading">Configuración local</h2>



<p>Ahora ya tienes el demonio arrancado y se ha creado el archivo de configuración amule.conf, vuelve a detenerlo porque tenemos que escribir en el.</p>



<pre class="wp-block-code"><code>sudo service amule-daemon stop</code></pre>



<p>y abre con el editor de texto de la terminal el archivo de configuración.</p>



<pre class="wp-block-code"><code>nano .aMule/amule.conf</code></pre>



<p>Empecemos a configurar las conexiones externas </p>



<h3 class="wp-block-heading">Conexiones externas.</h3>



<p>Desplázate hasta [ExternalConnect] y cambia estos dos valores:<br><strong>&lt;&lt; AcceptExternalConnections&gt;&gt;</strong> cambialo de 0 a 1<br><strong>&lt;&lt;ECPassword&gt;&gt;<br></strong>Para calcular la contraseña escribe en una terminal:<br><code>echo -n tu_contraseña | md5sum</code><br>El resultado del comando anterior lo pegas después de ECPassword</p>



<pre class="wp-block-code"><code>&#91;ExternalConnect]
UseSrcSeeds=0
ShowPercent=1
ShowProgressBar=1
<mark style="background-color:#f9f601" class="has-inline-color">AcceptExternalConnections=1
</mark>ECAddress=
ECPort=4712
UPnPECEnabled=0
<mark style="background-color:#f9f601" class="has-inline-color">ECPassword=dda51edefjdforfjdgres
</mark>UseSecIdent=1
IpFilterClients=1
IpFilterServers=1
TransmitOnlyUploadingClients=0</code></pre>



<h3 class="wp-block-heading">Servidor web</h3>



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



<pre class="wp-block-code"><code>&#91;WebServer]
<mark style="background-color:#f9f601" class="has-inline-color">Enabled=1
</mark>Template=AmuleWebUI-Reloaded
<mark style="background-color:#f9f601" class="has-inline-color">Password=0EADCFB92DFDGGHGJYUJHJH
</mark>UseLowRightsUser=0
PasswordLow=
<mark style="background-color:#f9f601" class="has-inline-color">Port=74711
</mark>UPnPWebServerEnabled=0
WebUPnPTCPPort=50001
PageRefreshTime=120
UseGzip=1
Path=amuleweb
</code></pre>



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



<p>Si prefieres seguir configurando desde el terminal sigue leyendo.</p>



<p>Los puntos más importantes a modificar son los resaltados en amarillo.</p>



<pre class="wp-block-code"><code>&#91;eMule]
AppVersion=2.3.3
<mark style="background-color:#f9f601" class="has-inline-color">Nick=Escribe aquí el nombre de tu usuario
</mark>NewVersionCheck=0
StartupMinimized=0
ConfirmExit=1
EnableTrayIcon=0
MinToTray=0
Notifications=0
ToolTipDelay=1
VideoPlayer=
<mark style="background-color:#f9f601" class="has-inline-color">MaxDownload=0
MaxUpload=1536</mark>
<mark style="background-color:#f9f601" class="has-inline-color">SlotAllocation=100
Port=24662
</mark>UDPEnable=1
<mark style="background-color:#f9f601" class="has-inline-color">UDPPort=24672
</mark>UPnPEnabled=0
UPnPTCPPort=50000
Address=
<mark style="background-color:#f9f601" class="has-inline-color">MaxSourcesPerFile=600
MaxConnections=1000
</mark>ConnectToKad=1
ConnectToED2K=1
Autoconnect=1
Reconnect=1
RemoveDeadServer=1
DeadServerRetry=3
<mark style="background-color:#f9f601" class="has-inline-color">Serverlist=1
</mark>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
<mark style="background-color:#f9f601" class="has-inline-color">AllocateFullFile=1
</mark>CheckDiskspace=1
MinFreeDiskSpace=1
UAPPref=1
<mark style="background-color:#f9f601" class="has-inline-color">IncomingDir=/home/lenovo/.aMule/Incoming</mark>
<mark style="background-color:#f9f601" class="has-inline-color">TempDir=/home/lenovo/.aMule/Temp
</mark>ShareHiddenFiles=1
StatGraphsInterval=3
StatsAverageMinutes=5
VariousStatisticsMaxValue=100
DownloadCapacity=300
UploadCapacity=100
statsInterval=30
<mark style="background-color:#f9f601" class="has-inline-color">MaxConnectionsPerFiveSeconds=100
FileBufferSizePref=67</mark>
QueueSizePref=50
ServerKeepAliveTimeout=0
ShowInfoOnCatTabs=1
ShowVersionOnTitle=0
ShowOverhead=0
VerticalToolbar=0
GeoIPEnabled=0
3DDepth=5
AutoSortDownloads=0
SeeShare=2
<mark style="background-color:#f9f601" class="has-inline-color">IPFilterURL=http://upd.emule-security.org/ipfilter.zip
</mark>IPFilterAutoLoad=1
FilterLevel=127
FilterLanIPs=1
ParanoidFiltering=1
IPFilterSystem=0
OnlineSignature=0
OnlineSignatureUpdate=5
<mark style="background-color:#f9f601" class="has-inline-color">OSDirectory=/home/lenovo/.aMule/
</mark>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
<mark style="background-color:#f9f601" class="has-inline-color">SmartIdState=1
</mark>DropSlowSources=0
KadNodesUrl=http://upd.emule-security.org/nodes.dat
<mark style="background-color:#f9f601" class="has-inline-color">Ed2kServersUrl=http://upd.emule-security.org/server.met
</mark>ShowRatesOnTitle=0
GeoLiteCountryUpdateUrl=http://geolite.maxmind.com/download/geoip/database/GeoL&gt;
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&gt;
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&gt;
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&gt;
TableOrderingSearch=N:0:0
TableWidthsSearch=N:500,Z:100,u:50,Y:65,I:280,S:100,D:280
</code></pre>



<p>Descripción de los puntos más importantes de la configuración de aMule.</p>



<ul class="wp-block-list">
<li>Nick=El nombre de tu usuario</li>



<li>MaxDownload=0 Velocidad máxima de descarga</li>



<li>MaxUpload=1536 Velocidad máxima de subida</li>



<li>SlotAllocation=100</li>



<li>Port=24662 Número del puerto TCP</li>



<li>UDPPort=24672 Número del puerto UDP</li>



<li>MaxSourcesPerFile=600 Fuentes máximas por archivo</li>



<li>MaxConnections=1000 Conexiones máximas</li>



<li>Serverlist=1 Actualizar lista de servidores al inicio</li>



<li>AllocateFullFile=1 Reserva espacio completo del archivo (menos accesos al disco)</li>



<li>IncomingDir=/home/lenovo/.aMule/Incoming Directorio de Descargas</li>



<li>TempDir=/home/lenovo/.aMule/Temp Directorio de descargas temporales</li>



<li>MaxConnectionsPerFiveSeconds=100 Conexiones máximas cada 5 segundos</li>



<li>FileBufferSizePref=67 Tamaño del búfer de archivo. se mide en tantos %, máximo en 1,5 megabites</li>



<li>IPFilterURL=http://upd.emule-security.org/ipfilter.zip Filtro de IPs</li>



<li>OSDirectory=/home/lenovo/.aMule/ Directorio del usuario donde se aloja aMule</li>



<li>SmartIdState=1</li>



<li>Ed2kServersUrl=http://upd.emule-security.org/server.met Listado de servidores en internet</li>



<li></li>
</ul>



<p>Ahora es cuando debes de activar el demonio para empezar a usar aMule</p>



<pre class="wp-block-code"><code>sudo service amule-daemon start</code></pre>



<h2 class="wp-block-heading">Control del demonio.</h2>



<h3 class="wp-block-heading">Script de vigilancia de amuled</h3>



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



<p>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.</p>



<p>He simplificado el script con un par de condicionales if anidados, que a diferencia del antiguo script, mantiene el archivo&nbsp;<strong>mulelock</strong>&nbsp;siempre que aMule está en ejecución.</p>



<p>¿Qué requisitos son necesarios para abrir o reabrir amuled?<br><br>&nbsp; &nbsp; 1 &#8211;&nbsp;Que el archivo muleLock no exista.<br>&nbsp; &nbsp; 2 &#8211;&nbsp;Que el servidor amuleweb esté cerrado</p>



<h4 class="wp-block-heading">El script</h4>



<pre class="wp-block-code"><code>#!/bin/bash

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

#chequea si aMule esta corriendo

if&nbsp;pgrep amuled&nbsp;&gt;&nbsp;/dev/null&nbsp;2&gt;&amp;1&nbsp;

then

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;date&nbsp;+%c

&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "

&nbsp; &nbsp; &nbsp; &nbsp; echo&nbsp;"********************"

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"amuled esta corriendo"&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; echo&nbsp;"********************"

echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"

&nbsp;else

&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "

&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo&nbsp;" amuled está cerrado, abriendo"

&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo&nbsp;".........................................................."&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if &#91;&nbsp;-f&nbsp;~/.aMule/muleLock&nbsp;]; then

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"muleLock existe, borrando."

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;rm&nbsp;~/.aMule/muleLock

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"mulelock ha sido borrado"

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;killall&nbsp;-9 amuleweb&nbsp;&gt;&nbsp;/dev/null&nbsp;2&gt;&amp;1

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sleep&nbsp;5s

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;amuled&nbsp;&amp; &gt; /dev/null&nbsp;2&gt;&amp;1

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;echo&nbsp;"corriendo"

&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"mulelock no existe"&nbsp; &nbsp;&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;killall&nbsp;-9 amuleweb&nbsp;&gt;&nbsp;/dev/null&nbsp;2&gt;&amp;1

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sleep&nbsp;5s

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;amuled&nbsp;&amp; &gt; /dev/null&nbsp;2&gt;&amp;1

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;echo&nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo&nbsp;"corriendo"

&nbsp; &nbsp; &nbsp; &nbsp; fi

fi</code></pre>



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



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



<p>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.</p>



<p>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</p>



<p>También lo puedes descargar desde&nbsp;<a href="https://mega.nz/file/4lIEkbha#OKhg2z_quy1pa3Ivtse_5xYeKVH7tqCy2ekFAl7kF3k">aquí</a></p>



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



<pre class="wp-block-code"><code>chmod +x aMuleLock.sh</code></pre>



<h3 class="wp-block-heading"><u style="">La </u><strong><u>automatización&nbsp;</u></strong></h3>



<p>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.</p>



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



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



<pre class="wp-block-code"><code>crontab -e</code></pre>



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



<pre class="wp-block-code"><code>*/5&nbsp; * * * *&nbsp; ~/aMuleLock.sh &gt;&gt;&nbsp; ~/aMuleLock.log 2&gt;&amp;1</code></pre>



<p>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.</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj921crMCqSYTXHVcNZiHIaRpb1hn7h61YNBNAO5vKEtjGLnLkzm4ydWymuWFrQY8my90R3AW0Q5waqnQ4R3GP34XJdmUmX3T4dW9xwq4_DoBLcWFR7jpEVaY-Dgyeiefq500nml2mCCNJFBaGpmxd4MudCYLuF_5r8yDAzQhr_QyrxmnZzBXraXargPQ/s320/asus@asus-System-Product-Name:%20~_002.png" alt=""/></figure>



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



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9GtJRU5q575ax8Jx4JP7pO0uyDqnc-XcjW9Q8oAi74eMTabV-7XHesIDQSxORVYzac6O1XmSkZ2ym0UMj_ZE4SddrYqU7sUZZcqhuDR0QbKTNrXUnbvjQ5EdfRHIczsGGFUKt1i1mWjPWQwuirNe617ilha99QCwE1ZCrSNDhmuMgjJdHXlx48upw2A/s320/Monitor%20del%20sistema_003.png" alt=""/></figure>



<p>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)</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF0-YX85RQ8y2bZQhayVf_8b4uxkOshfgJ6cBtKSppULj-Tw-CpxsqpGPUMUjEwfc6XffWd-esxPGuT7zzlGa_9OFl4FsbWhheqnspcSAyb7St2mc3bO6DasvveDi4xBzh-5jNvfqm8rkJOEGyNv4AViZ26of2QcQjNoEuh4cffHob298Xy9gwMfGqDA/s320/Carpeta%20personal_001.png" alt=""/></figure>



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



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMiRnMXnRYs66NHqFnugjY95j10gSRd1jcbJ02I-mNleYcmgx8IEgXle_Y017XflF9tJxKr4iZ0PQMP-SQh6UkTPBixgJJoAiZQNTfDO6UdHRt5z7bg9d6kRkuyFRFEMyCyrTX9XWPKHtapw6zIqL4ANiHEr2l-pAdhL9SKJgpwH1RIJ9kt_i_7It5IQ/s320/aMuleLock.log%20(~)_002.png" alt=""/></figure>



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



<p>¡¡¡Recuerda!!!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-medium-font-size"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-ast-global-color-0-color">aMule y amuled no pueden correr juntos, ahora para usar aMule deberás usar el programa aMuleGUI.</mark></p>
</blockquote>



<p>Abre aMuleGUI y conectate a localhost y puerto 4712 introduce la contraseña para acceder a aMule</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgn6doufe13wWJ_PVMmLErNVsTQi5qvzM4XxZw5wLoDev5XZVvGHNiGwmmQIh5PKURiV_WIiXwL8-p9wABXQ8th5Beji6y9GeBlpEL0V7EkPZoDcT8bN8mMWSZHetBfq2P6p_-HcJmHZhK17pF_IXvFl-5SvEQlTHUDD4AKRXgfsQTjB2i4bhdDnxjO9g/s320/Conectar%20con%20un%20amule%20remoto_001.png" alt=""/></figure>



<p>Para usar aMuleGUI debes tener configurado el&nbsp;<strong><u>control remoto</u></strong>&nbsp;de aMule,&nbsp;<a href="https://linuxete.duckdns.org/instalar-y-configurar-amule-en-debian-12/" target="_blank" rel="noreferrer noopener">véase aquí</a></p>



<h3 class="wp-block-heading">Trasteando con systemd</h3>



<p>Mostrar el estado de aMule, incluso si se está ejecutando o no:</p>



<pre class="wp-block-code"><code>sudo systemctl status amuled.service</code></pre>



<p>Comprobar si aMule ya está habilitada o no:</p>



<pre class="wp-block-code"><code>sudo systemctl is-enabled amuled.service</code></pre>



<p>Activar el inicio automático en el arranque:</p>



<pre class="wp-block-code"><code>sudo systemctl enable amuled.service</code></pre>



<p>Desactivar el inicio automático en el arranque:</p>



<pre class="wp-block-code"><code>sudo systemctl disable amuled.service</code></pre>



<h3 class="wp-block-heading">Mas información</h3>



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



<p><a href="http://wiki.amule.org/wiki/FAQ_aMule#aMule_is_crashing_quite_often_here._Can_I_set_it_to_restart_every_time_it_crashes.3F" target="_blank" rel="noreferrer noopener">mas script sobre ejecución de amule</a></p>



<p><a href="http://forum.amule.org/index.php?topic=1232.0">http://forum.amule.org/index.php?topic=1232.0</a></p>



<p><a href="http://forum.amule.org/index.php?topic=542.0">http://forum.amule.org/index.php?topic=542.0</a></p>



<p><a href="http://deepthought.ena.si/mulerunner">http://deepthought.ena.si/mulerunner</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/el-demonio-de-amule-y-su-control/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Cambiar plantilla Webserver de aMule</title>
		<link>https://linuxete.duckdns.org/cambiar-plantilla-webserver-de-amule/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cambiar-plantilla-webserver-de-amule</link>
					<comments>https://linuxete.duckdns.org/cambiar-plantilla-webserver-de-amule/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 25 Nov 2023 19:12:39 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[amule 2.3.3]]></category>
		<category><![CDATA[amule 2.3.3 ubuntu]]></category>
		<category><![CDATA[aMule 2022]]></category>
		<category><![CDATA[aMule 21.04]]></category>
		<category><![CDATA[plantilla server amule]]></category>
		<category><![CDATA[template amule]]></category>
		<category><![CDATA[webserver amule]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=959</guid>

					<description><![CDATA[Buscando dar un nuevo look al servidor web de aMule, dí con el proyecto o de&#160;MatteoRagni,&#160;el cual a hecho un trabajo excelente con el acceso via web. Recuerda tener en aMule activa la casilla «Arrancar el servidor web al inicio» . Te paso la configuración&#160;aquí&#160; Instalación Para probar este webserver necesitamos tener instalado git, para [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGAsr94MNunpM3ZvXLMX81BMno0azGPPZNs1OY2iCZHWGxjQg1PqNTVIhukBEXgYXR-opop_IqlJbATKI6GWJ7t9oYdadJPFXUTBMQ95ZhD7f9J3DZvHZ3NQYcNZBLew1kzMjGjx0MHh8pH9WKpbjz7rT06Yk69W8Aw1iK1KFqnBoCuooaKsXz-pNmKA/s320/logo-brax.png" alt=""/></figure>



<p>Buscando dar un nuevo look al servidor web de aMule, dí con el proyecto o de&nbsp;<a href="https://github.com/MatteoRagni/AmuleWebUI-Reloaded" target="_blank" rel="noreferrer noopener">MatteoRagni,</a>&nbsp;el cual a hecho un trabajo excelente con el acceso via web.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Recuerda tener en aMule activa la casilla «Arrancar el servidor web al inicio» . Te paso la configuración&nbsp;<a href="https://linuxete.duckdns.org/instalar-y-configurar-amule-en-debian-12/" target="_blank" rel="noreferrer noopener">aquí</a>&nbsp;</p>



<h2 class="wp-block-heading">Instalación</h2>



<p>Para probar este webserver necesitamos tener instalado git, para ello en una terminal escribe:</p>



<pre class="wp-block-code"><code>sudo apt install git</code></pre>



<p>Ahora para instalar la interfaz web simplemente clona el repositorio en un directorio dentro de /usr/share/amule/webserver&nbsp;</p>



<p>Comenzamos parando el servicio amule-daemon</p>



<pre class="wp-block-code"><code>sudo systemctl stop amule-daemon</code></pre>



<p>Nos movemos al directorio donde se aloja el servidor de amule</p>



<pre class="wp-block-code"><code>cd /usr/share/amule/webserver</code></pre>



<p>Descargamos mediante git los archivos del servidor web</p>



<pre class="wp-block-code"><code>sudo git clone https://github.com/MatteoRagni/AmuleWebUI-Reloaded.git</code></pre>



<p>Después editamos el archivo de configuración:</p>



<pre class="wp-block-code"><code>nano .aMule/amule.conf</code></pre>



<p>Encuentra y edita la línea Template, donde dice «default» cambia por «AmuleWebUI-Reloaded»&#8230;<br>[Webserver]<br>&#8230;<br>Template=AmuleWebUI-Reloaded<br>&#8230;</p>



<p>Arrancamos el servicio amule-daemon</p>



<pre class="wp-block-code"><code>sudo systemctl start amule-daemon&nbsp;</code></pre>



<p>La interfaz está disponible en tu navegador en la siguiente dirección:</p>



<p><a href="http://localhost:4711">http://localhost:4711</a></p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBQFSPEXY84h4tcxmlQGAY-8lv0IeTcP68ktU7jU66p5tD3xfIesQ4N4Z9FRl1d9GBO59kWujAA0dqXVqE3oP1XmFjKFfNJJ3WsmaSirdsfzrRi69pnq9Oq9MlxpkAKbkYzMXB9PZ89b9W1s_1Ieavw-RSsF2DfIYGImCQC0DP8ugQohnwD9hHJ1ee7w/s320/login.gif" alt=""/><figcaption class="wp-element-caption">Nueva Interfaz de Inicio</figcaption></figure>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioc4cq_c-LFb0mMNKZtr6BqpTzVUZqMd0n1VW8t9lHCHhWB4i3xMkIyDZzxmJ532MGENWBif1ZC6MKVwXsfDSLApotak8GKzgDe3dTXBaNFpcewpOn2x7y6G3IwxXA_wxcwJgpnALAkcyDeMzKA2XDHRlPMlDfrQn1BmjQgIZNfEnQF7Ru9q2_9DbtEg/s320/aMule%20control%20panel%20%E2%80%94%20Mozilla%20Firefox_001.png" alt=""/><figcaption class="wp-element-caption">Antigua interfaz de Inicio</figcaption></figure>



<h2 class="wp-block-heading">Una cuestión a considerar</h2>



<p>Por razones que desconozco en algunas ocasiones, cuando reiniciamos el equipo, aMule tiende a cambiar la plantilla a default. Algo fácil de solucionar, pero incomodo, ya que esto pasa por sorpresa y vuelves a la plantilla original.</p>



<p>Para solucinar este problema me ocurre renombrar la carpeta&nbsp;AmuleWebUI-Reloaded&nbsp;a&nbsp;default&nbsp;convirtiéndola en carpeta por defecto.</p>



<h3 class="wp-block-heading">Renombrar la carpeta default</h3>



<p>Así que primero cambiaremos el nombre a la carpeta default para no crear conflictos.</p>



<p>Nos movemos a dicho directorio con el siguiente comando:</p>



<pre class="wp-block-code"><code>cd /usr/share/amule/webserver</code></pre>



<p>Ahora renombramos la carpeta default</p>



<pre class="wp-block-code"><code>sudo mv default default-bak</code></pre>



<p>ya podemos renombrar&nbsp;<strong>AmuleWebUI-Reloaded&nbsp;</strong>con el siguiente comando.</p>



<pre class="wp-block-code"><code>sudo mv&nbsp;AmuleWebUI-Reloaded default</code></pre>



<p>Recuerda que a partir de ahora, la plantilla web por defecto debe de ser &lt;&lt;default&gt;&gt;</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="732" height="579" src="http://localhost/wp-content/uploads/2023/11/Preferencias_002-1.png" alt="" class="wp-image-1077" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/11/Preferencias_002-1.png 732w, https://linuxete.duckdns.org/wp-content/uploads/2023/11/Preferencias_002-1-300x237.png 300w" sizes="auto, (max-width: 732px) 100vw, 732px" /></figure>



<p>Por lo que la carpeta AmuleWebUI-Reloaded es ahora la carpeta default encubierta. Desde ahora, siempre tendremos activa la nueva plantilla, ya que para aMule es la plantilla web por defecto.</p>



<p>Eso es todo.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/cambiar-plantilla-webserver-de-amule/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Instalar y Configurar aMule en Debian 12</title>
		<link>https://linuxete.duckdns.org/instalar-y-configurar-amule-en-debian-12/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalar-y-configurar-amule-en-debian-12</link>
					<comments>https://linuxete.duckdns.org/instalar-y-configurar-amule-en-debian-12/#comments</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 11 Nov 2023 18:59:41 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[amule 2.3.3]]></category>
		<category><![CDATA[amule 2.3.3 ubuntu]]></category>
		<category><![CDATA[aMule 2022]]></category>
		<category><![CDATA[acelerar aMule]]></category>
		<category><![CDATA[amule 2.3.3 Debian]]></category>
		<category><![CDATA[aMule 2023]]></category>
		<category><![CDATA[aMule Debian 12]]></category>
		<category><![CDATA[raspberry]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=906</guid>

					<description><![CDATA[eMule y aMule son 2 programas P2P que se crearon cuando nos conectábamos a Internet con un módem de 56 Kb/s a través de la línea telefónica. No están bien adaptados a las conexiones de alta velocidad que tenemos ahora.&#160;Aunque en 2021 han recibido actualizaciones, siguen siendo unas mulas tozudas&#160;que desaprovechan mucho tiempo y ancho [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-N0YtBpcxpHw/YWW0q1UXZyI/AAAAAAAAp2g/ixjlPcx5JYA7Qy3HB494Bf_DvrQ9AI2pwCNcBGAsYHQ/s0/kisspng-emule-computer-icons-amule-5ae47e802286c0.8425435515249240321414.png" alt=""/></figure>



<p>eMule y aMule son 2 programas P2P que se crearon cuando nos conectábamos a Internet con un módem de 56 Kb/s a través de la línea telefónica. No están bien adaptados a las conexiones de alta velocidad que tenemos ahora.&nbsp;Aunque en 2021 han recibido actualizaciones, siguen siendo unas mulas tozudas&nbsp;que desaprovechan mucho tiempo y ancho de banda.</p>



<p>La red eDonkey iba de maravilla con eDonkey2000. Con un módem de 56Kb/s podías bajar en 3 o 4 noches una película de 800 megas aproximadamente, hasta que un tal Merkur creó eMule, ¡que sí, que está muy bien porque es software libre y todas esas cosas!, pero las descargas ya nunca fueron igual, eso de bajar a todo lo que daba tu conexión prácticamente sin interrupciones, se acabó.&nbsp;<strong>¡Esta Mulas tienen arranques de Caballo y paradas de Burro!</strong>. En aquél entonces dejaba mi burro suelto por las noches, ya que no podías estar todo el día conectado al teléfono, ocupabas la línea y nadie te podía llamar a casa, así que las noches eran la única manera de dejar al burro correr a sus anchas.</p>



<p>Pero dejemos lo que fue y centrémonos en lo que es. Así que empezamos a instalar y después a configurar aMule de la siguiente manera&#8230;&#8230;</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Instalación.</h2>



<p>Yo tengo aMule 2.3.3 instalado en una Raspberry Pi 4 con&nbsp;Raspberry Pi OS 64 Bits, (para mí el sistema operativo más estable que he probado). También lo puedes instalar con&nbsp;Debian 12 . Cualquiera de ellos es una buena&nbsp;opción para compartir con un consumo muy bajo de electricidad.</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/a/AVvXsEgrmuikW-69AxLTxCIBpao_8cTUWRgySoi0Bf9wugMvXOK7RTKNPoy_C7IgX02MoUbPrlNjNk5ilItqLHN9jQW14bZqO-_PnhHHIjZziS1iWN4yNm2vHJgPBt214KpLyDbTjbsYVdmQOqex-nh3noa28ddrSzR3Xz4fGOYdT-jepKu-XMAHILZ5eV-t0A=s320" alt=""/></figure>



<p>Sea cual sea el equipo que elijas, en Debian, Ubuntu y derivadas se instala de la misma forma.</p>



<h3 class="wp-block-heading">Instalar aMule 2.3.3 en Debian 12 y Raspberry Pi OS</h3>



<p>Para instalar aMule en estas versiones de Debian 12  basta con instalar lo siguiente:</p>



<pre class="wp-block-code"><code>sudo apt install amule amule-daemon&nbsp;amule-utils&nbsp;amule-utils-gui&nbsp;amule-gnome-support</code></pre>



<h2 class="wp-block-heading">Configuración</h2>



<p>***Importante no estar detrás de CGNAT***&nbsp;</p>



<p>&nbsp;&nbsp;Más información&nbsp;<a href="https://www.redeszone.net/tutoriales/redes-cable/saber-operador-ip-publica-cg-nat/">aquí</a></p>



<p>Tenemos que saber a qué velocidad rula nuestra conexión. Tengo una conexión de&nbsp;600 Megabits simétricos de fibra óptica, pero aMule, como dije al principio no está preparado para estas velocidades, así que solo podrás configurar las subidas y bajadas con un máximo de 19375 Kilobytes (151.37 Megabits) con lo que me quedo sin poder compartir y aprovechar con la comunidad 448,63 Megabits de velocidad.</p>



<p>Una vez que abrimos aMule por primera vez pedirá descargar los servidores y le decimos que sí.</p>



<figure class="wp-block-image aligncenter is-resized"><img decoding="async" src="https://blogger.googleusercontent.com/img/a/AVvXsEh91L7uceeyYl3MEBki0yahHGh34TJV0RErg1FNVwTwmnt1_Cpw8I446oZZoWdekjgDD8oqX1NYCTBtj8FQHRO_O0Z8gdbe2mBX9M-qC5JU2kq6KdPX5vpmBjg6nGR_YhpAL-XR_c6gVkJm1ttqCgNCKbNJOrGF0FH0wVK4qDCK0Gz62qr3LYlcXcMBww=s320" alt="" style="width:491px;height:auto"/></figure>



<p>Personalmente creo que solo hay que configurar 8 apartados:</p>



<ul class="wp-block-list">
<li>Velocidades de subida, bajada</li>



<li>Puertos de conexión</li>



<li>Fuentes y conexiones</li>



<li>Directorios, Descarga y Temporales</li>



<li>Actualización automática de los servidores</li>



<li>Filtro de bloqueo de IP</li>



<li>Avanzado</li>



<li>Control remoto</li>
</ul>



<h3 class="wp-block-heading">Configuración de Velocidades.</h3>



<p>Como ya dije antes, las velocidades vienen capadas, tanto en subida como en bajada a 19375 Kilobytes o lo que es lo mismo 151.37 Megabits. De todas formas yo no he visto a mi aMule ni subir ni bajar mas allá de 4700 KB/s de pico (36.7188 Megabits).<br>Vamos a <strong>Preferencias, Conexión</strong>, apartado <strong>Límites del ancho de banda</strong><br>Descarga &#8212;   0 Máxima velocidad de descarga, puedes probar entre 1024 y 4096 KB/s ( 1MB o 4 MB)<br>Subida &#8212; Entre 1024 KB y 1536 KB ( 1MB o 1,5 MB) <br>Asignación de puesto reservado &#8212; 2 KB/s puedes aumetar hasta 100 KB/s</p>



<p>**Nota, la asignación de puesto reservado, mejor dejarla por defecto, aMule ya se encarga de subir lo necesario. En mi caso, si la subo mucho,  subo menos y a menos fuentes.</p>



<h3 class="wp-block-heading">Puertos de conexión</h3>



<p>Antiguamente los operadores capaban los puertos que utiliza aMule, ahora no se si lo hacen, pero es conveniente cambiarlos por si acaso. Podemos añadir un número a los que vienen por defecto, por ejemplo añadimos un 5 delante de los que están, así, si el puerto TCP es un 4662 ahora será 54662 y lo mismo con el resto.<br>Para no tener que abrir los puertos en el router, marcaremos la casilla&nbsp;<strong>Habilitar UPnP para el reenvío del puerto del router</strong></p>



<h3 class="wp-block-heading">Fuentes y conexiones.</h3>



<p>Cambiaremos el Número máximo de fuentes descargando un archivo de 300 a 600<br>Numero máximo de conexiones simultáneas de 500 a 1000</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="767" height="557" src="https://linuxete.duckdns.org/wp-content/uploads/2023/11/conexion.png" alt="" class="wp-image-2871" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/11/conexion.png 767w, https://linuxete.duckdns.org/wp-content/uploads/2023/11/conexion-300x218.png 300w" sizes="auto, (max-width: 767px) 100vw, 767px" /><figcaption class="wp-element-caption">Resumen de parámetros de conexión.</figcaption></figure>



<h3 class="wp-block-heading">Directorios, Descarga y Temporales</h3>



<p>El directorio de descarga de aMule está oculto en la carpeta personal. Es el único que cambiaría por otro, pero NUNCA uses el directorio de Descargas, ya que si elegimos ese directorio corremos el riesgo de añadir a la colección archivos personales tales como facturas, fotografías, curriculum, documentos etc, y se terminarán compartiendo con la comunidad. (busca la palabra curriculum en aMule entenderás de lo que hablo)El directorio TEMP déjalo tal cual, no hace falta cambiarlo.</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-QLAM2OiCNFw/YW8X5aSybqI/AAAAAAAAp7U/zHYMq-fFocA82OVB-wrB051VTRYhAzf2ACNcBGAsYHQ/s320/Selecci%25C3%25B3n_116.png" alt=""/></figure>



<h3 class="wp-block-heading">Actualización de servidores</h3>



<p>Es conveniente que cada vez que arranque aMule actualice la lista de servidores, para ello vamos a&nbsp;<strong>Preferencias, Servidores</strong>, marcamos la casilla<strong><u>&nbsp;Autoactualizar la lista de servidores al inicio</u></strong></p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-0AjtRBo63-o/YWbx6uMM-_I/AAAAAAAAp24/CSLTAwBoCXsTZ5hLd-Vdl5c7C3mxl5xAACNcBGAsYHQ/s320/Selecci%25C3%25B3n_095.png" alt=""/></figure>



<p>En el cajetín&nbsp;<strong><u>Lista</u></strong>, añadimos la siguiente url</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>http://upd.emule-security.org/server.met</p>
</blockquote>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-VaIBiJMWq5A/YWbybMh6cFI/AAAAAAAAp3A/098Eug1_YEMrFRVuGt6ESY3p90vY8-JegCNcBGAsYHQ/s320/Selecci%25C3%25B3n_091.png" alt=""/></figure>



<p>Aceptamos y es posible que nos avise que estos cambios se produzcan la próxima vez que se inicie aMule. Así que cierra aMule y vuelve a abrirlo.</p>



<p>Sabremos que la conexión se ha realizado correctamente porque las flechas pasarán a estar de color verde (ID alta), y nos informará del nombre del servidor al que estamos conectados y un OK para la red Kad.</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-GCHYkCKqPGY/YWchdRtpuMI/AAAAAAAAp4Y/KcRfz7p7VlMDm1EQF2i8lAPNOE8ksZR6ACNcBGAsYHQ/s320/Selecci%25C3%25B3n_107.png" alt=""/></figure>



<h3 class="wp-block-heading">Filtro bloqueo de IP</h3>



<p>Vamos a&nbsp;<strong><u>Preferencias, Seguridad,</u></strong>&nbsp;marcamos la casilla&nbsp;<strong><u>Filtrar los servidores</u></strong>. Añadimos la siguiente url al cajetín</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>http://upd.emule-security.org/ipfilter.zip</p>
</blockquote>



<p> pulsamos en&nbsp;<strong>Actualizar ahora</strong></p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-97wsHhomT0A/YWbu6z-KERI/AAAAAAAAp2w/CjawRM-4-Ugom_xwpgMlHVEbva40gNhcACNcBGAsYHQ/s320/Selecci%25C3%25B3n_093.png" alt=""/></figure>



<p>Pulsamos OK y reiniciamos aMule.</p>



<h3 class="wp-block-heading">Avanzado</h3>



<p>Aquí es donde vamos a corregir uno de los mayores problemas o quejas que reportan los usuarios, sobre la velocidad de descarga. Y es que aMule empieza a descargar rápido y después baja de velocidad considerablemente. Eso se debe a un bajo valor del búfer de archivo. No se puede descargar a 4 Megabits y escribir a en el disco a  240KB (que es el tamaño que viene por defecto). Se produce un cuello de botella impresionante. Es como circular con tu coche en primera he intentar ponerlo a 100 km/h.</p>



<p>Como dije al principio, aMule viene con una configuración por defecto para equipos antiguos, que venían justos de procesador y memoria. Los equipos que tenemos ahora no son los de antes, ni las conexiones a internet (ahora de fibra óptica) tampoco, así que vamos a aumentar estos valores.</p>



<p>Cambia <strong>Número máximo de nuevas conexiones cada 5 segundos</strong> de 20 a 100<br>Cambia <strong>Tamaño del búfer de archivo </strong>y ponlo aproximadamente en 1000000 de bytes, que viene a ser 1 megabyte</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="751" height="567" src="https://linuxete.duckdns.org/wp-content/uploads/2023/11/Preferencias_005.png" alt="" class="wp-image-2357" srcset="https://linuxete.duckdns.org/wp-content/uploads/2023/11/Preferencias_005.png 751w, https://linuxete.duckdns.org/wp-content/uploads/2023/11/Preferencias_005-300x226.png 300w" sizes="auto, (max-width: 751px) 100vw, 751px" /></figure>



<h3 class="wp-block-heading">Control remoto.</h3>



<p>¿sabes que puedes acceder desde tu teléfono móvil, tablet u otro PC a aMule para monitorizarlo? Aquí configuraremos la conexión para acceder desde otro PC que esté en nuestra red local, a través de la aplicación&nbsp;aMuleGUI.<br>Vamos a&nbsp;Preferencias. Controles Remotos, Parámetros de la conexión externa, marcamos la casilla&nbsp;<strong><u>Aceptar conexiones externas,</u></strong>&nbsp;cambiamos el puerto y ponemos una contraseña para el acceso.</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-64ZVZoBNoBw/YWcDTv7QcvI/AAAAAAAAp3g/gFx1US_7uHEjgtwxJnkIQg-HLha2ZcgHwCNcBGAsYHQ/s320/Selecci%25C3%25B3n_099.png" alt=""/></figure>



<p>Pulsamos OK y reiniciamos aMule.</p>



<p>Desde otro PC que tengamos aMuleGUI instalado, introducimos la IP, puerto y contraseña para acceder a nuestro aMule en remoto local.</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/a/AVvXsEjA67aHPgUdpxvEPJAHEE9DjImk_KkHeT2Twmn0WgO95cpykNlawfQzF4F1QPG3XO44NXeNcH9hBuip_7Tf-9vw9Uqj9-zPPBGVM02MJJEH5sVPpmEQmPa_JYkx7w374ka9-_tA2Pij8VRHWY2YOc0tgPp0qdFfXLccdC79G9t8Y6QYeVHamNTkbNMZzw=s320" alt=""/></figure>



<p>¡Ya, si eso está muy bien!, ¿y si estoy fuera de casa, y quiero ver si han bajado mis archivos o alguien me comenta que ha visto cierto archivo en Netflix y quiero bajarlo? ¬_¬ Pues configuro aMule para entrar desde fuera de mi red, osea desde Internet.</p>



<p>Vamos a&nbsp;<strong>Preferencias. Controles Remotos, Parámetros del servidor Web</strong>, marcamos la casilla&nbsp;<strong><u>Arrancar el servidor web al inicio</u></strong>, cambiamos el puerto y ponemos una contraseña de administrador.<br>Si no quieres abrir el puerto en el router, marca la casilla&nbsp;<strong><u>Habilitar el reenvío de puertos UPnP en el puerto del servidor web</u></strong></p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-NQs1iwvV9ck/YWcbHfmk10I/AAAAAAAAp4Q/GNZVjgQjskMoSAzbXCjzoN_LKFgasX9dQCNcBGAsYHQ/s320/Selecci%25C3%25B3n_105.png" alt=""/></figure>



<p>Cogemos nuestro teléfono móvil, abrimos el navegador introducimos nuestra&nbsp;<strong>IP Pública</strong>&nbsp;y Puerto de conexión y se abrirá nuestro servidor de aMule</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-2ruR1XsEgDY/YWcPyeYfh-I/AAAAAAAAp34/HW3BkkWYXEskdI-_2cictMAXmw15oDhZwCNcBGAsYHQ/s320/Screenshot_20211013-185456.png" alt=""/></figure>



<p>Ingresamos la contraseña y pulsamos en Submit</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://1.bp.blogspot.com/-XMDiWl4uRpw/YWcSp5jTLzI/AAAAAAAAp4A/0Dl42vlkWrgOwsqCQrlle61BDzU_BIRzgCNcBGAsYHQ/s320/11Screenshot_20211013-184027.png" alt=""/></figure>



<p>Pues ya estamos dentro de aMule</p>



<h3 class="wp-block-heading">¿Puedo iniciar aMule cuando arranque mi PC?</h3>



<p>Sí, y lo podemos hacer de dos formas diferentes:</p>



<ul class="wp-block-list">
<li>Desde un servicio systemd, que monitorice aMule.</li>



<li>Desde la aplicación de Programas al inicio.</li>
</ul>



<p><strong><u>Desde un servicio en Systemd</u></strong>.</p>



<p>Esta es mi forma favorita de arrancar aMule y tenerlo controlado, puedes ver de lo que hablo&nbsp;<a href="https://linuxete.duckdns.org/como-iniciar-y-controlar-amule-con-systemd/" target="_blank" rel="noreferrer noopener">aquí</a></p>



<p><strong><u>Desde Programas al inicio.</u></strong></p>



<p>Busca un programa llamado aplicaciones al inicio, pulsa Añadir</p>



<p>Nombre: aMule<br>Orden: amule<br>Comentario: P2P</p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://blogger.googleusercontent.com/img/a/AVvXsEhIDEeFfcuO5qH7StvMyQN7cD3v0y57hPQ_gOUdGVU9-DAsR4VJB9fRD-FuBvZhyaLUxiICQWgegG9LA2-UQzDvFF8x0cUG3qaVIpU44WqHl7D9Nhr5w-EThlsdee20J5FR7oe5gUj02_lQEJNWNusN78h7T5o4sw3Ed6u_6DzvsnTZvqxsxHyCWVSYbA=s320" alt=""/></figure>



<p></p>



<p><strong>Enlaces de Interés.</strong></p>



<p>Control ejecución de aMule.&nbsp;<a href="https://chapuboot.blogspot.com/2023/03/control-de-amule-actualizado-2023.html">Enlace</a></p>



<p>Configuraciones eMule para las diferentes velocidades&nbsp;<a href="https://foro.adslzone.net/emule.49/configuraciones-emule-diferentes-velocidades.23000/">Enlace</a></p>



<p>Configurar y filtrar con los enlaces de&nbsp;<a href="https://www.emule-security.org/" target="_blank" rel="noreferrer noopener">News &#8211; eMule Se</a>curity</p>



<p>aMule no conecta a red Kad.&nbsp;<a href="https://chapuboot.blogspot.com/2022/10/amule-no-conecta-red-kad.html" target="_blank" rel="noreferrer noopener">Enlace</a></p>



<p>Conversor de unidades.&nbsp;<a href="https://convertlive.com/es/u/convertir/megabits/a/kilobits" target="_blank" rel="noreferrer noopener">Enlace</a></p>



<p>Bienvenido al&nbsp;<a href="http://wiki.org/wiki.cgi?WhatIsWiki">Wiki</a>&nbsp;del&nbsp;<a href="https://wiki.amule.org/wiki/AMule">Proyecto aMule</a></p>



<p>Wikipedia, proyecto aMule.&nbsp;<a href="https://es.wikipedia.org/wiki/AMule" target="_blank" rel="noreferrer noopener">Enlace</a></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/instalar-y-configurar-amule-en-debian-12/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
