# Todo ## peer discovery ## handshake # 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 ## fonctionnalités application ## 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 : rechercher les fichiers d'un pair telechargement des fichiers choisir un dossier à partager choisir le nombre de canaux handshake server DOING se deconnecter du réseau DOING ## autre socket ipv6 # FAIT - choisir un pseudo OK - get rsquest to the uri /peers/ OK - generation of the cryptographic key OK - put request to the uri (check if the peer is already connected) 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 - udp handshakes OK - handshake structure OK - s'enregistrer avec le serveur OK - generer une clé publique OK - verifier signature OK - 2 channels -> un pour envoyer et un pour recevoir OK