74 lines
1.7 KiB
Markdown
74 lines
1.7 KiB
Markdown
# 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
|