Test de fonctionnement des nœuds du réseau

Bonjour à tous,

Suite à divers échange avec @elois j’ai développé un petit script python qui check les end points des nœuds du réseau. dispo ici : github

Les tests sont fais sur tous les nœuds connus. Le script essaye de récupérer la listes des end points ws2p depuis un end point BMA ou BMAS du nœud.
De temps en temps le script renvoi une erreur ‹ Received message 8:1000 is not str › je ne sais pas ce que c’est, ça fonctionne quand je test manuellement je n’ai donc pas ajouté les end points dans ce cas.

Voici les premiers résultats, il y a peut-être des erreurs, n’hésitez pas à me remonter les infos :

  • @cgeek : [cgeek] Cédric Moreau - 2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ
    WS2P e3f8af5f 82.65.206.220 20900: Cannot connect to host 82.65.206.220:20900 ssl:default [Le système distant a refusé la connexion réseau] : WS2P e3f8af5f 82.65.206.220 20900

  • unknown - 74RBUM4VkhZU4PLJcf8ok9snKjXTX6aP52PdGcCM1meA
    BMAS monit.g1.nordstrom.duniter.org 443 /bma: unable to retrieved WS2P endpoint:
    BASIC_MERKLED_API 127.0.0.1 80: unable to retrieved WS2P endpoint: Cannot connect to host 127.0.0.1:80 ssl:default [Le système distant a refusé la connexion réseau]

  • @ThomasBourdon : Bourdon, Thomas - Abpio1ZPLuuULtu9JadJ5SeuwkP9puEVYJVADhK3f1yE
    BASIC_MERKLED_API g1.halpanet.org 10900: unable to retrieved WS2P endpoint:

  • @Moul : Moul - GfKERHnJTYzKhKUma5h1uWhetbA8yHKymhVH2raf2aCP
    BASIC_MERKLED_API 127.0.0.1 10901: unable to retrieved WS2P endpoint: Cannot connect to host 127.0.0.1:10901 ssl:default [Le système distant a refusé la connexion réseau]
    WS2P 4eabaa9c nuc.moul.re 10900: Cannot connect to host nuc.moul.re:10900 ssl:default [Le système distant a refusé la connexion réseau] : WS2P 4eabaa9c nuc.moul.re 10900

  • @shepeng : Donnadieu, Jean-Luc - BDv28pi7c1GCbfZqcdEdXuMwubTjswepR1mAZW7YS9vt
    WS2P 7f777906 82.64.191.57 20900: Cannot connect to host 82.64.191.57:20900 ssl:default [Le système distant a refusé la connexion réseau] : WS2P 7f777906 82.64.191.57 20900

  • @gerard94 : gerard94 - CRBxCJrTA6tmHsgt9cQh9SHcCc8w8q95YTp38CPHx2Uk
    BASIC_MERKLED_API 81.57.152.178 57586: unable to retrieved WS2P endpoint:

  • @jytou : Toumit Jean-Yves - FEkbc4BfJukSWnCU6Hed6dgwwTuPFTVdgz5LpL4iHr9J
    BASIC_MERKLED_API g1a.jytou.fr 9002: unable to retrieved WS2P endpoint, value error: status code != 200 => 400
    → répond en ssl sur le port BMA

  • @solian : Solian Jim - AZ8pZx2QJ6YExVdKL5mPs6DaAZWBNPQBueytVFGZAWSZ
    BASIC_MERKLED_API oniromorphe.eu 88.122.148.74 2a01:e0a:4a5:1280:81b0:567b:342a:1fe0 64222: unable to retrieved WS2P endpoint:

  • @Tchois : Tchois Même - 4agK3ycEQNahuRGoFJDXA2aQGt4iV2YSMPKcoMeR6ZfA
    BASIC_MERKLED_API 88.161.154.188 78.197.143.10 2a01:e0a:866:af30:4957:ccf8:d5e9:4755 20900: unable to retrieved WS2P endpoint:

  • Vincent EJXX8E - EJXX8EgTfVVxV3T9EXfizS4Jkexn9o689gmX8yEfDAeQ
    BASIC_MERKLED_API 192.168.0.14 20900: unable to retrieved WS2P endpoint:

  • troubadour - 8UXZWg5YZ3FJvPYvKQTMy2Je7qcGymGojXhotY86r2m4
    BASIC_MERKLED_API duniter.dethegeek.eu.org 192.168.3.12 10901: unable to retrieved WS2P endpoint:

Globalement, pas mal de nœuds qui ne répondent pas/plus et souvent des problèmes de config (ip locale, ssl)

Je peux essayer d’aider si certains on besoin.

5 J'aime

C’est un nœud miroir de notre infra (le nœud g1-monit), et il répond bien :

https://monit.g1.nordstrom.duniter.org/bma/network/peers

Soit tu a eu un aléa réseau soit ton script python comporte des bugs :wink:

Les bugs ne sont pas exclus. Mais j’ai testé manuellement tout ce que j’ai mis ici pour éviter les blagues.

Je suis certain d’avoir testé car j’ai été surpris par le path /bma. J’étais au boulot donc ça exclu les blagues de mon réseau. Et je viens de tester en 4G j’ai un timeout en cliquant directement sur ton lien.

Il expose aussi bma sur du localhost a priori. Mais je ne peux vérifier la.

Je suis également en 4G et je n’ai jamais constaté de problème sur ce endpoint malgré mes nombreuses tentatives :

De plus, je suis certain qu’il est bien configuré, car c’est un nœud de notre infra !

Je regarde ça quand je rentre, ça marche :+1:

Je suis au courant pour ces points d’accès. Je les utilise en local, et Duniter les rajoute et les partage après que je les ai supprimés. Je vois pas ce que je peux faire de plus que de partager des points d’accès non accessibles sur Internet. Duniter pourrait proposer de ne pas partager les points d’accès locaux.

Concernant ton script Python, ça serait intéressant à intégrer à Silkaj.

Il répond bien chez moi, mais en 4G chez Bouygues il veux toujours pas, bizarre

Et sinon le nœud expose bien BMA en localhost sur le port 80. @Moul à l’air d’avoir le même besoin.

La je crois que t’es marron, les endpoints liés à la configuration direct sont automatiquement partagés et tu ne peux pas les enlever.

Je te rejoins, il faut garder la possibilité de pouvoir binder sur des ips privés et du localhost, mais il faudrait pouvoir choisir de l’annoncer ou pas.

Je vais regarder ça à l’occasion, mais il faut changer la logique du coup, à la base c’était pour tester les end points ws2p donc je ne test pas tous les autres. Et aussi intégrer GVA tant qu’on y est.

Je verrai bien aussi la possibilité de tester les end points spécifiques d’un seul nœud.

Super !
Est-ce que tu génères une liste de nœuds en demandant tt les nœuds connu d’une liste bootstrap ?
Est-ce que tu itères cette requête à plusieurs pas dans le réseau ? Combien ?
Est-ce que tu utilises GVA pour ça ?

Tu pourras nous partager l’ensemble de tes résultats une fois ce fameux test fini ?

Je ne sais pas si c’est toi qui avait utilisé DuniterPy pour tes premiers tests. Mais voilà un outil intéressant pour le toolkit DuniterPy. Qui pourra ensuite être intégré profiter à Silkaj et Tikka et d’autres clients python (Jaklis ?).

1 J'aime

Je récupère la vue réseau du nœud spécifié dans la config puis j’itère sur chaque nœud connu.
Pour chaque nœud connu, j’itère sur chaque BMA ou BMAS jusqu’à ce que j’arrive à récupérer le end point WS2P. Et la je test de me connecter + handshake.
(C’est quoi une liste bootstrap, je ne connais que le framework web de ce nom)

Je me suis basé sur les exemples de duniterpy ne connaissant pas du tout la lib.

Non, je ne rentre pas en profondeur dans le réseau. J’utilise juste la vue du nœud de base configuré

Non, mais du coup il faudrait pour être complet.

Tout est plus ou moins dans le premier post, tu voudrais quoi exactement ?

Non, c’est ma première utilisation de DuniterPy.
C’est effectivement plus judicieux d’intégrer la fonctionnalité dans DuniterPy au moins ca profite à tout le monde.

3 J'aime

C’est juste ce que tu fais, les noeuds « bootstrap » c’est la liste de noeud de départ sur laquelle tu te bases :slight_smile:

Ce n’est pas pour être complet, mais plutot pour être à jour, GVA remplace BMA, donc ça permet de tester GVA par la même occasion.

Elois va faire un poste prochainement pour demander a ce que plus de monde lance un noeud GVA, lorsque la v1.9 de Duniter sera gelé et testé, très bientôt :slight_smile:
Il faudrait entre 10 et 15 noeud GVA pour commencer à s’amuser.

1 J'aime

Oui en effet ma box a rendu l’âme, je l’ai changée.