30 06 | 2011

Un nouveau générateur de métainfo BitTorrent

Written by Tanguy

Classified in : Homepage, Auto-hébergement, Debian-FR, Libre, April

Essai de la DHT BitTorrent

Il y a un mois, constatant qu'il manquait un bon logiciel traqueur BitTorrent (bon signifiant « remplissant mes critères arbitraires »), j'envisageai d'écrire un nouveau traqueur. Quelqu'un me fit alors remarquer que je pouvais essayer d'utiliser la table de hachage dynamique ou DHT, une extension BitTorrent qui permet de se passer d'un traqueur, en se reposant sur l'ensemble des clients BitTorrent pour effectuer le travail de traque.

De fait, la DHT pourrait bien être une solution élégante à ce problème, parce qu'elle présente plusieurs avantages :

  • elle repose sur les clients BitTorrent eux-mêmes, qui sont bien plus répandus que les traqueurs, et par conséquent plus développés ;
  • cette fonctionnalité semble être assez bien adoptée par les logiciels clients BitTorrent usuels ;
  • elle existe déjà et semble fonctionner plutôt bien !

J'étais donc parti pour essayer la distribution de torrents sans traqueur en utilisant la DHT. Mais avec BitTorrent, la distribution d'un fichier est amorcée en utilisant des fichiers métainfo, communément appelés « fichiers torrent » ou simplement « torrents » : j'avais donc besoin d'un outil pour générer des fichiers métainfo sans traqueur.

Écriture d'un nouveau générateur de métainfo

Je n'ai pas trouvé de tel outil. Les générateurs que j'ai trouvé n'implémentent pas cette extension et sont codés en C de façon assez complexe, ce dans quoi je ne souhaitais vraiment pas me lancer afin de les compléter. Voici donc gentorrent, un générateur de métainfo BitTorrent écrit en Python 3 et distribué sous licence AGPLv3, ce qui s'est avéré plutôt simple.

Je pense qu'il est assez rapide : il lui faut environ dix secondes pour calculer la métainfo pour un fichier d'un gibioctet. Il implémente toutes les extensions BitTorrent relatives aux fichiers métainfo, comme les torrents sans traqueur, la mise à disposition par HTTP/FTP ou les arbres de Merkle. N'hésitez pas à l'essayer et à m'envoyer des remarques, des critiques ou des suggestion de noms plus sympa.

Maintenant que j'ai un outil pour générer des torrents sans traqueur, je vais essayer la DHT de façon plus extensive et documenter cette façon de publier des fichiers. Si vous êtes intéressé par ce sujet, par exemple si vous maintenez un système de distribution basé sur l'antique BitTornado, restez en ligne.

4 comments

thursday 30 june 2011 à 07:50 Axone said : #1

Ton article a attiré ma curiosité. J'ai hâte de savoir la suite.

thursday 30 june 2011 à 09:39 o mann said : #2

On parle souvent de l'évolution vers les tables de hachages dynamques pour se passer de tracker mais comment peut on télécharger si on débute dans l'utilisation d'un client (aucun pair répertorié, on ne connait personnes) ?
Le logiciel est intéressant car en effet il y a peu de solutions à ce sujet.

thursday 30 june 2011 à 09:56 Tanguy said : #3

@mann : Pour BitTorrent, les fichiers métainfo sans traqueur doivent comporter une liste de clients « fiables » qui permettent alors d'amorcer la connexion à la DHT.

En revanche il existe un mode de distribution qui nécessite une connexion préexistante à la DHT, ce sont les liens magnet.

saturday 02 july 2011 à 19:16 mumbly said : #4

Salut,
Je suis le créateur/webmaster de http://www.freetorrent.fr (tracker bittorrent pour médias sous licence libre).
je suis tout particulièrement intéressé par ce projet car le site est dans une phase de réflexion quant à son avenir "technique". Je vais essayer Gentorrent ...

Write a comment

What is the second letter of the word rppxrg? : 

Archives