Ed2k/Emule server written in Node.js
Fetching latest commit…
Cannot retrieve the latest commit at this time.


eNode - A node.js eD2K/eMule Server

This is an experimental-buggy-testing-pre-alpha release. Not ready to use!

Contributions are welcome.


  • TCP/UDP opcodes
  • TCP/UDP protocol obfuscation
  • Obfuscated lowID detection
  • Lugdunum/emule extended protocol
  • gzip compression
  • LowID Callbacks
  • Files > 4GiB
  • Easy support for any storage engine.
    • look at storage/storage.js and create your own engine.<name>.js plugin


  • Node.js v0.10.x
  • MySQL server || MongoDB



With MySQL database:

  1. Create MySQL database tables. Database structure: misc/enode.sql
  2. Modify config file: enode.config.js
  3. Execute: node enode.js -or- chmod +x enode.js and then ./enode.js
  4. You can modify the verbose level modifing the options of the tinylogger module

If you want to test the server on a local network, change emule options to allow local connections.

To do:

Thanks to:

  • David Xanatos