p2p-go-app
est une application de transfert de fichiers peer-to-peer (P2P) écrite en Go. Elle permet aux utilisateurs de partager et de télécharger des fichiers en divisant les fichiers en parties et en les stockant sur différents pairs. L'application utilise un serveur pour gérer l'enregistrement des pairs et la requête des parties de fichiers.
- Enregistrement des pairs auprès d'un serveur.
- Téléchargement de parties de fichiers à partir de pairs.
- Division de fichiers en parties pour un partage efficace.
- Combinaison de parties de fichiers en un fichier complet.
- Mise à jour des parties de fichiers sur le serveur.
- Go (version 1.16 ou supérieure)
- Une connexion Internet pour obtenir l'adresse IP publique.
-
Clonez le dépôt :
git clone https://github.com/Esscraye/p2p-go-app.git cd p2p-go-app
-
Installez les dépendances :
go mod tidy
-
Créez un fichier
.env
à la racine du projet pour définir le chemin du fichier journal :LOG_FILE_PATH=logs/app.log
Pour démarrer le serveur, exécutez la commande suivante :
go run main.go 8080
Pour démarrer un pair, exécutez la commande suivante dans un autre terminal :
go run main.go <port>
Remplacez <port>
par le port que vous souhaitez utiliser (doit être entre 1024 et 65535 et différent de 8080).
Une fois le pair démarré, vous pouvez entrer un numéro de commande pour effectuer l'une des actions suivantes :
- Obtenir la liste des pairs.
- Télécharger une partie de fichier.
- Télécharger un fichier complet.
- Mettre à jour les parties de fichiers sur le serveur.
- Interroger les parties de fichiers.
- Quitter l'application.
- Diviser un fichier en parties.
- Combiner des parties de fichiers en un fichier complet.
-
Pour diviser un fichier en parties :
go run main.go <port>
Sélectionnez l'option 7 et entrez le chemin du fichier à diviser.
-
Pour combiner des parties de fichiers : Sélectionnez l'option 8 et entrez le nom du fichier et le chemin de sortie.