<?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 3.0.0 &#8211; El Cornijal de Linux</title>
	<atom:link href="https://linuxete.duckdns.org/category/amule-3-0-0/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxete.duckdns.org</link>
	<description>Un blog sobre Linux</description>
	<lastBuildDate>Sat, 20 Jun 2026 16:58:05 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<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>Sat, 20 Jun 2026 16:23:00 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[aMule 3.0.0]]></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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>¡OJO!</strong> Antes de editar, detén aMule</p>
</blockquote>



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



<p class="wp-block-paragraph">Vamos a decirle a aMule que ejecute nuestro script. Para ello, debemos editar el archivo <code>amule.conf</code>.</p>



<p class="wp-block-paragraph">Recuerda que estamos usando un usuario dedicado, por lo que lo haremos a su ruta</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">Crea el archivo de tu script, sustituyendo tu_usuario por el tuyo propio:</p>



<pre class="wp-block-code"><code>sudo nano /home/amule/notificar_amule.sh </code></pre>



<p class="wp-block-paragraph">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>



<p class="wp-block-paragraph">Como este archivo fue creado con sudo, el propietario será root, pero nosotros lo vamos a cambiar al usuario dedicado que es amule</p>



<pre class="wp-block-code"><code>sudo chown amule:amule /home/amule/notificar_amule.sh</code></pre>



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



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



<p class="wp-block-paragraph">Para que esto funcione, dale permiso de ejecución al script:</p>



<pre class="wp-block-code"><code>sudo chmod +x /home/amule/notificar_amule.sh</code></pre>



<p class="wp-block-paragraph">Ahora, arranca aMule de nuevo:</p>



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



<p class="wp-block-paragraph">¡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>Cambia la plantilla web de aMule y dale un aspecto moderno.</title>
		<link>https://linuxete.duckdns.org/%f0%9f%8e%a8-cambia-la-plantilla-web-de-amule-y-darle-un-aspecto-moderno/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25f0%259f%258e%25a8-cambia-la-plantilla-web-de-amule-y-darle-un-aspecto-moderno</link>
					<comments>https://linuxete.duckdns.org/%f0%9f%8e%a8-cambia-la-plantilla-web-de-amule-y-darle-un-aspecto-moderno/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 16:00:00 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[aMule 3.0.0]]></category>
		<category><![CDATA[aMule WebUI]]></category>
		<category><![CDATA[amuleweb]]></category>
		<category><![CDATA[AmuleWebUI-Reloaded]]></category>
		<category><![CDATA[interfaz remota]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=4182</guid>

					<description><![CDATA[Si has seguido mi guía anterior para compilar aMule desde GitHub en tu Raspberry Pi 5, ya tienes el demonio (amuled) funcionando y accedes a la interfaz web en http://localhost:4711. Estas instrucciones no te funcionarán si instalaste aMule desde repositorios. La plantilla web por defecto es bastante espartana, con un diseño que recuerda a principios [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Si has seguido mi guía anterior para compilar aMule desde GitHub en tu Raspberry Pi 5, ya tienes el demonio (<code>amuled</code>) funcionando y accedes a la interfaz web en <code>http://localhost:4711</code>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Estas instrucciones no te funcionarán si instalaste aMule desde repositorios.</p>
</blockquote>



<p class="wp-block-paragraph"><strong>La plantilla web por defecto es bastante espartana</strong>, con un diseño que recuerda a principios de los 2000. Por suerte, aMule permite cambiarla fácilmente, y existen creaciones de la comunidad mucho más atractivas y modernas.</p>



<p class="wp-block-paragraph">En este artículo te mostraré cómo instalar <strong>AmuleWebUI-Reloaded</strong>, una plantilla que utiliza <strong>Bootstrap, jQuery e iconos</strong> para ofrecer una interfaz responsive, limpia y agradable a la vista, tanto en ordenador como en móvil.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ¿Qué mejora esta plantilla?</h3>



<ul class="wp-block-list">
<li><strong>Diseño actualizado</strong> con Bootstrap y animaciones CSS.</li>



<li><strong>Interfaz responsive</strong> que se adapta a pantallas pequeñas (perfecta para usar desde el móvil).</li>



<li><strong>Iconos y botones más claros</strong> que facilitan la navegación.</li>



<li><strong>Transiciones suaves</strong> y logo animado en el inicio de sesión.</li>



<li><strong>Mismas funcionalidades</strong> que la plantilla original, solo mejora la apariencia.</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cb.png" alt="📋" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Requisitos previos</h3>



<p class="wp-block-paragraph">Antes de empezar, asegúrate de que tienes:</p>



<ul class="wp-block-list">
<li>aMule funcionando en tu Raspberry Pi (siguiendo mi <a href="https://linuxete.duckdns.org/como-compilar-amule-3-0-en-raspberry-pi/">guía de compilación</a>).</li>



<li>Acceso por SSH a la Raspberry Pi.</li>



<li>El servicio <code>amule.service</code> activo.</li>
</ul>



<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;" /> Instalación paso a paso</h3>



<h4 class="wp-block-heading">1. Detener el servicio aMule</h4>



<p class="wp-block-paragraph">Siempre es recomendable detener el demonio antes de modificar sus archivos:</p>



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



<h4 class="wp-block-heading">2. Clonar la plantilla en el directorio correcto</h4>



<p class="wp-block-paragraph">Como compilamos aMule desde código fuente y lo instalamos en <code>/usr/local</code>, el directorio de plantillas web está en:</p>



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



<p class="wp-block-paragraph">Ahora clonamos el repositorio de la plantilla:</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Nota:</strong> Usamos <code>sudo</code> porque el directorio pertenece al sistema.</p>
</blockquote>



<h4 class="wp-block-heading">3. Configurar aMule para usar la nueva plantilla</h4>



<p class="wp-block-paragraph">Editamos el archivo de configuración del demonio, que se encuentra en tu carpeta personal:</p>



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



<p class="wp-block-paragraph">Buscamos la sección <code>[Webserver]</code> y añadimos o modificamos la línea <code>Template</code>:</p>



<pre class="wp-block-code"><code>&#91;Webserver]
Enabled=1
Password=tu_hash_md5
Port=4711
Template=AmuleWebUI-Reloaded</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Importante:</strong> El nombre <code>Template</code> debe coincidir exactamente con el nombre de la carpeta que clonaste. Respeta mayúsculas y minúsculas.</p>
</blockquote>



<p class="wp-block-paragraph">Guarda los cambios con <code>Ctrl+O</code>, presiona <code>Enter</code> y sal con <code>Ctrl+X</code>.</p>



<h4 class="wp-block-heading">4. Reiniciar el servicio</h4>



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



<h4 class="wp-block-heading">5. ¡Disfrutar de la nueva interfaz!</h4>



<p class="wp-block-paragraph">Abre tu navegador y accede a <code>http://la-ip-de-tu-raspberry:4711</code> (o <code>http://localhost:4711</code> si estás en la propia Raspberry).</p>



<p class="wp-block-paragraph">Verás que la pantalla de login tiene un logo animado y un aspecto mucho más cuidado. Introduce tu contraseña y ¡listo!</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Verificación de que todo funciona</h3>



<p class="wp-block-paragraph">Si algo no va bien, puedes comprobar los logs del servicio:</p>



<pre class="wp-block-code"><code>journalctl -u amuled.service -f</code></pre>



<p class="wp-block-paragraph">Abre la interfaz web mientras observas los logs. Si la plantilla no se carga, puede que el nombre no coincida o que la carpeta no esté en la ruta correcta.</p>



<p class="wp-block-paragraph">También puedes listar las plantillas disponibles para confirmar que está instalada:</p>



<pre class="wp-block-code"><code>ls -la /usr/local/share/amule/webserver/</code></pre>



<p class="wp-block-paragraph">Deberías ver la carpeta <code>AmuleWebUI-Reloaded</code> junto con otras (como <code>default</code> o <code>php-default</code>).</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5bc.png" alt="🖼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Comparativa visual</h3>



<p class="wp-block-paragraph">Para que te hagas una idea, así se ve la interfaz <strong>antes</strong> (plantilla clásica):</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="601" height="1024" src="https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-06-601x1024.jpg" alt="" class="wp-image-4184" style="width:455px;height:auto" srcset="https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-06-601x1024.jpg 601w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-06-176x300.jpg 176w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-06-768x1308.jpg 768w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-06-902x1536.jpg 902w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-06.jpg 1080w" sizes="(max-width: 601px) 100vw, 601px" /></figure>



<p class="wp-block-paragraph">Y así se ve <strong>después</strong> con AmuleWebUI-Reloaded:</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img decoding="async" width="597" height="1024" src="https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-02-597x1024.jpg" alt="" class="wp-image-4185" style="width:455px;height:auto" srcset="https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-02-597x1024.jpg 597w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-02-175x300.jpg 175w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-02-768x1316.jpg 768w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-02-896x1536.jpg 896w, https://linuxete.duckdns.org/wp-content/uploads/2026/05/photo_2026-05-31_20-25-02.jpg 1080w" sizes="(max-width: 597px) 100vw, 597px" /></figure>



<p class="wp-block-paragraph">La diferencia es notable, sobre todo si accedes desde el móvil.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f41b.png" alt="🐛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Posibles problemas y soluciones</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Problema</th><th>Posible solución</th></tr></thead><tbody><tr><td>La plantilla no se ve, sigue saliendo la antigua</td><td>Verifica que el nombre en <code>Template</code> sea exactamente <code>AmuleWebUI-Reloaded</code>. Reinicia el servicio.</td></tr><tr><td>Error 404 o página en blanco</td><td>Asegúrate de que la carpeta está en <code>/usr/local/share/amule/webserver/</code> y tiene permisos de lectura.</td></tr><tr><td>El servicio no arranca</td><td>Revisa los logs con <code>journalctl -u amuled.service -e</code>. Puede que hayas introducido mal algún parámetro en <code>amule.conf</code>.</td></tr><tr><td>Quiero volver a la plantilla original</td><td>Cambia la línea <code>Template</code> por <code>Template=default</code> y reinicia el servicio.</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Conclusión</h3>



<p class="wp-block-paragraph">Cambiar la plantilla web de aMule es un proceso sencillo que mejora enormemente la experiencia de uso. En pocos minutos, tu interfaz web pasará de ser funcional pero austera a algo mucho más agradable y moderno.</p>



<p class="wp-block-paragraph">Ahora ya puedes gestionar tus descargas desde cualquier dispositivo con un diseño responsive y cuidado. Si te ha gustado este artículo, compártelo o déjame un comentario con tus impresiones.</p>



<p class="wp-block-paragraph">¡Felices descargas! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f418.png" alt="🐘" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Enlaces de interés</h3>



<ul class="wp-block-list">
<li><a href="https://github.com/MatteoRagni/AmuleWebUI-Reloaded">Repositorio de la plantilla AmuleWebUI-Reloaded</a></li>



<li><a href="https://linuxete.duckdns.org/como-compilar-amule-3-0-en-raspberry-pi/">Guía de compilación de aMule en Raspberry Pi 5</a></li>



<li><a href="https://www.amule.org">Web oficial de aMule</a></li>
</ul>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/%f0%9f%8e%a8-cambia-la-plantilla-web-de-amule-y-darle-un-aspecto-moderno/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como compilar aMule 3.0 en Raspberry  Pi</title>
		<link>https://linuxete.duckdns.org/como-compilar-amule-3-0-en-raspberry-pi/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-compilar-amule-3-0-en-raspberry-pi</link>
					<comments>https://linuxete.duckdns.org/como-compilar-amule-3-0-en-raspberry-pi/#respond</comments>
		
		<dc:creator><![CDATA[raspberry]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 15:48:55 +0000</pubDate>
				<category><![CDATA[amule]]></category>
		<category><![CDATA[aMule 3.0.0]]></category>
		<category><![CDATA[aMule 3.0 Debian]]></category>
		<category><![CDATA[aMule Raspberry Pi]]></category>
		<guid isPermaLink="false">https://linuxete.duckdns.org/?p=4234</guid>

					<description><![CDATA[¡Bienvenidos una vez más, amantes del P2P! Después de una espera que se nos ha hecho eterna, por fin podemos celebrar una noticia que muchos creíamos que nunca llegaría. La versión 3.0.0 de aMule ya está aquí y, creedme, merecía la espera. Para todos los que seguimos confiando en las redes eD2k y Kademlia, esto [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">¡Bienvenidos una vez más, amantes del P2P! Después de una espera que se nos ha hecho eterna, por fin podemos celebrar una noticia que muchos creíamos que nunca llegaría. La versión <strong>3.0.0 de aMule</strong> ya está <a href="https://amule-org.github.io/es/">aquí</a> y, creedme, merecía la espera. Para todos los que seguimos confiando en las redes eD2k y Kademlia, esto es como volver a ver a un amigo después de muchos años.</p>



<p class="wp-block-paragraph">El proyecto, que llevaba más de cinco años sin un lanzamiento importante desde la versión 2.3.3 de 2021, ha vuelto a la carga con una versión que han bautizado acertadamente como <strong>«The &#8216;alive again&#8217; version»</strong> (la versión «viva de nuevo»). Y no es para menos.</p>



<h3 class="wp-block-heading">¿Qué trae de nuevo aMule 3.0.0?</h3>



<p class="wp-block-paragraph">El cambio más impactante, sin duda, está en el rendimiento. Los desarrolladores han realizado una profunda reescritura del sistema de E/S de disco y de la capa de red. El resultado son unas cifras que quitan el hipo: <strong>mejoras de velocidad de entre 100 y 380 veces más rápidas</strong> en descargas entre pares en comparación con la versión anterior, sin necesidad de cambiar de hardware. Las pruebas sobre el terreno hablan por sí solas: en un Mac Studio con chip Apple Silicon se ha pasado de 0,35 MB/s a <strong>135 MB/s</strong>. ¡Una auténtica bestia!</p>



<p class="wp-block-paragraph">Pero no todo es velocidad. aMule 3.0.0 también ha modernizado por completo sus entrañas:</p>



<ul class="wp-block-list">
<li><strong>Sistema de compilación moderno</strong>: Se ha eliminado el anticuado Autotools y se ha unificado todo con CMake, lo que facilita enormemente la compilación en los sistemas actuales.</li>



<li><strong>Paquetes nativos para todos</strong>: Por fin tenemos binarios nativos y actualizados para las principales plataformas. Instalador y versión portable para Windows (x64 y ARM64), .dmg universal para macOS (Apple Silicon e Intel) y AppImage o Flatpak para Linux (x64 y ARM64). Ya no hay excusas para no tenerlo todo a punto.</li>



<li><strong>Límites de ancho de banda corregidos</strong>: Los limitadores de subida y bajada se han reescrito por completo para que funcionen como es debido, con un sistema de «token bucket» real que promete una gestión del tráfico mucho más precisa.</li>



<li><strong>HTTPS y más</strong>: La descarga de listas de servidores y otras funciones vía HTTPS vuelven a funcionar correctamente, y el cliente de geolocalización se ha actualizado a MaxMindDB.</li>
</ul>



<p class="wp-block-paragraph">La espera ha sido larga, pero la comunidad alrededor de aMule puede respirar tranquila. El proyecto no solo está vivo, sino que ha vuelto con una fuerza inusitada, modernizándose por completo sin perder esa esencia que nos hizo enamorarnos del P2P.</p>



<p class="wp-block-paragraph">Este tutorial se compone de los siguientes pasos.</p>



<ul class="wp-block-list">
<li>A. Preparación.</li>



<li>B. Compilación e instalación</li>



<li>C. Creación de un Usuario Dedicado</li>



<li>D. Automatización avanzada del servicio con Systemd</li>



<li>E. Configuración de aMule</li>
</ul>



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



<p class="wp-block-paragraph">Para compilar la versión 3.0 estable de aMule tal como indica la documentación oficial, usaremos CMake. La ventaja de hacerlo en Debian 13 (Trixie) es que todos los paquetes y dependencias requeridos, incluyendo wxWidgets 3.2, están disponibles de forma nativa en los repositorios oficiales sin tener que buscar versiones alternativas.</p>



<h3 class="wp-block-heading">Instalar las dependencias</h3>



<p class="wp-block-paragraph">El documento de instalación de GitHub menciona las dependencias obligatorias (como Crypto++, zlib y Boost) y las opcionales para la interfaz, los iconos en la bandeja del sistema y las estadísticas.</p>



<p class="wp-block-paragraph">Actualizamos la lista de paquetes.</p>



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



<p class="wp-block-paragraph">Ejecuta este comando en tu terminal para instalar todas las librerías de desarrollo necesarias:</p>



<pre class="wp-block-code"><code>sudo apt install build-essential cmake git gettext libwxgtk3.2-dev \
    libcrypto++-dev libboost-dev libboost-system-dev zlib1g-dev libupnp-dev \
    libgd-dev libmaxminddb-dev libayatana-appindicator3-dev libglib2.0-dev</code></pre>



<h2 class="wp-block-heading">B. Compilación e instalación.</h2>



<h3 class="wp-block-heading">Descarga el código fuente</h3>



<p class="wp-block-paragraph">Sitúate en tu directorio de usuario para descargar el ćodigo fuente con este comando:</p>



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



<p class="wp-block-paragraph">Un vez ahí, descargamos el código fuente de aMule 3.0</p>



<pre class="wp-block-code"><code>wget https://github.com/amule-org/amule/archive/refs/tags/3.0.0.tar.gz</code></pre>



<p class="wp-block-paragraph">Como resultado obtendremos un archivo comprimido en Gzip</p>



<pre class="wp-block-code"><code>3.0.0.tar.gz</code></pre>



<p class="wp-block-paragraph">Descomprime el archivo así.</p>



<pre class="wp-block-code"><code>tar -xzf 3.0.0.tar.gz</code></pre>



<p class="wp-block-paragraph">Al descomprimirse creará un directorio con los archivos necesarios para la compilación.</p>



<p class="wp-block-paragraph">Entramos al nuevo directorio con:</p>



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



<h3 class="wp-block-heading">Configuración avanzada con CMake (Exprimiendo la Pi 5)</h3>



<p class="wp-block-paragraph">En lugar de hacer una compilación genérica, vamos a pasarle a CMake una serie de directivas de optimización brutales para exprimir la arquitectura de los núcleos <strong>Cortex-A76</strong> de la Raspberry Pi 5 y mejorar el rendimiento del almacenamiento.</p>



<p class="wp-block-paragraph">Creamos un directorio limpio para la compilación y configuramos el entorno:</p>



<pre class="wp-block-code"><code>mkdir build &amp;&amp; cd build</code></pre>



<p class="wp-block-paragraph">Ahora, lanza el comando de configuración con las banderas optimizadas:</p>



<pre class="wp-block-code"><code>cmake .. \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DCMAKE_C_FLAGS="-O3 -march=armv8.2-a+crypto -mtune=cortex-a76 -pipe" \
    -DCMAKE_CXX_FLAGS="-O3 -march=armv8.2-a+crypto -mtune=cortex-a76 -pipe" \
    -DBUILD_DAEMON=ON \
    -DBUILD_REMOTEGUI=ON \
    -DBUILD_AMULECMD=ON \
    -DBUILD_WEBSERVER=ON \
    -DBUILD_MONOLITHIC=OFF \
    -DENABLE_MMAP=OFF \
    -DENABLE_UPNP=ON \
    -DCMAKE_INSTALL_PREFIX=/usr/local
</code></pre>



<h4 class="wp-block-heading">¿Por qué esta configuración?</h4>



<ul class="wp-block-list">
<li><strong><code>-DCMAKE_BUILD_TYPE=RelWithDebInfo</code>:</strong> Aplica las optimizaciones de velocidad de una versión <em>Release</em>, pero conserva los símbolos de depuración. Si la rama <em>master</em> sufriera un cierre inesperado, el <em>core dump</em> nos dirá la línea exacta del fallo sin ralentizar el demonio en el día a día.</li>



<li><strong><code>-DBUILD_MONOLITHIC=OFF</code>:</strong> Desactivamos la interfaz gráfica «todo en uno». Al compilar sólo el demonio y las herramientas remotas, el binario es muchísimo más ligero.</li>



<li><strong><code>+crypto</code> y <code>cortex-a76</code>:</strong> Obliga a GCC a generar instrucciones específicas para el procesador de la Pi 5, aprovechando su aceleración criptográfica por hardware para el cálculo de hashes P2P.</li>



<li><strong><code>-DENABLE_MMAP=OFF</code>:</strong> Desactiva el mapeo de memoria. Usa E/S tradicional (más compatible con kernels de 16KB y sistemas remotos, evita corrupción). En lugar de proyectar los archivos directamente en la memoria virtual, el demonio usará las operaciones clásicas de lectura/escritura (<code>read</code> / <code>write</code>).</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Importante sobre <code>DENABLE_MMAP=OFF</code></strong> <strong>en Debian 13</strong><br>Desactiva el mapeo de memoria nativo de Linux. </p>



<p class="wp-block-paragraph"><strong>Efectos principales:</strong></p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Mayor compatibilidad</strong>: Evita problemas de corrupción en kernels con tamaños de página no estándar (como las páginas de <strong>16 KB</strong> en Raspberry Pi 5 con Debian 13), en sistemas de archivos remotos (NFS, SMB) o con implementaciones problemáticas de <code>mmap</code>.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Soluciona bucles de rehasheo</strong> en aMule, ya que elimina el desalineamiento de páginas que ocurría al superar ciertos tamaños de archivo.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Rendimiento algo menor</strong>: Incrementa ligeramente el uso de CPU y reduce la velocidad de transferencia en almacenamiento rápido (NVMe, SSD), porque se copian datos entre usuario y kernel en cada operación.</li>
</ul>



<p class="wp-block-paragraph"><strong>Cuándo usarlo:</strong><br>Solo si experimentas fallos con la opción activada (archivos corruptos, rehasheos infinitos, descargas que nunca completan). En caso contrario, mantener <code>ON</code> ofrece mejor rendimiento.</p>
</blockquote>



<h3 class="wp-block-heading">4. Compilación.</h3>



<p class="wp-block-paragraph">Para no perder tiempo, le indicamos al sistema que compile aprovechando todos los núcleos del procesador en paralelo. Gracias al <code>flag -pipe</code>, el proceso se hará intercambiando datos en la RAM en lugar de escribir temporales intermedios en el disco:</p>



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



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



<p class="wp-block-paragraph">Una vez que el proceso finalice con éxito, instalamos los binarios optimizados en el sistema:</p>



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



<h4 class="wp-block-heading">Refresca la caché de enlaces dinámicos del sistema</h4>



<p class="wp-block-paragraph">El comando <code>ldconfig</code> lo que hace es asegurar y actualizar la caché de las librerías compartidas (los archivos <code>.so</code>) en los directorios del sistema (como <code>/usr/local/lib</code>).</p>



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



<p class="wp-block-paragraph">Aunque en este caso, los ejecutables que se generan no instalan librerías compartidas del sistema y no sería necesario ejecutarlo , pero siempre es un buen hábito su ejecución.</p>



<h4 class="wp-block-heading">Actualizar la caché de iconos</h4>



<pre class="wp-block-code"><code>gtk-update-icon-cache -f -t /usr/local/share/icons/hicolor/</code></pre>



<p class="wp-block-paragraph"><strong>Si usas la Raspberry Pi con su entorno de escritorio:</strong> Al activar <code>-DBUILD_REMOTEGUI=ON</code>, has compilado <code>amulegui</code>. Si pretendes abrir esa interfaz gráfica directamente <em>dentro</em> del escritorio de tu Raspberry Pi, ejecutar este comando forzará al sistema a enterarse de que hay un nuevo icono disponible, haciendo que aparezca inmediatamente en el menú de aplicaciones sin necesidad de cerrar sesión o reiniciar.</p>



<h2 class="wp-block-heading">B. Creación de un Usuario Dedicado</h2>



<p class="wp-block-paragraph">Por seguridad (aplicando el <strong>Principio de Menor Privilegio</strong>), nunca debemos ejecutar un demonio expuesto a la red con el usuario root o con nuestra cuenta personal. Al aislar aMule en su propio usuario de sistema, si el proceso se ve comprometido por algún exploit de red, el atacante se quedará atrapado en una «jaula» sin acceso al resto del sistema ni a tus datos personales.</p>



<h3 class="wp-block-heading">b.1. Crear el usuario de sistema <code>amule</code></h3>



<p class="wp-block-paragraph">Ejecutamos el siguiente comando para generar el entorno aislado:</p>



<pre class="wp-block-code"><code>sudo useradd -r -m -s /usr/sbin/nologin amule</code></pre>



<ul class="wp-block-list">
<li><strong><code>-r</code>:</strong> Define que es un usuario de sistema (no caduca).</li>



<li><strong><code>-m</code>:</strong> Crea automáticamente su directorio de trabajo en <code>/home/amule</code> para alojar sus configuraciones.</li>



<li><strong><code>-s /usr/sbin/nologin</code>:</strong> Bloquea por completo cualquier intento de inicio de sesión (local o por SSH) con esta cuenta.</li>
</ul>



<h3 class="wp-block-heading">b.2. Preparar la carpeta en el almacenamiento.</h3>



<p class="wp-block-paragraph">Las carpetas de almacenamiento las puedes dejar tal vienen por defecto y tan solo deberás darles permisos como haremos mas adelate.</p>



<p class="wp-block-paragraph">Como dispongo de un viejo disco mecánico conectado via usb a mi raspberry y para no desgastar el disco SSD/NVMe con la escritura intensiva del P2P, voy a crear una carpeta dedicada en mi disco de almacenamiento montado en <code>/media</code></p>



<pre class="wp-block-code"><code>sudo mkdir -p /media/Disco_1TB/aMule/Incoming /media/Disco_1TB/aMule/Temp</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Nota al lector: para montar un disco en Debian, sigue los pasos de <a href="https://linuxete.duckdns.org/guia-completa-montar-particiones-al-inicio-en-debian/">Guía completa: Montar particiones al inicio en Debian</a></p>
</blockquote>



<h3 class="wp-block-heading">b.3. El truco maestro de los permisos (SGID)</h3>



<p class="wp-block-paragraph">Si le damos la propiedad de la carpeta exclusivamente al usuario <code>amule</code>, mi usuario habitual (<code>raspberry</code>) podrá leer las descargas pero <strong>no podrá borrarlas, renombrarlas ni moverlas</strong> a otra parte de la red sin usar <code>sudo</code>.</p>



<p class="wp-block-paragraph">Para solucionar esto de forma elegante como un administrador profesional, aplicamos la siguiente configuración de permisos compartidos:</p>



<pre class="wp-block-code"><code># 1. Metemos a tu usuario habitual en el grupo de amule
sudo usermod -aG amule raspberry

# 2. Hacemos que 'amule' sea el dueño y el grupo 'amule' sea el propietario de todo de forma recursiva
sudo chown -R amule:amule /media/Disco_1TB/amule_downloads

# 3. Damos permisos 775 (lectura, escritura y ejecución) recursivamente a todo lo actual
sudo chmod -R 775 /media/Disco_1TB/amule_downloads

# 4. Activamos el bit SGID en la carpeta raíz y en las subcarpetas de descarga
sudo chmod g+s /media/Disco_1TB/aMule
sudo chmod g+s /media/Disco_1TB/aMule/Incoming
sudo chmod g+s /media/Disco_1TB/aMule/Temp</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>¿Qué hace el bit SGID (<code>chmod g+s</code>)?</strong> Es la clave de todo. Al activarlo en la carpeta madre, <strong>cualquier archivo o subcarpeta que aMule descargue e inserte ahí dentro heredará automáticamente el grupo <code>amule</code></strong> con permisos de escritura. Gracias a esto, tu usuario <code>raspberry</code> siempre tendrá el control total para gestionar las descargas completadas. <em>(Nota: Recuerda reiniciar sesión con tu usuario o ejecutar <code><mark style="background-color:var(--ast-global-color-7)" class="has-inline-color">newgrp amule</mark></code> para que el sistema reconozca tu nuevo grupo).</em></p>
</blockquote>



<h2 class="wp-block-heading">C. Automatización avanzada del servicio con Systemd</h2>



<p class="wp-block-paragraph">Para garantizar que el demonio arranque de forma impecable en cada inicio del sistema, creamos un archivo de servicio altamente optimizado para entornos de red:</p>



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



<p class="wp-block-paragraph">Pega el siguiente contenido:</p>



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

&#91;Service]
Type=simple
User=amule
Group=amule
Environment="HOME=/home/amule"
ExecStart=/usr/local/bin/amuled
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
# Para detener el demonio y sus subprocesos (amuleweb) limpiamente
KillMode=control-group
KillSignal=SIGTERM

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



<h3 class="wp-block-heading">¿Por qué este servicio?</h3>



<ul class="wp-block-list">
<li><strong><code>network-online.target</code>:</strong> Espera a que la Raspberry Pi tenga una IP real asignada por la red antes de intentar lanzar el demonio, evitando fallos de conexión en el arranque.</li>



<li><strong><code>LimitNOFILE=65536</code>:</strong> Eleva el límite de conexiones y archivos abiertos simultáneamente por Linux, algo vital para mantener la estabilidad cuando el P2P gestiona cientos de fuentes a la vez.</li>



<li><strong><code>KillMode=control-group</code>:</strong> Garantiza que cuando el servicio se detenga, systemd mate a <strong>todos</strong> los procesos dentro de ese grupo, incluido <code>amuleweb</code>.</li>
</ul>



<p class="wp-block-paragraph">Habilitamos el servicio para que sea automático y lo arrancamos:</p>



<p class="wp-block-paragraph">Comenzamos con un <strong><code>daemon-reload</code>:</strong> Le dice a Systemd que vuelva a escanear los directorios de configuración de los servicios. Como acabamos de crear el archivo <code>amuled.service</code> desde cero, el sistema operativo necesita este «refresco» para enterarse de que hay un nuevo servicio disponible y poder gestionarlo.</p>



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



<p class="wp-block-paragraph">Después seguimos con un <strong><code>enable amuled.service</code>:</strong> Configura el demonio para que se active <strong>automáticamente cada vez que arranques</strong> la Raspberry Pi. Lo que hace internamente es crear un enlace simbólico (<em>symlink</em>) en los directorios de inicio del sistema operativo (bajo el objetivo <code>multi-user.target</code>).</p>



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



<p class="wp-block-paragraph">Una vez activo haz un <strong><code>start amuled.service</code>:</strong> Enciende y pone a funcionar el proceso de <code>amuled</code> <strong>inmediatamente en este preciso momento</strong>. No necesitas reiniciar la máquina para que el programa empiece a correr en segundo plano.</p>



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



<p class="wp-block-paragraph">A modo de información <strong><code>status amuled.service</code>:</strong> Muestra el estado actual del servicio en tiempo real. Te permite comprobar de un vistazo si el demonio está corriendo correctamente (<code>active (running)</code>), si está detenido o si ha fallado por algún error (<code>failed</code>). Además, tiene la enorme ventaja de mostrarte las últimas líneas del registro de log, lo que resulta vital para diagnosticar qué ha pasado si algo no va bien.</p>



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



<p class="wp-block-paragraph">Casi con total seguridad, la primera vez que hagas esto, te lo encontraras inactivo, no te preocupes, es normal, la primera vez que amule arranca lo hace para crear sus directorios así como sus archivo de configuración.</p>



<pre class="wp-block-code"><code>raspberry@terrapi:~ $ sudo systemctl status amuled.service 
● amuled.service - aMule Master Daemon
     Loaded: loaded (/etc/systemd/system/amuled.service; enabled; preset: enabled)
     Active: <mark style="background-color:#7bdcb5" class="has-inline-color">inactive</mark> (running) since Sun 2026-06-14 10:10:12 CEST; 2 days ago
 Invocation: 029397ab533f4ea591acdaaec815610f
   Main PID: 23651 (amuled)
      Tasks: 15 (limit: 9492)
        CPU: 1h 14min 333ms
     CGroup: /system.slice/amuled.service
             ├─23651 /usr/local/bin/amuled
             └─23680 amuleweb --amule-config-file=/home/amule/.aMule/amule.conf

jun 14 10:10:12 terrapi systemd&#91;1]: amuled.service: Scheduled restart job, restart counter is at 1.
jun 14 10:10:12 terrapi systemd&#91;1]: Started amuled.service - aMule Master Daemon.
</code></pre>



<h2 class="wp-block-heading">D. Configuración de aMule</h2>



<p class="wp-block-paragraph">Ahora que ya arrancaste aMule por primera con la orden start.amuled.service  y status.amuled.service no arrojó ningún error, es hora de comenzar </p>



<h3 class="wp-block-heading">d.1. Generar contraseña encriptada (hash MD5)</h3>



<pre class="wp-block-code"><code>echo -n "TuContraseñaSegura" | md5sum</code></pre>



<p class="wp-block-paragraph">Crea un par de contraseñas, una para aMuleGUI y la otra para aMuleweb.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Nota, cuando crees tu contraseña, desprecia el guión final (no lo uses)</p>



<pre class="wp-block-code"><code>usuario@pi5:~ $ echo -n "TuContraseñaSegura" | md5sum
1c1b95a7f1aa172dd1cddafd371d4d12  <mark style="background-color:#8ed1fc" class="has-inline-color">-</mark>
usuario@pi5:~ $ </code></pre>
</blockquote>



<h3 class="wp-block-heading">d.2. Configuración final de las rutas</h3>



<p class="wp-block-paragraph">Al arrancar por primera vez, recuerda que lo hicimos con <code><mark style="background-color:var(--ast-global-color-7)" class="has-inline-color">sudo systemctl start amuled.service</mark></code> se habrá generado el archivo de configuración base. Es aquí donde utilizaremos las dos contraseñas creadas, mas la activación de las conexiones externas.</p>



<p class="wp-block-paragraph">Como el archivo de configuración no puede ser escrito mientras aMule se ejecuta debes pararlo ejecutando</p>



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



<p class="wp-block-paragraph">Ábrelo para modificar su contenido con:</p>



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



<p class="has-medium-font-size wp-block-paragraph"><strong>+ Conexiones externas.</strong></p>



<p class="wp-block-paragraph">Modifica estas líneas:</p>



<pre class="wp-block-code"><code>AcceptExternalConnections=1
ECPassword=pega_uno_de los_hash_que_copiaste</code></pre>



<p class="wp-block-paragraph">En la sección <code>[WebServer]</code>:</p>



<pre class="wp-block-code"><code>&#91;WebServer]
Enabled=1
Password=pega_el_otro_hash_que_creaste
Port=4711</code></pre>



<p class="has-medium-font-size wp-block-paragraph"><strong>+ Puertos</strong></p>



<p class="wp-block-paragraph">Los puertos predeterminados y <strong>NO</strong> <strong>recomendados</strong>  de usar son <strong>TCP 4662</strong> y <strong>UDP 4672</strong>. El programa genera un tercer puerto oculto llamado <strong>TCP + 3</strong> (por defecto <strong>4665</strong>). Para obtener <strong>ID Alta</strong>, debes abrir los tres en tu router.</p>



<pre class="wp-block-code"><code>Port=34662
UDPPort=34672
UDPEnable=1</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Nota: Cambia los puertos, por ejemplo  <strong>TCP 34662</strong> y  <strong>UDP 34672</strong> que generan el puerto <strong>UDP 34665</strong>, lo cuales deberás abrir en tu router.</p>
</blockquote>



<p class="has-medium-font-size wp-block-paragraph"><strong>+ Directorios</strong></p>



<p class="wp-block-paragraph">Para aplicar la redirección hacia tu disco rápido de almacenamiento, busca y modifica las siguientes líneas apuntando a la estructura que creamos:</p>



<pre class="wp-block-code"><code>TempDir=/media/Disco_1TB/aMule/Temp
IncomingDir=/media/Disco_1TB/aMule/Incoming</code></pre>



<p class="wp-block-paragraph">Guarda con <code>Ctrl+O</code>, Enter, y sal con <code>Ctrl+X</code>.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>+ Seguridad</strong></p>



<p class="wp-block-paragraph">El archivo <strong>IPFilterURL</strong> en <strong>aMule</strong> es una lista negra que bloquea direcciones IP maliciosas, fakes y rastreadores de Internet, mejorando tu seguridad y privacidad al descargar. Buscala y déjala como la siguiente.</p>



<pre class="wp-block-code"><code>IPFilterURL=http://upd.emule-security.org/ipfilter.zip</code></pre>



<p class="wp-block-paragraph">Una vez guardados los cambios reinicia el servicio para que empiece a descargar con total seguridad y el máximo rendimiento de hardware:</p>



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



<p class="wp-block-paragraph">¿Qué te parece esta versión? ¿Ya la has probado? ¡Te leo en los comentarios!</p>



<h2 class="wp-block-heading">Soluciones a errores y trucos.</h2>



<p class="wp-block-paragraph">En esta sección expongo algunos errores y trucos que me han ayudado con aMule</p>



<h3 class="wp-block-heading">* Desinstalación de aMule</h3>



<p class="wp-block-paragraph">Si no te convence como va tu aMule compilado, siempre lo podrás eliminar de la forma siguiente:</p>



<p class="wp-block-paragraph">Dirigente a la carpeta «builld»</p>



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



<p class="wp-block-paragraph">Una vez dentro, haz comprueba que existe un archivo llamado install_manifest.txt</p>



<pre class="wp-block-code"><code>ls -l ./install_manifest.txt &amp;&amp; cat install_manifest.txt</code></pre>



<p class="wp-block-paragraph">Si ese archivo existe, puedes usarlo para desinstalar automáticamente:</p>



<pre class="wp-block-code"><code>sudo xargs rm -f &lt; install_manifest.txt</code></pre>



<p class="wp-block-paragraph">Un vez ejecutado el comando anterior, la desinstalación será instantánea, así que para comprobar que todo a salido bien, busca posibles restos con:</p>



<pre class="wp-block-code"><code>find /usr/local -name "*amule*" -type f 2&gt;/dev/null</code></pre>



<p class="wp-block-paragraph">Sabrás que aMule se eliminó correctamente ya que no deberá de salir nada a la orden del comando anterior.</p>



<h3 class="wp-block-heading">* Forzar la ejecución manual en la terminal como usuario <code>amule</code></h3>



<p class="wp-block-paragraph">Si por cualquier motivo quieres ver el <em>output</em> (la salida de texto) que escupe aMule en la terminal en su primer arranque para comprobar que no falta ninguna librería, <strong>no puedes usar el usuario <code>raspberry</code></strong>.</p>



<p class="wp-block-paragraph">Como el usuario <code>amule</code> tiene el login bloqueado (<code>nologin</code>), debes usar <code>sudo</code> con el flag <code>-u</code> (user) para suplantarlo solo durante la ejecución de ese comando:</p>



<pre class="wp-block-code"><code>sudo -u amule /usr/local/bin/amuled</code></pre>



<p class="wp-block-paragraph">Al hacerlo así, el sistema operativo ejecutará el programa <strong>en nombre de <code>amule</code></strong>, creará los archivos en <code>/home/amule/.aMule/</code> con los permisos correctos de propietario y verás los mensajes en tu pantalla. Una vez que veas que ha arrancado bien, lo cierras con <code>Ctrl + C</code> y procedes a editar el archivo.</p>



<h4 class="wp-block-heading">* aMuleweb. Sin acceso desde el navegador.</h4>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Es posible que no necesites hacer esto, ya que en versiones anteriores a la 3.0, como en aMuleWeb 2.3.3 se cerraba en frecuentemente.</p>
</blockquote>



<p class="wp-block-paragraph">Dado que <code>amuleweb</code> en ocasiones, puede comportarse de forma inestable llegando a cerrarse, la solución más robusta para un sistema 24/7 es, <strong>un script «vigilante» (watchdog)</strong> que lo reactive automáticamente cuando muera.</p>



<p class="wp-block-paragraph">Aquí tienes la forma más sencilla de hacerlo.</p>



<p class="wp-block-paragraph"><strong>Paso 1: Crear el script vigilante</strong></p>



<p class="wp-block-paragraph">Ve a tu terminal, si estas en el equipo, si no, conéctate por SSH y crea el script:</p>



<pre class="wp-block-code"><code>sudo nano /usr/local/bin/amuleweb-watchdog.sh</code></pre>



<p class="wp-block-paragraph"><strong>Paso 2: Copiar el contenido (más simple y efectivo)</strong></p>



<p class="wp-block-paragraph">Este script es más simple: solo comprueba si el proceso <code>amuleweb</code> existe y, si no, lo arranca.</p>



<pre class="wp-block-code"><code>#!/bin/bash
# Script para vigilar y reiniciar amuleweb si se cierra

if pgrep -x "amuleweb" &gt; /dev/null
then
    :
else
    logger "amuleweb-watchdog: amuleweb no encontrado, reiniciando..."
    # Se ejecuta como el usuario dedicado 'amule' apuntando a su home real
    sudo -u amule /usr/local/bin/amuleweb --amule-config-file=/home/amule/.aMule/amule.conf &amp;
fi</code></pre>



<p class="wp-block-paragraph"><strong>Paso 3: Dar permisos y probar</strong></p>



<pre class="wp-block-code"><code>sudo chmod +x /usr/local/bin/amuleweb-watchdog.sh</code></pre>



<p class="wp-block-paragraph"><strong>Paso 4: Programarlo cada minuto</strong></p>



<p class="wp-block-paragraph">Edita el <code>crontab</code> del usuario <code>root</code> para que vigile todo el tiempo:</p>



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



<p class="wp-block-paragraph">Añade esta línea al final del archivo:</p>



<pre class="wp-block-code"><code>* * * * * /usr/local/bin/amuleweb-watchdog.sh</code></pre>



<p class="wp-block-paragraph">Con esto, el sistema comprobará cada minuto si <code>amuleweb</code> está vivo y lo levantará automáticamente si se ha cerrado.</p>



<h4 class="wp-block-heading">* Instala la rama master</h4>



<p class="wp-block-paragraph">Si quieres tener los últimos cambios y novedades, ve a por la rama Master y compila desde ahí.</p>



<p class="wp-block-paragraph">Clonamos el repositorio oficial de aMule directamente desde GitHub para asegurarnos de compilar la última versión de la rama <em>master</em>:</p>



<pre class="wp-block-code"><code>git clone https://github.com/amule-org/amule.git</code></pre>



<p class="wp-block-paragraph">Una vez descargado el clon de github sigue los pasos que se describen en el apartado 2. Descarga el código fuente.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://linuxete.duckdns.org/como-compilar-amule-3-0-en-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
