Official eMule-Board: Utp Based Nat-Traversal Reference Implemetation For Emule - Official eMule-Board

Jump to content


  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • 4

Utp Based Nat-Traversal Reference Implemetation For Emule Neo(Mule/Loader) NatTraversal v3

#21 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 09 August 2013 - 11:51 AM

View PosttHeWiZaRdOfDoS, on 09 August 2013 - 10:58 AM, said:

SCT will receive a separate tag/structure,


Sure about that?
Why adding an additional tag, a 32 bit community tag have more than enough place for SCT.

And for compatibility reasons I will add to Neo whatever SCT version gets agreed upon as community standard, in preparation for that I already commented out the RangeMaps so that once I add that bis again with the selected SCT implementation there will be no Neos around still using the old one.


View PosttHeWiZaRdOfDoS, on 09 August 2013 - 10:58 AM, said:

IPv6 and NeoKad (as SS explained somewhere else) do not work as expected and/or won't be used due to other problems (license, etc.)


First of all you can use IPv6 with servers, and petermrg is providing the server software for that.

About NeoKad, the licence is not a legal/fundamental problem, It is perfectly fine to distribute an eMule application binary together with a NeoKad service binary. Its only an ideological problem for those whom make it a problem for them selves.

And It will work as expected, as I explained in the same thread.
Lets be honest now you have 2 arguments form authority, and non of the two can in any way prove his point its a mater of personal preference hose argument you believe more.

An simple yet important IPv6 extension that can be added, is to keep Kad IPv4 only but let NATed the users publish their open IPv6 address so that the client can work for sharing as a normal HighID client.


Anyway as I posted before, I really don't care, we can add a full tag for each feature.

But I think we should at least Keep IPv6 and SCT in the same tag as ExtSX and NatT, espetialy that Ext SX is also needed for IPv6, that as explained above can be used good without the need for a IPv6 kad.

David X.
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#22 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 09 August 2013 - 12:32 PM

About SCT, I proposed that to Netfinity but he wanted to use the old "pr" tag.

About IPv6: centralised networks are obsolete as is server support - IMHO 0.50b should disable it by default to make a point.

Quote

About NeoKad, the licence is not a legal/fundamental problem, It is perfectly fine to distribute an eMule application binary together with a NeoKad service binary. Its only an ideological problem for those whom make it a problem for them selves.

That is very unlikely to happen (except you do it yourself).
0

#23 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 09 August 2013 - 01:00 PM

View PosttHeWiZaRdOfDoS, on 09 August 2013 - 01:32 PM, said:

About SCT, I proposed that to Netfinity but he wanted to use the old "pr" tag.


ok than the "pr" tag it is.

Still, I would still ask to include the IPv6 support flag in the specification, its just one bit.

What tag ID would you suggest for the community tag?

Or should we keep the current tag ID, and I'll move neo specific stuff to a new tag, that might be better. I would than use than an "nl" tag for NeoLoader only stuff.

This post has been edited by DavidXanatos: 09 August 2013 - 01:08 PM

NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#24 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 09 August 2013 - 02:11 PM

Well, I'd start using available tags from the beginning. The only tag we use in the mod prot is CT_MOD_VERSION 0x55, so I'd start using CT_MODFEATURES as 0x01 but I don't care if the number is different.

About IPv6 again: I didn't check it in detail but right now it'd only mean that we tell the remote clients our IPv6 address? Do you think this will evolve at some point, thus needing a proper "version" tag? If not, go ahead and add it, it won't hurt any mod to add it. :flowers:
0

#25 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 09 August 2013 - 08:15 PM

View PosttHeWiZaRdOfDoS, on 09 August 2013 - 03:11 PM, said:

Well, I'd start using available tags from the beginning. The only tag we use in the mod prot is CT_MOD_VERSION 0x55, so I'd start using CT_MODFEATURES as 0x01 but I don't care if the number is different.

About IPv6 again: I didn't check it in detail but right now it'd only mean that we tell the remote clients our IPv6 address? Do you think this will evolve at some point, thus needing a proper "version" tag? If not, go ahead and add it, it won't hurt any mod to add it. :flowers:


the 0x01 hello tag is used as CT_NAME by edonkey
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#26 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 09 August 2013 - 08:46 PM

But not in the mod prot extension :)

EDiT: oh and could you pls check the IPv6 part in your NAT-T Neo example so it can be properly used/supported? :angelnot:

This post has been edited by tHeWiZaRdOfDoS: 09 August 2013 - 08:51 PM

0

#27 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 09 August 2013 - 09:04 PM

View PosttHeWiZaRdOfDoS, on 09 August 2013 - 09:46 PM, said:

But not in the mod prot extension :)

EDiT: oh and could you pls check the IPv6 part in your NAT-T Neo example so it can be properly used/supported? :angelnot:


I thought ratehr about using a plain old tag in the hello packet, and not the full mod prot auxyliary info packet, especially that the extension as it seams will be used by a separate client and a fork, also also netfinity uses a hello tag for SCT.

IPv6 Support is not ready i just put in some placeholders, if i have time i may add it on the weekend
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#28 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 09 August 2013 - 09:08 PM

Well, I know the modprot is rather old and wasn't used extensively but I think we should opt for it to keep the original prot clean (which is why we agreed on the modprot and where granted a modprot bit in the first place).
I also suggested to use the modprot for SCT. IMHO it doesn't make sense to support a deprecated client and - as mentioned before - we pollute the eMule prot that way.
0

#29 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 09 August 2013 - 09:12 PM

View PosttHeWiZaRdOfDoS, on 09 August 2013 - 10:08 PM, said:

Well, I know the modprot is rather old and wasn't used extensively but I think we should opt for it to keep the original prot clean (which is why we agreed on the modprot and where granted a modprot bit in the first place).
I also suggested to use the modprot for SCT. IMHO it doesn't make sense to support a deprecated client and - as mentioned before - we pollute the eMule prot that way.


Well modprot was intended for mods, and the additional full packet was acceptable overhead vice under the assumption that only a smal minority will ever use it.

Now, our clients are no mods but you have a fork and Neo us something completely different, and I would guess we booth want to take over substantial portions of the network, so i think it would be the best to use just a hello tag.

David X.
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#30 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 09 August 2013 - 09:22 PM

Well, if we have to, I will support it via hello, too while personally still opting for (and using) the mod prot - that shall not prevent us to get to a solution :)
0

#31 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 09 August 2013 - 09:33 PM

ok, so,
Lets use the current tag and I will remove all NeoLoader exclusive stuff from it, and move it to a "nl" tag.

Cheers
David X.
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#32 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 16 August 2013 - 07:39 AM

So anyone started merging the feature into his mod yet?

Cheers
David X.
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#33 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 16 August 2013 - 12:08 PM

kMule will support it ;)
Waiting for the IPv6 parts, though :flowers:
0

#34 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 16 August 2013 - 04:17 PM

View PosttHeWiZaRdOfDoS, on 16 August 2013 - 01:08 PM, said:

kMule will support it ;)
Waiting for the IPv6 parts, though :flowers:

just finished IPv6 :thumbup:
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#35 User is offline   netfinity 

  • Master of WARP
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1658
  • Joined: 23-April 04

Posted 16 August 2013 - 04:48 PM

Looking forward to test it! Do you have any ideas how we should test it. Some testfiles perhaps!

Noticed that you called the KAD tag "v6". I would have thought "ip6" would have been more appropriate. Just one byte more, but (what I think) much clearer what it is about.

This post has been edited by netfinity: 16 August 2013 - 05:02 PM

eMule v0.50a [NetF WARP v0.3a]
- Compiled for 32 and 64 bit Windows versions
- Optimized for fast (100Mbit/s) Internet connections
- Faster file completion via Dynamic Block Requests and dropping of stalling sources
- Faster searching via KAD with equal or reduced overhead
- Less GUI lockups through multi-threaded disk IO operations
- VIP "Payback" queue
- Fakealyzer (helps you chosing the right files)
- Quality Of Service to keep eMule from disturbing VoIP and other important applications (Vista/7/8 only!)
0

#36 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 16 August 2013 - 05:13 PM

View Postnetfinity, on 16 August 2013 - 05:48 PM, said:

Looking forward to test it! Do you have any ideas how we should test it. Some testfiles perhaps!


I will setup a test file

View Postnetfinity, on 16 August 2013 - 05:48 PM, said:

Noticed that you called the KAD tag "v6". I would have thought "ip6" would have been more appropriate. Just one byte more, but (what I think) much clearer what it is about.


you are right I will change it

Cheers
David X.
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#37 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 16 August 2013 - 09:07 PM

here it comes:

ed2k://|file|NeoLoader%20-%20TestFile.rar|721129629|5B2E530B20E57EE6CD5E5E46038AF985|h=LQONEW4GA3ZGQ7US2DIMUD6GJG4W6VXL|/

Also I commuted a few updates.
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#38 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 17 August 2013 - 06:11 PM

David, are you sure about that change in BaseClient.cpp:

Quote

#ifdef USE_IP_6 // NEO: IP6 - [IPv6]
if (!HasLowID() && ed2kID)
m_ConnectIP = CAddress(ntohl(in_userid));
else if(!HasLowID())
m_ConnectIP = CAddress(in_userid);
#else // NEO: IP6 END
if (!HasLowID() && ed2kID)
m_nConnectIP = in_userid;
else if(!HasLowID())
m_nConnectIP = ntohl(in_userid);
#endif


Looks like you are using ntohl in the wrong case.
0

#39 User is offline   tHeWiZaRdOfDoS 

  • Man, what a bunch of jokers...
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5630
  • Joined: 28-December 02

Posted 17 August 2013 - 06:46 PM

Oh well... another question: did you try to compile your code? There's still a LOT missing, i.e. it's unusable right now :ph34r:
0

#40 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1469
  • Joined: 23-April 04

Posted 17 August 2013 - 06:51 PM

View PosttHeWiZaRdOfDoS, on 17 August 2013 - 07:11 PM, said:

David, are you sure about that change in BaseClient.cpp:

No absolutely not :confused: the way eMule handles IP'S is everything but not strait forward.


But I think I did it right...
we know that m_nConnectIP is always the IPv4 in Network Order
	sockAddr.sin_addr.S_un.S_addr = GetConnectIP();
	socket->Connect((SOCKADDR*)&sockAddr, sizeof sockAddr);


And we know that my CAddress Structure holds the IPv4 in Host Order

So if eMule does = ntohl, we must do =
and if eMule does = we must do = ntohl

and thats what I do, also m_nUserIDHybrid is the IPv4 in Host Order and in the lines above thay do:

Quote

if(ed2kID && !IsLowID(in_userid))
m_nUserIDHybrid = ntohl(in_userid);


So I think it should be fine.

Quote

Oh well... another question: did you try to compile your code? There's still a LOT missing, i.e. it's unusable right now

:shock:

Thats strange I have a test client up and running since yesterday with a IPv6 tunnel I waisted half a day setting up.

my git client says its all pushed to the repository...
Try updating again and if it still fails I will upload a snapshot on mega...

Cheers
David X.
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

  • Member Options

  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • 4

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