How About Adding Nat-traversal And Ipv6 To Version 0.80?
#1
Posted 20 August 2024 - 06:36 AM
I think its nowadays not reasonable to continue to discriminate against low ID users,instead eMule should do everything that is technically possible to make their experience as good as can be, meaning it should provide a NAT-Traversal mechanism.For simplicity such a mechanism could be based on the UTP protocol used by Bittorent github.com bittorrent libutp have provided long time ago a reference implementation: howtopic=156977
And obviously its time to add IPv6, at least data transfer and with full server support, KAD can be difficult so for a first implementation KAD could only run on IPv4 but start indexing IPv6 addresses.Sure based on the old line of thinking one may be quick to dismiss such a solution as unfair why should the HighID IPv4 users do all the KAD work while the people behind a NAT with or without an IPv6 just benefit.To that I say "With great power comes great responsibility."/"Starke Schultern müssen mehr tragen", meaning it is not unfair at all to ask from privileged users to contribute a bit more and do more of the work.All non HighID users still contribute their bandwidth and the files they are sharing that is enough.Also nowadays the additional work and overhead for those HighID IPv4 users is negligible, not as it was in the past where it was ~20% of once total available bandwidth on some 128kb/s/512kb/s DSL Line or alike.
Now I still see 2/3 of emule users still stuck on 0.50a, on the other hand > 20% uses the community version so that's not nothing, if the community version (liked from the official website) would include this features there would be enough of a user base to make it truly beneficial, unlike previous attempts where 0.1% or alike used it and it therefor was effectively pointless.
If there would be an agreement to add this functionality to the officially endorsed community version I could submit an appropriate pull request on Github.
So what do we do? Do we allow emule to remain stuck in the past and slowly fade into obscurity as IPv6 and Carier grade NAT's slowly take over, or do we take a bold step into the future with a few features which are more then a decade overdue?
CheersDavid
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.
#2
Posted 21 August 2024 - 11:49 AM
First of all, I’m really happy to see you back here!
As I mentioned before, I have been working on an "almost perfect" eMule Mod for the last 1.5 years, and it has reached a good point now. Please check my signature for details, but it is just a short list of what I've done already. Complete list have 154 features/fixes/Improvements at the moment.
I’ve already implemented your IPv6+NAT-T months ago, fixed some important bugs, completed 70% of the “ToDo” items you marked (IPv6 support for IP Filter, banning mechanism, Get/Set PublicIP, etc.) I also added IPv6 support for several mod features: GeoLite2 (IP2Country replacement), Save Load Sources, Reask sources & Inform queued clients after IP change, etc. Additionally, I upgraded the libutp library to the latest version, which has changed significantly without documentation.
Everything is working rock-solid stable on IPv4. I’m confident because I’ve been rigorously testing my client in debug mode 24/7 with numerous downloads. I’ve even fixed many ancient eMule bugs during this process. However, extensive tests for IPv6 and NAT-T will be needed, which I plan to focus on in the coming months.
In the last two months, I’ve focused on optimization and multi-threading. Now, almost every file I/O operation is done inside threads, and the GUI is optimized so well that even with numerous downloads/uploads, there is no sign of freezing. My project is based on the Community version v0.70a, and I’m currently migrating the 0.70b changes. It will be ready soon.
What is missing at the moment is IPv6 support for KAD and NAT Traversal support for eServer. If you are interested in working on this, I would be more than happy to open my project to you, which is currently a private GitHub project.
This post has been edited by BuyukBang: 21 August 2024 - 12:37 PM
IPv6 Support & UTP NAT Traversal: Enables IPv6 and LowID to LowID transfers between mod users. (Improved version of David Xanatos’s reference implementation)
Client History: Stores and reloads all clients. Enables long-term banning/punishment intervals, tracking suspicious activities, editable client notes, shared files statistics.
Protection Panel: Detects 28 types of bad clients, bans/punishes with 12 levels. Uses customizable text-based definitions within Shield.conf instead of binary DLP.dll.
Blacklist Panel: Keyword & regex based file blacklisting for search results. Very fast (Processes 1000+ definitions on search results under 1 sec).
Download Checker: Skips known/downloaded/canceled downloads by checking file name similarities and file hashes.
Files List: Lists and categorizes all known files and duplicate files. Fast loading (Loads 200k items under 1 sec).
GeoLite2: Replaced legacy IP2Country, supports IPv6, lists both cities and countries.
Several Connection Tweaks: A fast and reliable connection checker; retry failed TCP connection attempts; reask sources & inform queued clients after IP change.
Empty Fake File & DRM Detection: Automatically removes trash files from the download list.
Fast Kad: Provides much faster KAD searches comparable to eServer search speed.
Auto Query Shared Files: A new way of finding files!
Highly Responsive GUI, Dark Mode, Automatic File Extension Correction, Auto\Manual Saving All App Data, Auto\Manual Backup, Added Column Filters To All Lists, Intelligent Chunk Selection, Client Emulation, Selectable Credit Systems, Save & Load File Sources, And many more additional features, bug fixes and optimizations…
To do: IPv6 support for KAD, NAT-T support for eServer, more...
#3
Posted 22 August 2024 - 07:02 AM
I'll happily take a look on your current work,but I don't think I'll contribute much until there is some agreement in place that NAT-Traversal and IPv6 will be included in an upcoming officially endorsed version.
Implementing NAT-T or IPv6 in a mod that only a small portion of users run is like having the best-kept secret—it doesn't benefit the larger eMule community. The power of eMule has always been in its large, decentralized user base, and without widespread adoption of these features, we're not unlocking their full potential. If only a handful of users have these capabilities, the network's ability to handle IPv6 or traverse NATs won't significantly improve.
That’s why I believe we should push for these enhancements to be included in the officially endorsed community version. If we can integrate these features into a version that a significant number of users adopt, then we’ll really start to see the benefits. Otherwise, it's like building a superhighway that no one drives on.
Cheers
David
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.
#4
Posted 22 August 2024 - 08:01 AM
I understand your point of view. However, I’m not very hopeful about this after reading old topics on IPv6 and NAT-T. I wish I’m wrong and that you get what you asked for, as I completely agree with what you wrote in your first message.
There aren’t many new eMule mods these days, so I believe we can make a significant impact by creating a perfect mod/branch to help spread IPv6 and NAT-T, which is why I started this project. If you change your mind, feel free to ping me anytime. You have my email
This post has been edited by BuyukBang: 22 August 2024 - 08:09 AM
IPv6 Support & UTP NAT Traversal: Enables IPv6 and LowID to LowID transfers between mod users. (Improved version of David Xanatos’s reference implementation)
Client History: Stores and reloads all clients. Enables long-term banning/punishment intervals, tracking suspicious activities, editable client notes, shared files statistics.
Protection Panel: Detects 28 types of bad clients, bans/punishes with 12 levels. Uses customizable text-based definitions within Shield.conf instead of binary DLP.dll.
Blacklist Panel: Keyword & regex based file blacklisting for search results. Very fast (Processes 1000+ definitions on search results under 1 sec).
Download Checker: Skips known/downloaded/canceled downloads by checking file name similarities and file hashes.
Files List: Lists and categorizes all known files and duplicate files. Fast loading (Loads 200k items under 1 sec).
GeoLite2: Replaced legacy IP2Country, supports IPv6, lists both cities and countries.
Several Connection Tweaks: A fast and reliable connection checker; retry failed TCP connection attempts; reask sources & inform queued clients after IP change.
Empty Fake File & DRM Detection: Automatically removes trash files from the download list.
Fast Kad: Provides much faster KAD searches comparable to eServer search speed.
Auto Query Shared Files: A new way of finding files!
Highly Responsive GUI, Dark Mode, Automatic File Extension Correction, Auto\Manual Saving All App Data, Auto\Manual Backup, Added Column Filters To All Lists, Intelligent Chunk Selection, Client Emulation, Selectable Credit Systems, Save & Load File Sources, And many more additional features, bug fixes and optimizations…
To do: IPv6 support for KAD, NAT-T support for eServer, more...
#5
Posted 22 August 2024 - 09:37 AM
I totally get where you’re coming from. However, based on my past experience, I'm skeptical that a mod, even a near-perfect one, will gain the traction needed to make a real impact without official endorsement.
Over a decade ago, I tried something similar with NeoMule, aiming to push the network forward with new features and optimizations. Despite all the work that went into it, it just didn't gain the user base needed to make a significant difference. The reality is that most users stick to the official versions, and without the backing of the official community, even the best mods tend to fade into obscurity.
That’s why I’m advocating so strongly for integrating these features into the officially endorsed community version. It’s the only way I see to ensure widespread adoption and actually move the network forward in a meaningful way. But I definitely respect your efforts, and I’ll keep your offer in mind. If things change, or if there’s an opportunity to collaborate on something that can really make a difference, I’ll be sure to reach out.
Cheers
David
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.
#6
Posted 22 August 2024 - 12:41 PM
Now it's time to hear from the officials.
IPv6 Support & UTP NAT Traversal: Enables IPv6 and LowID to LowID transfers between mod users. (Improved version of David Xanatos’s reference implementation)
Client History: Stores and reloads all clients. Enables long-term banning/punishment intervals, tracking suspicious activities, editable client notes, shared files statistics.
Protection Panel: Detects 28 types of bad clients, bans/punishes with 12 levels. Uses customizable text-based definitions within Shield.conf instead of binary DLP.dll.
Blacklist Panel: Keyword & regex based file blacklisting for search results. Very fast (Processes 1000+ definitions on search results under 1 sec).
Download Checker: Skips known/downloaded/canceled downloads by checking file name similarities and file hashes.
Files List: Lists and categorizes all known files and duplicate files. Fast loading (Loads 200k items under 1 sec).
GeoLite2: Replaced legacy IP2Country, supports IPv6, lists both cities and countries.
Several Connection Tweaks: A fast and reliable connection checker; retry failed TCP connection attempts; reask sources & inform queued clients after IP change.
Empty Fake File & DRM Detection: Automatically removes trash files from the download list.
Fast Kad: Provides much faster KAD searches comparable to eServer search speed.
Auto Query Shared Files: A new way of finding files!
Highly Responsive GUI, Dark Mode, Automatic File Extension Correction, Auto\Manual Saving All App Data, Auto\Manual Backup, Added Column Filters To All Lists, Intelligent Chunk Selection, Client Emulation, Selectable Credit Systems, Save & Load File Sources, And many more additional features, bug fixes and optimizations…
To do: IPv6 support for KAD, NAT-T support for eServer, more...
#7
Posted 22 August 2024 - 12:48 PM
#8
Posted 22 August 2024 - 02:16 PM
OConnell, on 22 August 2024 - 01:48 PM, said:
well there is a new client its even compatible with Torrent: NeoLoader but it simply came to late to the party, a new client made nowadays would be even later....
This post has been edited by DavidXanatos: 22 August 2024 - 02:16 PM
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.
#9
#10
Posted 24 August 2024 - 08:48 PM
TreviSyn, on 23 August 2024 - 03:18 PM, said:
I should have wrote "well there was ..." but well it still is there it still can be downloaded and used I actually still use it myself everyday, but no I'm currently not working on developing it further.
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.
#12
Posted 25 August 2024 - 03:42 PM
IPv6 Support & UTP NAT Traversal: Enables IPv6 and LowID to LowID transfers between mod users. (Improved version of David Xanatos’s reference implementation)
Client History: Stores and reloads all clients. Enables long-term banning/punishment intervals, tracking suspicious activities, editable client notes, shared files statistics.
Protection Panel: Detects 28 types of bad clients, bans/punishes with 12 levels. Uses customizable text-based definitions within Shield.conf instead of binary DLP.dll.
Blacklist Panel: Keyword & regex based file blacklisting for search results. Very fast (Processes 1000+ definitions on search results under 1 sec).
Download Checker: Skips known/downloaded/canceled downloads by checking file name similarities and file hashes.
Files List: Lists and categorizes all known files and duplicate files. Fast loading (Loads 200k items under 1 sec).
GeoLite2: Replaced legacy IP2Country, supports IPv6, lists both cities and countries.
Several Connection Tweaks: A fast and reliable connection checker; retry failed TCP connection attempts; reask sources & inform queued clients after IP change.
Empty Fake File & DRM Detection: Automatically removes trash files from the download list.
Fast Kad: Provides much faster KAD searches comparable to eServer search speed.
Auto Query Shared Files: A new way of finding files!
Highly Responsive GUI, Dark Mode, Automatic File Extension Correction, Auto\Manual Saving All App Data, Auto\Manual Backup, Added Column Filters To All Lists, Intelligent Chunk Selection, Client Emulation, Selectable Credit Systems, Save & Load File Sources, And many more additional features, bug fixes and optimizations…
To do: IPv6 support for KAD, NAT-T support for eServer, more...
#13
Posted 20 September 2024 - 01:03 PM
DavidXanatos, on 24 August 2024 - 08:48 PM, said:
TreviSyn, on 23 August 2024 - 03:18 PM, said:
I should have wrote "well there was ..." but well it still is there it still can be downloaded and used I actually still use it myself everyday, but no I'm currently not working on developing it further.
neoloader is like shareaza, where can down torrents and kad files