🔗 Relais public

← Accueil

Qu'est-ce qu'un relais ?

Le relais est l'Ă©quivalent d'un DNS pour Spider. Il fait le pont entre les noms lisibles (adnimi.sp) et les nƓuds rĂ©els (IP, nodeId).

Relais actuel

https://sp.adnimi.com

Il permet Ă  n'importe quel site Spider d'ĂȘtre accessible depuis n'importe quel navigateur (Chrome, Firefox, Safari...).


Comment ça marche

  1. Tu enregistres ton nom : POST /api/register
  2. Un visiteur tape https://monnom.sp.adnimi.com/ dans Chrome
  3. Nginx reçoit la requĂȘte, la passe au relais
  4. Le relais cherche "monnom" dans son annuaire
  5. Il contacte ton nƓud via HRPT
  6. Il convertit le HRL en HTML
  7. Le visiteur voit ta page comme n'importe quel site web

Enregistrer son nom

Tu dois ĂȘtre joignable depuis Internet. Trois cas :

Cas 1 — Tu as un VPS

curl -X POST https://sp.adnimi.com/api/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "monnom",
    "nodeId": "'$(uslink nodeId)'",
    "host": "1.2.3.4",
    "port": 7777
  }'

Cas 2 — Tu es sur le mĂȘme rĂ©seau que le relais

curl -X POST https://sp.adnimi.com/api/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "monnom",
    "nodeId": "'$(uslink nodeId)'",
    "host": "127.0.0.1",
    "port": 7777
  }'

Cas 3 — Tu es derriùre un NAT

Utilise un tunnel :

cloudflared tunnel --url http://localhost:7777
# → te donne une URL comme xxxx.trycloudflare.com
# puis enregistre cette URL comme host

API du relais

RouteMéthodeDescription
/api/listGETListe des noms enregistrés
/api/lookup?name=XGETChercher un nom
/api/registerPOSTEnregistrer un nom
/api/unregister?name=X&nodeId=YDELETERetirer un nom
/api/healthGETÉtat du relais

Le futur : fédération

Pour rendre Spider vraiment universel, plusieurs relais seront fédérés. Chacun connaßtra les noms des autres. Résultat :

Le protocole de fédération est en cours de conception.