Daemon + GUI Split

The core and the window are two programs

In the original eMule the interface and the engine were one process: close the window and everything stopped. eMule Qt splits them.

  • emulecored — a headless daemon that does all the work: networking, transfers, hashing, ED2K and Kademlia. It needs no display and runs happily on a server, a NAS or a small ARM box.
  • emuleqt — the Qt 6 interface. It attaches to a daemon on the same machine or across the network.

Start the GUI and it launches a daemon for you, so nothing is more complicated than before. But you can also leave the core running 24/7 and attach a window whenever you want to look at it. Closing the GUI does not stop your downloads.

How they talk

The link is a compact binary protocol: a 4-byte length prefix followed by a CBOR payload, over TCP on port 4712 by default. Requests, responses and push events are separate message classes, so the interface is updated as things happen rather than by polling. For connections that leave the machine, the link can be encrypted with AES-256-CBC using a key derived from a token you set. The message space is versioned, so a newer core keeps working with an older GUI.

Why it matters

Your downloads live on the machine that should be running them, and your interface lives on the machine you happen to be sitting at. Two windows can even watch the same daemon and see the same picture.

 

Back to all features

.:Latest News