EDONKEY SEARCHER (SOCKET, WIN32)

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 13 nov. 2004 à 10:14
taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007 - 10 nov. 2010 à 12:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27536-edonkey-searcher-socket-win32

taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007
10 nov. 2010 à 12:51
Toujours aussi bon, et ChiXpreSs @ cppfrance?
taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007
22 nov. 2009 à 15:59
ah ok
cs_lol55 Messages postés 86 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 5 décembre 2010
22 nov. 2009 à 03:22
Excellent commencement
cs_lol55 Messages postés 86 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 5 décembre 2010
1 mai 2009 à 17:30
Après avoir testé plusieurs autres connexions à des serveurs différents j'ai remarqué que certaines connexions fonctionnent, et d'autres non!
cs_lol55 Messages postés 86 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 5 décembre 2010
1 mai 2009 à 16:55
Bonjour à tous,

J'avais découvert cette source il y a quelques années mais je ne parvenais pas à me connecter à un serveur, la connexion échouait à chaque fois...
Je repensais à ceci ces dernier temps, je retrouve donc la source sur cppfrance.com puis je télécharge l'archive et je tente à nouveau de me connecter à un serveur (à partir de cette liste mise à jour régulièrement : http://www.gruk.org/server.met ), la connexion échoue, j'essaye avec un autre serveur, de même.

J'ouvre alors le projet avec Visual Studio puis je relis tout le code source pour me remémorer le fonctionnement du programme comme je l'avais déjà fait auparavant.
Je modifie simplement quelques lignes, je recompile puis lorsque je tente de me connecter : CA MARCHE!! ^^
La fonction recherche fonctionne aussi!

------------------------------------------------------------------------------

Voici les lignes à modifier dans le projet :
Dans le fichier edonkey.cpp, remplacer les premières lignes de la fonction InitEdonkeySearcher (ligne 93 jusqu'à "// hash md5 du client") par :

lstrcpy(eds.ed2k_nickname, "http://emule-project.net");
// l'username sera l'identifiant du client
if(!eds.ed2k_nickname)
return 0;

Puis quelques lignes après, remplacer la ligne eds.ed2k_version = ... par :

eds.ed2k_version = 0x5c; // version utilisée par eMule v0.49c

Dans le fichier interface.h, à la 8ème ligne, il faut modifier le numéro du port 16xxx par le numéro du port OUVERT qui fonctionne en HighID avec votre logiciel eMule (le miens est le 7890) :

#define ED2K_PORT 7890 // port edonkey

Téléchargez une liste de serveur à jour :
http://www.gruk.org/server.met
Que vous placez dans le dossier de l'exécutable de notre programme.

Enregistrez les deux fichiers modifiés, compilez, tentez de vous connectez... Oh ca marche!!

--------------------------------------------------------------------------

Je suis content d'avoir trouvé la solution à ce problème qui me tournait dans la tête depuis quelques semaines!...

Encore merci à Aardan pour cette source!
En espérant qu'il nous fasse un jour une nouvelle source là dessus, un "mini eMule"! ^^

Enjoy! :-)

Lol55
taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007
4 mai 2007 à 20:56
ok
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
3 avril 2007 à 13:52
Salut,
c'est surement ca, le protocol n'a pas changé mais maintenant les connexions aux serveurs sont 'obfuscated', pour contourner les protections de certains fournisseurs d'acces à internet.
eMule peut te retourner autant voire plus de résultats, en cliquant sur le bouton More quand celui ci est activé.
jerrol Messages postés 11 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 29 décembre 2004
3 avril 2007 à 05:44
Salut. J'ai l'impression que ton programme ne fonctionne plus. Enfin chez moi en tout cas... Le problème est qu'il n'arrive plus à se connecter à aucun serveur.
Et pourtant, à l'époque, je l'avais essayé et ça marchait impec (à l'époque de Razorback2). Ca donnait même un bon millier de réponses à chaque fois, alors que c'est bridé à 300 sur la mule. Est-ce que les serveurs d'aujourd'hui ont changé leur protocole désormais et rend ton programme incompatible ?
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
11 avril 2006 à 03:31
Salut,
voila quelques documents sur le p2p en general:
http://betouchi.free.fr/doc_et_ebook/prog_reseau/p2p/
Pour edonkey/emule, ce pdf est le plus complet que j'ai trouvé:
http://betouchi.free.fr/doc_et_ebook/prog_reseau/p2p/edonkey_protocol/emule_proto_spec.pdf
gdenans Messages postés 5 Date d'inscription mardi 8 novembre 2005 Statut Membre Dernière intervention 2 janvier 2007
7 avril 2006 à 18:47
salut à tous

bravo pour le code et courage pour la suite.
Comme je vois que tu connais bien le P2P, et donc tu dois avoir trouvé pas mal de documentation pour comprendre comment ça marche, est-ce que tu pourrais me donner des liens ou des documents qui m'aident à comprendre comment ça marche (je vais bien sûr étudier ton code au maximum mais des explications préliminaires seraient bienvenues pour commencer). Je dois faire une étude pour savoir si un projet de partage de fichiers avec transfert cripté par ssl ou IPSec est faisable et si ça vaut la peine de le faire. Aussi je me demande si le firewall ou router peut analiser le contenu des fichiers transferés par e-mule ou seulement deviner l'utilisation d'e-mule en voyant les ports utilisés. J'ai beaucoup de questions qui me turlupinent en fait.

merci d'avance...
zil
yanmart Messages postés 1 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 7 mars 2006
7 mars 2006 à 11:36
Salut ,
Le programme est trop bien...
Mais j'aimerais faire des tests sur le code source, Mais il m'est impossible de le compiler, Donc ça serait cool que tu explique comment tu l'as compiler.
J'ai essayer avec visual c++... mais ça marche pas

Merci d'avance......
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
30 déc. 2004 à 18:41
Salut,
merci pour le commentaire.
J'ai mis un peu plus de 2 mois pour le faire.

Ce prog est a la base un prog de recherche, donc il ne fait pas grand chose en fait: lecture du server.met, connexion au serveur, envoie/receptions de recherches.
Lorsqu'on trouve un fichier, on peut juste récuperer son lien ED2K.

Pour télécharger un fichier, il faudrait quasiment faire un client edonkey complet, car il faut gerer une liste de fichier partagés, une liste de source, gerer les sources(requetes, reponses, connexions, transfers). Il faudrait aussi recalculer les hash des parties des fichiers obtenus pour verifier leur validité.
Par principe, il faudrait ajouter toute la partie upload vers les clients, c'est a dire gerer la file d'attente, les requetes, les connexions, etc..

Ca sera ptet dans une prochaine source :)
cs_arno03 Messages postés 38 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 20 juin 2010
30 déc. 2004 à 17:21
c'est wawfull :D
cest bien fait, c'est pratique: j'ai qqfois besoin de chercher des fichiers sur edonkey mais sans avoir un client p2p come emule, shareaza etc...


maintenant si j'aurais une suggestion ca serait:
mettre un lien direct vers le fichier server.met, ton prog le téléchargerait et le placerait direct ds le bon repertoire.

et maintenant j'ai 2 questions:
combien tu as mis de temps pour faire tout ca ?
et est ce que, à partir de cette source, il est possible de télécharger les fichiers recherchés ?
je n'ai pas envie de refaire emule, c'est juste par curiosité ^^

voila bah bravo, et 10/10 pr moi
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
14 nov. 2004 à 00:23
Et Brunews sil a des kestions, il devrait hesiter lui ? Ca veut dire koi ? Ke je suis moins doué que lui ? pfff, nimporte koi...
LOL
Bon voila, ct le ptit delire de la nuit, je vais aller me coucher, mais j'en reviens tjrs pas, donc je voulais te re-féliciter aardman, bravo..

Bonne nuit a tous

++
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
13 nov. 2004 à 17:10
Salut,
merci pour les commentaires c'est sympa :)
AlexMAN > si tu as des questions n'hesite pas.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 nov. 2004 à 13:40
ABSOLUMENT SUPERBE !!!
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
13 nov. 2004 à 10:14
Fonctionne parfaitement chez moi, le resultat et le code sont vraiment impressionnants, j'ai beaucoup de choses a apprendre de toi. Vraiment excellent, bravo.

Bonne continuation !
Rejoignez-nous