Ceci est la traduction du howto inclus dans la distribution officielle de BitTorrent.
Il suppose que vous disposez déja de BitTorrent sur votre machine.
L'auteur original est Bram, qui peut être contacté sur le canal #bittorrent sur irc.freenode.net.Comme vous allez le constater, la mise en place d'un fichier sur ce réseau n'est pas très aisée, et cela implique que vous disposiez d'une connexion permanente a IP fixe, et sachiez utiliser un serveur web...pas mal de prérequis donc...
1) Créer un tracker
Tout d'abord, il vous faut un tracker. Si votre IP est dynamique ou que votre connexion n'est pas permanente, vous devrez utiliser le tracker mis en place par quelqu'un d'autre. Sinon, ce paragraphe vous concerne effectivement.
Les trackers informent les personnes qui téléchargent des emplacement des copies des fichiers. La charge des trackers est très faible, un seul suffira pour tous vos fichiers.
Pour mettre en place un tracker, lancez la commande bttrack.py. Par exemple
./bttrack.py --port 6969 --dfile dstate
dfile est le fichier ou sont stockées les informations. Cela permet de rendre le tracker pleinement opérationnel de suite, après un redémarrage.Un nouveau fichier sera crée s'il n'existe pas.
Vous devez impérativement connaître le dns et l'adresse IP de votre tracker.
Le tracker renvoie ses logs vers la sortie standard, donc a priori la console.
2) Créez un fichier meta avec btmakemetafile.py
Pour générer un fichier meta, lancez btmakemetafile, en indiquant le fichier a diffuser et les caractéristiques du tracker
./btmakemetafile.py mon fichier.ext
http://mon.tracker :6969/announce
Ceci créera le fichier fichier.ext.torrent
Assurez vous d'inclure le port du tracker s'il n'est pas égal à 80
Cette commande peut prendre un certain temps a aboutir, en fonction de la taille du fichier : celui-ci est en effet hashé.
Le chemin /announce est hard-codé dans le tracker
Vous pouvez utiliser un dns ou une adresse IP dans l'url du tracker.
3) Associez .torrent avec application/x-bittorrent sur votre serveur web
Cela dépend du type de serveur web que vous utilisez.
4) Placez le tout nouveau fichier .torrent sur votre serveur
5) Créez une page web statique avec un lien vers le fichier que vous avez crée au point 4.
6) Lancez un téléchargement de votre propre fichier. Ainsi, ceux qui débuteront un téléchargement sauront où trouver la source. Exemple :
./btdownloadheadless.py --url
http://mon.serveur/mon fichier.torrent --saveas monfichier.ext
Assurez vous que l'option saveas pointe bien vers votre fichier complet.
Si vous effectuez cette opération sur la machine qui sert de tracker, ajoutez l'option --ip et au choix l'adresse IP ou le DNS.
Le port par défaut de BitTorrent est le 6881. Si 6881 est occupé, il essaiera 6882, puis 6883, etc. Et abandonnera à 6889.
7) Voilà, vous avez fini !
Maintenant, il vous faudra diffuser l'info, et attendre que les premiers utilisateurs viennent télécharger votre fichier.
BitTorrent peut même diffuser tout un répertoire - pointez btmakemetafile.py vers le répertoire à publier, et elle seront diffusées d'un seul bloc. Tous les sous-répertoires seront inclus, à l'exception de ceux nommés 'CVS' et 'core'.
Voilà ! Et pour faire taire les mauvaises langues, BitTorrent est utilisé pour la diffusion de distributions linux entières : si ça c'est pas une usage honorable et super-GNU du P2P