Files
p2p/todo.md
Tiago Batista Cardoso 82cc134626 thing
2026-01-11 22:00:10 +01:00

1.3 KiB

Todo

peer discovery

  • get rsquest to the uri /peers/

registration with the server

  • generation of the cryptographic key OK
  • put request to the uri (check if the peer is already connected) OK
  • udp handshakes OK
  • get request to the uri /peers/key to get the public key of a peer OK
  • get request to the uri /peers/key/addresses OK

handshake

  • handshake structure OK
  • 5min timeout after handshake
  • matain connection every 4 min

data transfer

  • request structure
  • root/root reply structure
  • datum/nodatum and datum structures
  • nattraversal 1 and 2 structures
  • setting in gui to act as a relay
  • chunk, directory, big, bigdirectory structures

nat traversal

  • make hello and helloreply messages set the first extension bit to announce that peer is available for nat traversal
  • implement actual nat traversal requests
  • implement nat traversal :
    • if hello/helloreply doesnt work with a peer, find a peer that supports nat traversal (server in priority) then begin protocol

fonctionnalités :

s'enregistrer avec le serveur OK rechercher un pair generer une clé publique OK rechercher les fichiers d'un pair telechargement des fichiers choisir un dossier à partager se deconnecter du réseau

2 channels -> un pour envoyer et un pour recevoir OK