Menu principale

News:

Ritornati online con una nuova veste grafica

[INFO] Anti-Leecher, Client Analyzer & FineCS

Aperto da Vincent Vega, 12 Settembre 2008, 18:17:08

Discussione precedente - Discussione successiva

Vincent Vega

Vorrei sapere le differenze tra la funzione Anti-Leecher, Vd. DLP in eMule Xtreme, Client Analyzer, & FineCS. Con intense ricerche su Google mi pare d'aver capito che il CA esamina determinati fattori (Quali?) nella comunicazione tra il proprio Client e gli altri. Cercando di approfondire l'argomento, cosa che evidentemente non mi è riuscita molto bene, sono arrivato alla conclusione, forse erronea, che il CA applica un Bonus o una riduzione attraverso il Sistema dei Crediti di eMule, basandosi sul comportamento del Client contattato.
La funzione Anti-Leecher, invece, dovrebbe funzionare attraverso una Lista di Client nocivi, quindi da escludere dal traffico, che eMule riconoscerebbe attraverso l'AntiLeech.Dll.
Il FineCS, invece, dovrebbe limitare un Client (Come?) che richiede più di 3 Chunk di un File, senza averci fatto fare l'UP di alcun suo Byte in condivisione dello stesso File.

Avrei bisogno di delucidazioni :ph34r:. Sarebbe interessante poter inserire la descrizione di queste funzioni nel Glossario <_<.

3ul3r0

l'antileecher è un semplice elenco di mod nocive. se qualcuno entra in coda con una di queste mod, e l'antileecher è attivo , viene bannato.

il fineCS è un rivoluzionario sistema che consente di valutare i client non attraverso il sistema dei crediti, tipico della ufficiale o delle altre mod, ma attraverso la quantità di dati che ci inviano. Siccome il sistema dei crediti ha i suoi limiti, ovvero permette di usare emule in modalità leecher (vedi credit shaping), allora cicciobastardo sulla sua mod BastarD, ha introdotto questo sistema che non conferisce nessun credito a nessun client, cioè il sistema dei crediti non esiste. Quello che fa è invece abbassare il punteggio a quei client che scaricano molto ma inviano poco, in particolare dopo che hanno scaricato 4 chunk il loro rating viene abbassato, in modo da "sfavorirli" nella corsa allo slot. Da notare che non vengono bannati, ma semplicemente sfavoriti attraverso un abbassamento del rating. Questo permette di essere più equi con tutti ed evita che colore i quali usano in modo inappropriato emule concentrando lo slot su un singolo file, possano sostare perennemente nella nostra coda per scaricare il file, mentre altri client che magari vorrebbero scaricare un file rarissimo, vengano scavalcati di continuo.
questo meccanismo scatta sui 3 chunk qualora non ci abbiano inviato neanche un byte, come hai giustamente detto.
in definitiva la filosofia che si applica a colore che vogliono scaricare da noi è: "se vuoi scaricare sei libero di farlo, ma dopo i 3 o 4 chunk che prendi senza ricambiare, ti devi accontentare di restare in coda più a lungo".

sul CA non sò molto, qualcuno magari è più preparato di me.
;)

dylandog84

Aggiungo che il fineCS viene applicato solo sui files incompleti.

Citazioneil CA applica un Bonus o una riduzione attraverso il Sistema dei Crediti di eMule, basandosi sul comportamento del Client contattato.

Pesno che questa affermazione racchiuda il concetto di Client Analyzer. <_<
Non criticare mai te stesso, non sarebbe affatto giusto nei confronti di tutti quelli che aspettano in fila per farlo.

3ul3r0

#3
surfando sono finito qui per caso...magari ti interessa :
Client Analyzer

Vincent Vega

#4
Citazione di: dylandog84 il 13 Settembre 2008, 15:33:25
Aggiungo che il fineCS viene applicato solo sui files incompleti.

Pesno che questa affermazione racchiuda il concetto di Client Analyzer.
Si, ma come riconosce le Leecher-Mod? Come riconosce le Mod che non rispettano la Licenza GPL? Credevo che anche il CA implementasse una lista da aggiornare periodicamente :ph34r:.

EDIT:
Citazione di: 3ul3r0surfando sono finito qui per caso...
Il Link funziona ma non ha contenuti ^_^.

Walter

VV, prova adesso.

3ul3ro, avevi copiaincollato il link senza mettere i tag di URL. :whistilng:

Quelle parentesi tonde sono sfuggenti. Il copia/incolla diretto di URL funziona il 99% delle volte. Non aveva compreso la seconda parentesi tonda di (ita), linkando una pagina inesistente.
L'unica banalità sta nel giudizio.

Vincent Vega

Grazie MsZ, ecco le informazioni che cercavo :). M'ero totalmente dimenticato della Wiki di DarkForge :bag: ...

dylandog84

Dai sorgenti della beba, precisamente contenuto nel file ClientAnalyzer.cpp, vi è questo appunto iniziale:

CitazioneAbout 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 an "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

Poco più avanti nella "lettura" di quel file c'è anche il changelog di questo "tool". (se ti interessa ^_^)

A volte, anche il sourcecode è ricco di spiegazioni. :P
Non criticare mai te stesso, non sarebbe affatto giusto nei confronti di tutti quelli che aspettano in fila per farlo.

3ul3r0

@MsZ
i tag url li avevo dimenticati, la prossima volta li metto.
a dire il vero avevo notato che non funzionava per via della parentesi finale, ma volevo evitare di aprire un nuovo topic....speravo che fosse evidente l'errore :D:D

Vincent Vega

#9
Provo a sintetizzare il tutto per fare un po' di chiarezza:

Client Analyzer

Sviluppato da WiZaRd, è un sistema che consiste nell'analisi dei Client contattati, analisi finalizzata ad escludere Leech-Mods, Bad-Mods, Nick Thieves, Etc.Etc., e a incentivare il traffico da parte di chi adotta comportamenti se non benevoli, rispettosi nei confronti della rete eDonkey e Kadmlia. Ad ogni Client contattato, e quindi analizzato, sarà assegnato un punteggio, salvato nel File Antileech.Met, che varia a seconda dei suoi comportamenti. Il CA applica un Bonus o una Riduzione attraverso il Sistema dei Crediti di eMule, basandosi sull'analisi dei seguenti comportamenti:

  • Richiesta Fonti troppo frequente.
  • Richieste ricevute ed  ignorate.
  • Richieste che identificano il comportamento di un Client, come aggressivo.
  • Se si utilizza un NickName rubato (Nick Thieves).
  • Se si utilizza una Sequenza Mod rubata (Mod Thieves).
  • Se si inviano File corrotti (File Fakers).
  • Rapporto Download\Upload.
  • Tipo di Ul\Dl (File Completi, Incompleti, Rari, Corroti).
  • Bonus rilasciato per la conservazione dell'Hash-Utente

Il CA non deve essere costantemente aggiornato a differenza di altri sistemi che, inoltre,  puniscono Releaser, o escludono dal traffico Bad-Mods, capaci invece di fare l'Upload di Files e risultare quindi utili alla Rete. Il Client Analyzer permette di riabilitare utenti precedentemente bannati\penalizzati, attraverso l'invio di un numero di Chunks determinato in base alla penalità imposta.

Ehm.... Ho inserito la definizione qui, convinto d'essere su eMule Italia Glossario :ph34r:.

Come al solito, se ci sono correzioni da fare riportatele pure, ma nell'apposito thread :).