Configuration des endpoints en SSL pour Duniter

J’ai réussi à configurer une plateforme nginx + certbot + duniter, tout en docker, et installé par Ansible, pour avoir les connexions sécurisées.

Cela fonctionne, la preuve :

Par contre, je ne sais pas comment faire pour que les endpoints expriment le fait qu’ils soient exposés en SSL.

Avoir BMAS au lieu de BASIC_ANGELA_MERCKLE_API, et peut-être faut-il prévenir WS2P non ?

2 J'aimes
4 J'aimes

J’ai mis à jour ma fiche de pair avec les bons endpoints.

BMAS vit.fdn.org 10900
WS2P 5e2dfbd5 vit.fdn.org 443 g1

Mais elle conserve encore les anciens obsolètes.

BASIC_MERKLED_API vit.fdn.org 192.168.1.105 10900
WS2P c4df202c 80.67.176.219 20900|

Impossible de les retirer avec :

duniter config --remep "BASIC_MERKLED_API vit.fdn.org 192.168.1.105 10900"

Y a t-il un moyen de s’en débarrasser ?

A noté pour info que WS2P nécessite obligatoirement le port 443 pour savoir qu’il doit se connecter en SSL.
A vous de vous débrouiller avec nginx et vos autres applications pour que le endpoint WS2P contienne le port 443. Cette contrainte devrait sauter le jour où le protocole sera revu.

1 J'aime

Pour connaître tes endpoints du point de vue d’un autre nœud :

curl -s https://g1.duniter.org/network/peers  | grep -C 8 "7F6oyFQywURCACWZZGtG97Girh9EL1kg2WBwftEZxDoJ"
    },
    {
      "version": 10,
      "currency": "g1",
      "status": "UP",
      "first_down": null,
      "last_try": null,
      "pubkey": "7F6oyFQywURCACWZZGtG97Girh9EL1kg2WBwftEZxDoJ",
      "block": "376373-000000102F0675D6E1A96CB33B1127A716B3E840D87C742686FA05AA07E7B5D4",
      "signature": "GeyGa+xdohIvRMmKT2WpOIsl0/HM0UWz0qb7txwRnb5UAH6aJ8zh2YJoEcU4ZIjkKybPpBZrgywTYxJq36XlAw==",
      "endpoints": [
        "BASIC_MERKLED_API vit.fdn.org 11900",
        "WS2P 5e2dfbd5 vit.fdn.org 21900",
        "WS2P c4df202c 80.67.176.219 20900"
      ]

C’est l’endpoint de base, je crois pas qu’il soit possible de l’enlever.
En désactivant BMA il ne sera plus présent de la fiche de pair, mais y aura plus de BMAS.
La fonctionnalité d’ajout et de retrait des enpoints c’est pour des choses qui ne sont pas de base (BMA et WS2P), par exemple CS+/ES_* ou autre.

Je n’arrive pas à curl tes endpoints BMA(S).

2 J'aimes

Pour la g1, il faut que je refasse une synchro, je suis largué, donc c’est normal je pense que les peers ne soient pas propagés.

Mais cela devrait être bon pour g1-test.

Pour les liens BMAS que j’ai mis dans le post, évidemment il fonctionne en interne chez moi et les ports sont ouvert sur la box. Je ne sais pas pourquoi ils ne fonctionnent pas depuis internet…

Je ne trouve pas de serveur en ligne pour faire des requêtes depuis internet et être sûr de ma config.

Tu peux utiliser le Tor Browser pour ça.

2 J'aimes

Juste pour titiller, si vous êtes amené à manipuler du json en bash, pour avoir précisément ce bloc quelque soit sa taille vous pouvez aussi utiliser jq:

curl -s https://g1.duniter.org/network/peers  | jq '.peers[] | select(.pubkey == "7F6oyFQywURCACWZZGtG97Girh9EL1kg2WBwftEZxDoJ")'

(jq me manque en python, snif)

1 J'aime

Tu as https://pypi.org/project/jq/, un binding sur jq, mais il est préférable d’utiliser une bibliothèque pure python, comme jsonpath-ng :

Have fun !

2 J'aimes

Pour WS2P il ne faut pas générer le endpoint à la main. Il faut utiliser les options remote-host et remote-port, c’est indiqué dans la doc : https://git.duniter.org/nodes/typescript/duniter/-/blob/dev/doc/use/configure.md#configure-a-ws2p-endpoint

Pour BMA c’est pareil, pas besoin de générer le endpoint à la main contrairement à ce que @Moul t’a indiqué, il te suffit de setter le remote-port sur 443 !

@vit en gros il faut virer tes endpoint manuel et configurer Duniter pour qu’il fasse ce que tu veux :wink:

1 J'aime

Tu veux dire qu’avec "remote-port": 443, ça enlève BASIC_MERKLED_API et ajoute BMAS à la fiche de pair ?

2 J'aimes

oui c’est ça

J’ai testé et ça fonctionne bien, BMA n’est plus pour duniter.moul.re :

curl https://duniter.moul.re/network/peering
{
  "version": 10,
  "currency": "g1",
  "endpoints": [
    "BASIC_MERKLED_API nuc.moul.re 85.127.21.74 10901",
    "WS2P 4eabaa9c nuc.moul.re 10900",
    "BMAS duniter.moul.re 443",
    "WS2P 871d6889 duniter.moul.re 443",
    "WS2P 2ed4fa74 duniter.moul.re 443"
  ],

Changement apporté au paquet YunoHost de Duniter.

1 J'aime