¿Cómo gestionar archivos emulecollection en aMule?


 

Puedes ver este documento en mi Blog aquí 

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 descargas,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.

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

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

¿como ver el contenido de un emulecollectioin?

En linux, ver el contenido de un archivo emulecollection, es muy fácil. Te explico 3 maneras de hacerlo, sin complicaciones

  • Con el comando cat
  • Usando el programa ed2k (presente en amule-utils)
  • Editor de texto plano

Comando CAT

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, tan solo haz:

cat nombre_archivo.amulecollection

Por ejemplo

raspberry@pi5:~ cat Ubuntu.emulecollection
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|/

ED2K

Un enlace eD2k (pronunciado «ediek») 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.

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

¿De qué partes consta un enlace eD2k?

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

ed2k://|file|NombreDelArchivo.ext|TamañoDelArchivoEnBytes|HashMD4DelArchivo|/

Vamos a desglosar cada parte:

  1. ed2k://: Es el prefijo del protocolo. Indica que es un enlace de tipo eD2k y que tu cliente (como eMule o aMule) debe manejarlo.
  2. |file|: Esto especifica que el enlace se refiere a un archivo. También existen enlaces eD2k para servidores (|server|), pero los más comunes son los de archivo.
  3. NombreDelArchivo.ext: Es el nombre del archivo tal como se conoce en la red. Por ejemplo, MiPelicula.mp4 o DocumentoImportante.pdf. Es importante para que el usuario pueda identificar el archivo, pero no es lo que el cliente usa para encontrarlo.
  4. TamañoDelArchivoEnBytes: Es el tamaño exacto del archivo en bytes. Este dato es crucial para que el cliente sepa qué buscar y para verificar que la descarga es completa.
  5. HashMD4DelArchivo: Esta es la parte más importante y la que hace que el enlace sea «único» para ese archivo. Es un hash MD4 (una especie de huella digital criptográfica) del archivo. Este hash es una cadena de 32 caracteres hexadecimales (por ejemplo, 7AE49E69D2625908BCB7126536985A21). Dos archivos con el mismo hash MD4 son, con una probabilidad extremadamente alta, exactamente el mismo archivo, incluso si tienen nombres diferentes.
  6. |/: Es el sufijo que cierra el enlace.

Instala con el siguiente comando.

sudo apt install amule-utils

Crea tus colecciones para aMule

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.

Automatizado desde un script.

Para hacerlo más rápido y más cómodo, puedes crear un script que te calcule los enlaces ed2k de los archivos de un directorio.

Abre tu terminal y escribe:

nano ed2k.sh

Copia y pega el siguiente script:

 #!/bin/bash

# Comprueba si se ha proporcionado una ruta de carpeta como argumento
if [ -z "$1" ]; then
  echo "Uso: $0 <ruta_a_la_carpeta>"
  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/ -> /ruta/a/mi/carpeta
FOLDER_PATH=$(echo "$1" | sed 's/\/$//')
# --- FIN CAMBIO IMPORTANTE ---

# Comprueba si la ruta proporcionada es un directorio válido
if [ ! -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 &> /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
> "$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 [ -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 [ -z "$MD4_HASH" ] || [ ${#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" >> "$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."

Ahora guarda con Crtl + o y cierra con Crtl + x

Tendrá que hacer que el script sea ejecutable así:

chmod +x ed2k.sh

Ejemplo de uso

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.

Desde una terminal ejecuto lo siguiente:

./ed2k.sh /home/raspberry/Descargas/Ubuntu

Esto va a insertar varios enlaces ed2k a nuestro archivo emulecollection de este modo:

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

Esto nos habrá generado un archivo llamado Ubuntu.emulecollection

Guarda ese archivo en la carpeta donde compartes tus archivos con la comunidad

mv Ubuntu.emulecollection /home/raspberry/.aMule/Incoming

Listar archivos ED2K

Para listar el contenido de una colección, hazlo así:

ed2k -l archivo.emulecollection

Esto mostrará la lista de enlaces ed2k que hay dentro del archivo.

raspberry@pi5:~ ed2k -l Ubuntu.emulecollection
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|/

Añade colecciones a tu aMule

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

ed2k -e archivo.emulecollection

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

raspberry@pi5:~ ed2k -e Ubuntu.emulecollection
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.

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

Comentarios

Entradas populares de este blog

Instalar y Configurar aMule en Ubuntu

TP-Link WR841ND repetidor WIFI

II. Vodafone Technicolor Tc7230 modo bridge.