Skip to main content

Welcome to njMule

njMule, for Next generation Java Mule, is a modern, open-source client for the eD2K and Kad 2 file-sharing networks. It speaks the same protocols as eMule, so it works with the existing eMule network: it connects to the same servers and Kad nodes, searches, downloads and uploads with eMule and the other compatible clients, and can take an existing eMule profile over.

njMule is an independent project, licensed under the GNU General Public License, version 3 or later. It is not affiliated with or endorsed by the eMule project.

One engine, four ways to use it​

Everything njMule does happens in one engine, which knows nothing of windows. Around it:

  • the headless engine and its command line, njmule, for a server, a NAS or a script;
  • the remote-control API, in JSON, through which every window reaches the engine;
  • the desktop app, for Windows, macOS and Linux, with themes, 36 languages and keyboard shortcuts: a window that starts the engine and shows the interface;
  • the web interface, the same interface in a browser, behind a password.

The desktop app can also show an njMule running on another computer, and the command line can drive one, through the same API.

njMule is shipped as native executables, built with GraalVM: you install it like any other program, and no Java is needed. There are installers and archives for Windows, macOS and Linux, a Docker image and a Synology package.

Who it is for​

  • eMule users who want a client that looks and works like today's apps, on Windows, macOS or Linux, and keeps their servers, contacts, credits and downloads.
  • People who run a server or a NAS and want a client that runs without a window, starts with the system and is used from a browser.
  • Those who automate: the command line and the API let scripts search, add downloads and watch what happens.

Project status​

This guide describes njMule 0.3.1. The first release, 0.1.0, came out on 26 October 2026; until 1.0.0 the versions are numbered 0.y.z, and options or behaviours may still change between them, as the changelog says for each one. Packages for every platform and the Docker image are on the GitHub releases page, from which the Getting started pages link the files; you can also build njMule from source.

Use it legally​

njMule is a tool for sharing files. Share and download only files you have the right to: your own work, free software, works in the public domain or under a license that allows sharing. In many countries, sharing or downloading copyrighted works without permission is against the law. You are responsible for what you share and download; the njMule project hosts no files and has no control over what others share.

How this guide is organised​

The developer guide explains how to build njMule, test it, contribute and use the API from your own programs.

Getting help​

Look first in Troubleshooting and the FAQ. For a bug or a question they do not answer, open an issue on GitHub.