
eMule.v0.47a - TOMBSTONE v1.48
Changelog:
CORE: ClientAnalyzer v1.4: //v1.4: 14 changes //- Force one score calculation on startup //- New function "IsBadGuy()" - can be used to draw an icon or something... //- Made some functions non-static using the parent pointer //- Only use the UL/DL treshold as a punisher for clients that have something for us //- Fast Reask treshold will only be used after collecting 3 reasks //- XS spam/exploit check changed due to buggy implementation (***/WiZ) //- XS exploiters will only be checked after 10 reasks //- Punishment for Nick- and/or ModThieves reduced to 3*AT_MIDPUNISH //- Combined punishment for UDP-FNF and/or FileFakers //- Changed logging to an uniform standard //- Added a try/catch handler on exit because a crash was experienced there (still searching for the reason) //- Added missing initialisation for the badaction counter //- tweaked some functions to not call ReCheckScore() if it wasn't needed //- replaced the memset command by md4clr for the hashkey Changelog v1.48: - FIXED: fixed some localization problems - CHANGED: default nickname changed - CHANGED: removed some unneeded codelines in modstring sort - FIXED: fixed the display for remaining size (added a separate column to upload) - REMOVED: min upload for trickle slots (system seems to work fine now), should fix the incorrect trickle slot number display, too Changelog v1.47: - FIXED: fixed multiple instances checkbox display - ADDED: real full chunk upload plus remaining upload data display from SF-IOM mod - TAG: VQB: fullChunk - CHANGED: when slotfocus is enabled, then try to send at least 1k to trickles - CHANGED: slotopening again, takes into concern the number of trickle slots Changelog v1.46: - CHANGED: changed the error dumping code to ALWAYS create the dump and to remember the user on startup, this should help in cases where no dumps were written - TAG: WiZaRd::Better dumping - ADDED: various code improvements to save CPU - TAG: WiZaRd::Save CPU - CHANGED: slotopening on both slotfocus and fixed datarate Changelog v1.45: - ADDED: faster slotopening after UL session end - ADDED: firewalled retries limit (limit: 15 retries ~ 30 minutes) - ADDED: KAD-patch by Unkown1 - ADDED: DynamicBlockRequests by Netfinity - TAG: NetFinity::DynamicBlockRequests Changelog v1.44: - CHANGED: refined slotopening of slotfocus mode - CHANGED: small change in filescore calculation to save cpu - ADDED: cpu calm down on score calculation - TaG: WiZaRd::CPU calm down* - FIXED: added some codechanges to fix improperly counted failed ul/dl sessions *I *think* that this was once introduced in a similar way by LoveLace... in this case: "idea by LoveLace" Changelog v1.43: - ADDED: Startup Flood Prevention proposed by James R. Bath (http://forum.emule-project.net/index.php?showtopic=101181) - TAG: WiZaRd::Startup Flood Prevention - ADDED: dumpfile enumeration - TAG: WiZaRd::Dumpfile Enumeration - ADDED: automatic recheck firewalled status - TAG: WiZaRd::Automatic Firewalled Retries - CHANGED: try to connect to kad by default - FIXED: added a patch to multiple instances to prevent another instance to start when starting a new download (seems like an official bug to me) - FIXED: definately fixed the traytooltip to show up properly *g* - CHANGED: more comments in code... every b00n should be able to copy everything he wants now AND learn something *g* - ADDED: ModVersion display in all important columns - TAG: WiZaRd::Show ModVer - CHANGED: improved slotfocus slotopening a bit (less slots... at least I hope so *lol*) Changelog v1.42: - ADDED: a "warning" popup on first start to inform the users of the purpose of the mod - CHANGED: if you are updating from a tombstone version then the "first time wizard" won't pop up - TAG: WiZaRd::NoWiZaRd (*rofl*) - FIXED: fixed the traytooltip to show up properly (who needs to know the version anyways... the speed is important;)) - TAG: WiZaRd::ToolTip-FiX - CHANGED: added some better tagging/comments to the code - FIXED: Glitch-FiX in CDownloadClientsCtrl.cpp - TAG: WiZaRd::Glitch-FiX [21.02.2006] - CHANGED: SlotFocus is active now by setting datarate to "0" (default) //if slotfocus is active then a datarate of 10kB is used to determine the needed slots - ADDED: added a checkbox to enable/disable the allowance of multiple instances Changelog v1.41: - ADDED: 10sec delay before opening a new slot - ADDED: SlotFocus (fixed) - ADDED: datarate selection - REMOVED: possibility to switch off full chunk transfer - FIXED: additional icon display - FIXED: lang update was not working - CHANGED: CS-tree is now expanded by default - CHANGED: crash dump creation is always active Changelog v1.40: Based upon v0.47a: - ADDED: new splashscreen (+sig +avatar) by Mr.FrEEzEr - thx a lot! - ADDED: icon for badguys (SKULL) - ADDED: icon for same mod (TOMBSTONE) - TAG: WiZaRd::Same ModVersion Detection - ADDED: modversion - TAG: WiZaRd::Easy ModVersion - FIXED: BugFix in XS packet creation (Xtreme/***/WiZ) - ADDED: SessionRatio 1:4 - REMOVED: SpamBan (due to the analyzer) - CHANGED: you can now select between 3 cs: none, official and analyzer (recommended+default)
Please do NOT use your old antileech.net files (from Xtreme based versions)
Download @ eMuleFuture.de
OLD VERSIONS:

TOMBSTONE v1.1
based upon "LeecherKiller" Xtreme v4.7.2
PLEASE MAKE A CLEANINSTALL!
NO hash - NO clients.met!
In any case delete the antileech.met file in your config folder!
This is to get more reliable and correct results in the stats - thx

Changelog:
added: nickthief stats added: correct naming for leecher stats :) added: added a "reaskbuffer" to the analyzer reask score to only punish really fast reasks added: option to toggle the usage of the analyzer score - without that, you'll have an Xtreme WITHOUT banning/punishing + stats :) fixed: fixed a bug of mine in Xtremes modfaker detection (though I do not use that it was just cosmetical...) fixed: fixed one bug in scoring which I merged from an older version :( fixed: really removed the "scorereduce without justice" of Xtreme
TOMBSTONE v1.0
Changelog:
removed: Xman splash and replaced by the default mechanism removed: removed ALL bans of Xtreme mods "DLP" (= Dumb Leecher Protection) because most of them are nonsense and the scorereduce because it's highly unfair changed: changed the code around ProcessMessage to only show a logline if a received msg was not filtered added: stats for UL/DL for the detected leechertypes added: CLIENTANALYZER
After watching how current antileecherlists grow and grow banning more and more unguilty guys just because of strange modnames, I thought it'd be wise to start a new project... first, I wanted to rally some modders to join me in coding but then it turned out that they were either in the denial ("such a system is not possible") or in waiting ("code it and then I will check it out") state or willing to help but lacking the skills to do so...
So the CLIENTANALYZER is a beta project of mine to detect and punish leechers by analyzing their behaviour towards YOU only!
That means a client that is behaving bad to us but good to others will be punished by us only
even if his name is "Super-Leecher-0-Upload-User" and he uses a mod like "One hell of a leech mod"
I don't think it's ok to ban/punish clients just because of nick/modname/ghosting or modding errors...
If that does not hurt me, why should I punish them? Nearly all "bad" mods can be used without
the bad features activated...
Please note - ALL code is beta, ALL values might be changed easily, nothing HAS to stay as it is right now...
I'm open to all critics and would be glad to hear some suggestions and reports!
You can either enable the official CS or disable it - the analyzer will always be active!
If enabled and a client has an official score of *10 and an analyzer score of *0.2 then his complete score will be 10*0.2=*2
else his score will be *0.2!
The mod currently gives a score of *1.0 for all clients by default which won't change anything...
A really bad client (xs-exploiter/filefaker/modthief/nickthief) will get a reduce of 50%
Clients will get a bonus/punisher for uploaded/downloaded data, though, only data > 80% of a chunk will be counted
Uploaded/Downloaded data will be weighted differently
Every spam message received will lower a clients score by 2.5%
Clients who reask too fast or send XS too fast will be punished
More infos from the code comments:
////////////////////////////////////////////////////////////////////////// //About ClientAnalyzer: //--------------------- //The purpose of this class is to provide an interface that is controlling all //kinds of clients actions in eMule and to provide a score determined by the actions of each client //That way, Modders won't need to update a "antileech" database file regularly with //strings/opcodes or other things that are loose guesses about a client but just implement //that class so leechers will be detected by their ACTIONS // // //A few examples: //--------------- // //A releaser uses a mod with kick/ban/PS on partfiles and so on - would/should you ban him? //Yes you WOULD with default methods but no, you SHOULD not ban that client! //He is RELEASING, he is supporting the network and increasing its health... //But as you can't destinguish between "good" clients using that mod (aka releases) //and "bad" clients using the same mod (aka leechers) you would ban him/punish him on sight //(though the latter should be forbidden iMHO - still waiting for a statement by the devs) // //A client uses a leecher mod by a modder with a brain of > half the size of a walnut, //which means he won't send a string/opcode/something to identify himself - what to do? //Default methods fail miserably in such cases... and the default CS is too exploitable // //A client uses a leecher mod which spams the network - what to do? //Using default methods you are required to release a new filterfile over and over again... //The class will use the user editable blocklist and remember good and bad messages automatically // // //So, a final conclusion: //----------------------- //The class will NOT (NEVER!) need any updates in its final state! //The class will AUTOMATICALLY collect and use data from each client! //The class will REMEMBER that data and store it in a antileech.met file! //The class will work ONLY by analyzing the BEHAVIOUR of a client to us! //That means it is ABSOLUTELY following the rules and maybe even worth to be used officially! // //////////////////////////////////////////////////////////////////////////
Download
Have phun! Find the leechers and don't ban'em too fast!

WiZaRd
This post has been edited by tHeWiZaRdOfDoS: 15 March 2006 - 05:17 PM