BitTorrent
Structure d'un fichier torrent
Les fichiers Torrent contenant les informations sur les données et la manière de les télécharger, sont encodés au format BEncoding.
Le fichier est décrit comme étant un Dictionary, contenant un ensemble de clés. Toutes les chaînes de caractères sont encodées au format UTF-8.
-
info correspond à un Dictionary décrivant le contenu des données à télécharger. Il peut y avoir 2 types de dictionnaires, un pour
décrire un torrent pour un fichier unique, un autre pour décrire l'ensemble des fichiers contenues
- Pour le mode un seul fichier, le Dictionary info aura la structure suivante :
-
- length: Taille du fichier en octet (Integer)
- md5sum: (optionnel) String de 32 caractères correspondant à la signature MD5 du fichier. Peut être utilisé pour vérifier l'intégrité des données récupérées.
- name: Nom du fichier (String)
- piece length: Taille de chacun des morceaux à télécharger (Integer)
- pieces: String contenant la concaténation de chaînes de 20 octets correspondant aux code de hashage SHA1 de chaque morceau (String)
- Pour le mode avec plusieurs fichiers, le Dictionary info aura la structure suivante :
-
- files: Liste de Dictionary décrivant chacun des fichiers (List)
- length: Taille du fichier en octet (Integer)
- md5sum: (optionnel) String de 32 caractères correspondant à la signature MD5 du fichier. Peut être utilisé pour vérifier l'intégrité des données récupérées.
- path: Chemin du fichier dans l'arborescence (String)
- name: Nom du répertoire racine (String)
- piece length: Taille de chacun des morceaux à télécharger (Integer)
- pieces: String contenant la concaténation de chaînes de 20 octets correspondant aux code de hashage SHA1 de chaque morceau (String)
- files: Liste de Dictionary décrivant chacun des fichiers (List)
- announce: L'URL du Tracker (String)
- announce-list: (optionnel) Liste des Trackers de sauvegarde (List)
- creation date: (optionnel) La date de création du fichier Torrent, au standard Unix (integer seconds since 1-Jan-1970 00:00:00 UTC)
- comment: (optionnel) Commentaire de l'auteur (String)
- created by: (optionnel) Nom et version du programme générateur du fichier Torrent (String)