Official eMule-Board: Opensource Ed2K/emule Server Available On Github - Official eMule-Board

Jump to content


  • (2 Pages)
  • +
  • 1
  • 2

Opensource Ed2K/emule Server Available On Github

#1 User is offline   petermrg 

  • Member
  • PipPip
  • Group: Members
  • Posts: 30
  • Joined: 25-January 13

Posted 08 February 2013 - 09:53 AM

I want to announce the publication of my eD2K server. It's called eNode

You can download/fork it on GitHub: https://github.com/petermrg/eNode

It's written in Node.js and the code should be very easy to understand so feel free to contribute.

It would be also great to write an Official protocol specification. There are lots of outdated opcodes and protocol parts that could be removed from emule.
Just an example, files>4GB and Unicode support should be a MUST in all clients and servers so why give support for old ones? That "Official protocol" should have the extensions for supporting IPv6.
David_X started a draft on piratenpad: http://piratenpad.de/p/ed2kIPv6

Copypaste of the README:

eNode - A node.js eD2K/eMule Server

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

Contributions are welcome.

Features:

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


Requires:

  • Node.js v0.8+
  • MySQL server
  • Node.js modules:
    • mysql
    • hexy: to do hexdumps, useful for debugging packets
    • tinylogger: to show messages in console
    • colors: used in tinylogger


Usage:

  • Create MySQL database tables. Database structure: misc/enode.sql
  • Modify config file: enode.config.js
  • Execute: node enode.js -or- chmod +x enode.js and then ./enode.js
  • 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_X

This post has been edited by petermrg: 08 February 2013 - 06:35 PM

eNode: eD2K/eMule server written in node.js. Fork it in GitHub
10

#2 User is offline   hooligan3000 

  • European Community
  • PipPipPipPipPip
  • Group: Members
  • Posts: 252
  • Joined: 19-December 09

Posted 08 February 2013 - 11:13 PM

very nice :-)
a setup tutorial will be nice

mysql and Javascript
so it will be work on windows? =)
and a list of all required ports will be nice
:worthy:
0

#3 User is offline   ]Axl[ 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 118
  • Joined: 31-January 05

Posted 09 February 2013 - 10:12 AM

View Postpetermrg, on 08 February 2013 - 09:53 AM, said:

I want to announce the publication of my eD2K server. It's called eNode

To do:



This is the right way!!! :+1:
Very nice features to make a long life to emule
0

#4 User is offline   petermrg 

  • Member
  • PipPip
  • Group: Members
  • Posts: 30
  • Joined: 25-January 13

Posted 09 February 2013 - 12:40 PM

View Posthooligan3000, on 08 February 2013 - 11:13 PM, said:

mysql and Javascript
so it will be work on windows? =)
and a list of all required ports will be nice


I did a little guide for windows: https://github.com/p...ws-installation
You can change the port configuration in file: enode.config.js

But remember it's not stable and has a lot of bugs...

This post has been edited by petermrg: 09 February 2013 - 12:46 PM

eNode: eD2K/eMule server written in node.js. Fork it in GitHub
1

#5 User is offline   hooligan3000 

  • European Community
  • PipPipPipPipPip
  • Group: Members
  • Posts: 252
  • Joined: 19-December 09

Posted 09 February 2013 - 02:56 PM

thanks man i test it later :flowers:
0

#6 User is offline   hooligan3000 

  • European Community
  • PipPipPipPipPip
  • Group: Members
  • Posts: 252
  • Joined: 19-December 09

Posted 09 February 2013 - 06:29 PM

little problem :oops:

Posted Image
0

#7 User is offline   petermrg 

  • Member
  • PipPip
  • Group: Members
  • Posts: 30
  • Joined: 25-January 13

Posted 09 February 2013 - 06:42 PM

View Posthooligan3000, on 09 February 2013 - 06:29 PM, said:

little problem :oops:


You forgot to install the required node modules

Enter the following commands inside your eNode directory (..\Desktop\eNode-master\):
npm install tinylogger
npm install mysql
npm install hexy

This post has been edited by petermrg: 09 February 2013 - 06:43 PM

eNode: eD2K/eMule server written in node.js. Fork it in GitHub
1

#8 User is offline   denialos 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 67
  • Joined: 21-February 04

Posted 12 February 2013 - 03:18 PM

Many thanks :respect:

There is some test server online with this software?
0

#9 User is offline   hooligan3000 

  • European Community
  • PipPipPipPipPip
  • Group: Members
  • Posts: 252
  • Joined: 19-December 09

Posted 27 February 2013 - 07:40 AM

and whats up?
some news?
0

#10 User is offline   petermrg 

  • Member
  • PipPip
  • Group: Members
  • Posts: 30
  • Joined: 25-January 13

Posted 28 February 2013 - 09:02 PM

View Posthooligan3000, on 27 February 2013 - 07:40 AM, said:

and whats up?
some news?

You can follow the project progress on github. Current version is v.0.02

Now it supports TCP obfuscation.

Current timeline is:
  • Obfuscated port checking
  • UDP obfuscation
  • Better storage engine (NoSQL)
  • Public beta launch (thanks to peerates.net)
  • IPv6
  • ...

This post has been edited by petermrg: 28 February 2013 - 09:04 PM

eNode: eD2K/eMule server written in node.js. Fork it in GitHub
3

#11 User is offline   fox88 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4578
  • Joined: 13-May 07

Posted 09 March 2013 - 10:20 AM

petermrg, I have a question.
Would it be possible to add support for AICH hash without major protocol changes?
Now when you have code, and fake servers are mostly gone, it could make sense.
0

#12 User is offline   petermrg 

  • Member
  • PipPip
  • Group: Members
  • Posts: 30
  • Joined: 25-January 13

Posted 13 March 2013 - 08:57 PM

View Postfox88, on 09 March 2013 - 10:20 AM, said:

petermrg, I have a question.
Would it be possible to add support for AICH hash without major protocol changes?
Now when you have code, and fake servers are mostly gone, it could make sense.


Yes, it's be very easy to implement and backwards compatible (there's no need to modify the protocol on most operations).

For example in OP_SEARCHRESULT, each file in the result has a TagList (with information like duration, artist, codec...), the AICH hash can be stored here without modifing the protocol.
If a client doesn't recognizes that tag it should be ignored.

It would be great to talk with an active emule developer about that.

This post has been edited by petermrg: 13 March 2013 - 09:15 PM

eNode: eD2K/eMule server written in node.js. Fork it in GitHub
2

#13 User is offline   fox88 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4578
  • Joined: 13-May 07

Posted 14 March 2013 - 05:15 PM

View Postpetermrg, on 13 March 2013 - 11:57 PM, said:

It would be great to talk with an active emule developer about that.

Thanks.
Unfortunately, active developers were not very active lately.
0

#14 User is offline   Eulero 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2553
  • Joined: 09-August 07

Posted 14 March 2013 - 10:37 PM

Where "lately" means last 3 years about ... Posted Image
0

#15 User is offline   NoMiaus 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 535
  • Joined: 08-June 11

Posted 29 May 2013 - 09:25 PM

Debian..
npm install bigint

gyp ERR! UNCAUGHT EXCEPTION
gyp ERR! stack Error: spawn ENOMEM
gyp ERR! stack     at errnoException (child_process.js:980:11)
gyp ERR! stack     at ChildProcess.spawn (child_process.js:927:11)
gyp ERR! stack     at exports.spawn (child_process.js:715:9)
gyp ERR! stack     at exports.execFile (child_process.js:607:15)
gyp ERR! stack     at checkPythonVersion (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:94:5)
gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:63:9
gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/which/which.js:55:18
gyp ERR! stack     at Object.oncomplete (fs.js:107:15)
gyp ERR! System Linux 2.6.32-042stab076.7
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /root/eNode-master/node_modules/bigint
gyp ERR! node -v v0.10.8
gyp ERR! node-gyp -v v0.9.5
gyp ERR! This is a bug in `node-gyp`.
gyp ERR! Please file an Issue:
gyp ERR!     <https://github.com/TooTallNate/node-gyp/issues>
npm ERR! weird error 7
npm ERR! not ok code 0

En ocasiones.. veo cable-modems Motorola con ID Alta ._.'
0

#16 User is offline   fabtar 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 878
  • Joined: 14-March 04

Posted 01 July 2013 - 06:29 PM

View Postpetermrg, on 08 February 2013 - 10:53 AM, said:

I want to announce the publication of my eD2K server. It's called eNode

You can download/fork it on GitHub: https://github.com/petermrg/eNode

It's written in Node.js and the code should be very easy to understand so feel free to contribute.

It would be also great to write an Official protocol specification. There are lots of outdated opcodes and protocol parts that could be removed from emule.


Kudos!
I have thought to be the last one thinking that e2dk servers are good resources. I still get very good search results with servers(and quickier than with kad, the advantages of a centralized service :-) ) and I trust redundancy (kad+ed2k 2 bullets better than one).

I am old guy who think in old ways.
Thanks petermrg and keep coding...
1

#17 User is offline   eremini 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 124
  • Joined: 09-November 02

Posted 08 December 2013 - 09:41 PM

Is this stiull developped/supported ?
0

#18 User is offline   ]Axl[ 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 118
  • Joined: 31-January 05

Posted 10 January 2017 - 04:22 PM

View Posteremini, on 08 December 2013 - 09:41 PM, said:

Is this stiull developped/supported ?


It was a very nice project, maybe someone will fork it in order to make a modern stable software for servers... :flowers:
1

#19 User is offline   hooligan3000 

  • European Community
  • PipPipPipPipPip
  • Group: Members
  • Posts: 252
  • Joined: 19-December 09

Posted 10 January 2017 - 06:28 PM

i hope so :bouncehi:
for some beer or so?
0

#20 User is offline   ]Axl[ 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 118
  • Joined: 31-January 05

Posted 17 January 2017 - 06:57 PM

View Posthooligan3000, on 10 January 2017 - 06:28 PM, said:

i hope so :bouncehi:
for some beer or so?


Yes, from my side I would donate some beers to a server developer
0

  • Member Options

  • (2 Pages)
  • +
  • 1
  • 2

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users