eMule 0.49a In Beta Testing Drew Wilson | April 25, 2008 The eMule community is currently getting together to help beta-test a new version of eMule. Note: This is an article I wrote that was published elsewhere first. It has been republished here for archival purposes It’s not often the client gets an update, so when a new version is suddenly on the horizon, it catches the attention of the eMule community. “To gain more testing of this release,” SomeSupport of eMule said, “we hand out a Beta version of the coming 0.49a.” The new version that is on the horizon has a number of promising features. the features emphasized are: – Major Kad protocol improvements, like kad obfuscation, better NAT handling, direct callbacks, flood protections, etc. – Several changes to the message system to get rid of spammers (by Captchas) and stay in touch with friends with dynamic IPs – Several GUI improvements like storing searches between eMule sessions, a searchfilter for shared files and easier access to the comment filter – And as always fixing bugs and adding other small changes Here are some of the highlights in the changelog: – Added obfuscation to the Kad UDP protocol. Kad obfuscation is part of the protocol and is unrelated to the Ed2K-Obfuscation settings – In order to reduce spam messages and by this make the messagesystem more useable again, eMule now supports Captcha authentification: – If enabled, someone who messages you has first to solve a cpatcha (an image which shows letters) before the message is shown to you. Older clients who do not support captchas will be unable to message you and receive a notice about this. – You can now bootstrap to kad from an URL which points to a nodes.dat file (in the Kad tab) – The messagesystem is now able to find your friends even if their IP changed if you and they are in Kad and not firewalled. This will help to stay in contact with friends longer than one session (Only works for new added/new seen friends which have Kad enabled). – Reworked Kads Firewall handling and testing: The kad firewall state is now split into TCP and UDP. The TCP state is basically the old state, which tests if your TCP port is reachable. The UDP state is new and checks if your UDP port is reachable. For example on Full Cone NAT Routers, without portforwarding you will get TCP firewalled (as before) but UDP open (new). If you have the UDP open state, eMule doesn’t needs a buddy any longer and will fully participate in the KAD network and therefore take away the overhead they caused in earlier versions (you still cannot connect to other TCP firewalled clients if you are TCP firewalled yourself).The new UDP state is shown in the MyInfo field in the Server Tab. As long as the UDP firewalltest is unfinished “(unverified)” is appended Clients which have the Kad UDP open state, now support direct callbacks (invoked by an UDP packet) to connect to not firewalled clients. These callbacks are faster, more reliable and use less resources than buddy or server callbacks. The new firewall test also fixes a bug / design flaw which caused eMule to always use the clients source UDP port, instead testing if the internal set UDP port might be the proper choice instead. This was especially a problem on Restricted Cone Routers with PAT (Port Address Translation) – If you select a non-default incoming directory which already contains files, eMule notices you that those files are automatically shared by eMule – Added a general anti-flood-protection to kad. If Kad receives more request of a specific type from one IP than it would expect, it starts ignoring those requests and eventually banning the source. This is supposed to avoid or slow down several attack scenarios. – Several changes have been made to improve kads resistance against malicious keyword publishing:Kad now keeps track which filenames were published by different sources for the same file and uses the most common name (instead the last published one) when responding search requests Same hashs (files) which have different filesizes are now properly stored seperatly instead overwriting each other Kad calculates a rating based on how many different sources publish a file and how many files publishes a source. When responding to a search request, files with a rating below a set limit will be sent last in order to avoid that spammed files push out valid ones. – The Kad rating for published files is also sent in search results to be used in the future version as indicator – ed2k-links is no longer case sensitive – eMule is now aware of windows standby modes and reconnects after waking up If you know eMule and would like to help out in the beta-testing process, it’s recommended that you read through this thread before testing yourself. The Beta version of the new eMule is available through the ED2K network as well as a number of links provided by the community. Public Beta-testing forum Drew Wilson on Twitter: @icecube85 and Google+.