Skip to main content

Migrate from eMule

This guide covers the migration of configuration files and in-progress downloads from eMule to aMule.

note

The temporary file format is compatible between eMule and aMule, so your downloads can be resumed. Configuration files, however, require manual work.

Brief History

eDonkey2000 was the original eD2k client. Dissatisfied developers forked it into eMule, which became hugely popular. The Linux community then created lMule, which was later renamed to xMule, and eventually evolved into aMule — the standard eD2k client for Linux. aMule shares the same network and a compatible file format with eMule, making migration straightforward for downloads while requiring manual effort for configuration.

Configuration Files

eMule stores its configuration under its config/ directory. aMule stores its configuration in:

PlatformPath
Windows%APPDATA%\aMule\ (C:\Users\<username>\AppData\Roaming\aMule\)
macOS~/Library/Application Support/aMule/
Linux / BSD~/.aMule/

The first step is to copy the relevant files from eMule's configuration directory into aMule's configuration directory.

Files Automatically Imported

The following eMule files are read and correctly imported by aMule without any manual intervention:

FileContents
clients.metOther clients' credit information
known.metDetails about downloaded files (shown in green when searched again)
known2.metAICH hashes of shared files (converted to known2_64.met on first run)
server.metSaved server list
staticservers.datStatic servers
ipfilter.datIP filter rules
ipfilter_static.datStatic IP filter rules
emfriends.metFriends list
addresses.datURLs for downloading server.met updates
cryptkey.datClient identity key (preserves credits with other clients)
preferences.datClient identity data (preserves credits with other clients)
key_index.datKademlia key index
load_index.datKademlia load index
nodes.datKademlia bootstrap nodes
preferencesKad.datKademlia configuration
src_index.datKademlia source index
shareddir.datShared directory paths (compatible only when running aMule on Windows)

Files NOT Automatically Imported

The following files require manual handling:

eMule fileaMule equivalentIssue
preferences.iniamule.confDifferent format; must be reconfigured manually or by carefully copying specific keys
Category.iniamule.conf ([Cat\#N] sections)Categories use a different format; see Importing Categories
shareddir.dat~/.aMule/shareddir.datPath format is incompatible on non-Windows systems; aMule regenerates this when you set shared directories via Preferences

Files from eMule that are not used by aMule and can be ignored: AC_BootstrapIPs.dat, AC_IPFilterUpdateURLs.dat, AC_SearchStrings.dat, AC_ServerMetURLs.dat, fileinfo.ini, k_index.dat, preferencesK.dat, s_index.dat, statistics.ini, webservices.dat

Importing Missing Configurations

Importing Categories

eMule stores download categories in Category.ini. aMule stores them inside amule.conf as [Cat\#N] sections.

Use the following shell command to extract the categories from eMule's Category.ini and format them for aMule (run as a single line):

grep -E "^\[Cat|^Title|^Incoming|^Comment|^Color|^a4afPriority" Category.ini \
| sed '1,6d' \
| sed 's/#/\\#/g' \
| sed 's/&/\\&/g' \
| sed 's/a4afPriority/Priority/g'

This command:

  • Extracts the category sections and their key fields.
  • Deletes the first 6 lines (which correspond to eMule's built-in "all files" category — aMule does not need this entry, as it has its own "All" tab).
  • Escapes # and & characters, which have special meaning in some ini parsers.
  • Renames a4afPriority to Priority.

Paste the output into amule.conf.

You also need to set the category count in amule.conf under [General]. Run this command to calculate the correct value (total categories minus the first dummy one):

echo "$(grep -c "^\[Cat" Category.ini) - 1" | bc

Set the resulting number as the value of Count under [General] in amule.conf:

[General]
Count=<number from command above>

The final structure in amule.conf should look like:

[General]
Count=3

[Cat\#1]
Title=Movies
Incoming=/home/user/Downloads/Movies
Comment=
Color=0
Priority=0

[Cat\#2]
Title=Music
Incoming=/home/user/Downloads/Music
Comment=
Color=0
Priority=0
note

If you import categories before importing temporary files, the downloads will be classified into categories as they were in eMule.

Statistics Cannot Be Imported

eMule keeps its cumulative statistics in statistics.ini (and preferences.ini). aMule stores its cumulative upload/download totals in its own binary file, statistics.dat, which is not compatible with eMule's format.

There is no way to import eMule's statistics into aMule: the [Statistics] section in amule.conf only holds display preferences (such as the number of client versions shown in the statistics tree), not the counters themselves. Your statistics will simply start fresh and accumulate again as you use aMule.

Other Configuration

Settings such as TCP/UDP ports, incoming and temp directories, and bandwidth limits are client-specific and important for correct operation. The recommended approach is to reconfigure them from scratch using Preferences in aMule.

If you want to try importing settings directly, you can copy specific keys from eMule's preferences.ini to the corresponding keys in aMule's amule.conf. This is not guaranteed to work and may cause unexpected behaviour.

Temporary and Sharing Files

Temporary Files (Downloads in Progress)

eMule and aMule use a compatible temporary file format. To resume your eMule downloads in aMule:

  1. Set aMule's Temp directory (in Preferences → Directories) to the same directory where eMule stores its temporary files.
  2. Restart aMule. It will detect and re-hash the existing files, and they will appear in the download queue ready to continue.

Shared / Completed Files

Completed files from eMule do not need to be moved. Simply:

  1. Add the directory containing your completed eMule downloads as a shared directory in aMule (Preferences → Directories).
  2. aMule will hash the files and start sharing them.

Summary

TaskMethod
Copy compatible config filesCopy directly from eMule's config/ to ~/.aMule/
Resume in-progress downloadsSet aMule's Temp dir to eMule's temp dir
Share completed filesAdd eMule's Incoming dir to aMule's shared directories
Import categoriesUse the shell script above, paste into amule.conf
StatisticsNot possible — aMule's statistics.dat is incompatible with eMule; counters start fresh
Ports, speed limits, directoriesReconfigure manually in Preferences