close button

Bienvenue sur ce site internet auto-hébergé. Il est conforme au règlement général européen sur la protection des données (RGPD). Aucun cookie de traçage, aucune bannière et aucune publicité ne sont présents. Son contenu est mis à disposition selon les termes de la licence Creative Commons BY-NC-SA. Toute utilisation à des fins commerciales est strictement interdite et toute reproduction ou partage, même partiel, doivent respecter ces termes. Pour en savoir plus...

Utiliser un Raspberry Pi pour télécharger des fichiers BitTorrent

Écrit par : fdgeek
14 minutes
Utiliser un Raspberry Pi pour télécharger des fichiers BitTorrent

On peut faire une multitude de choses avec une carte Raspberry Pi comme par exemple : une console de jeu rétro, un petit serveur web, une station météo familiale,  de la programmation, de la domotique....  Comme le matériel est robuste, l'encombrement minimal et la consommation électrique très faible, pourquoi alors ne pas pas s'en servir pour créer un petit serveur de téléchargements et de partage de fichiers ?

Je vais donc vous expliquer ci-dessous :

  1.    comment mettre en place un client de téléchargement BitTorrent,
  2.    comment piloter ses téléchargements à distance
  3.    comment déporter les fichiers téléchargés sur un support de stockage externe et comment les partager afin d'y accéder avec les autres machines de votre réseau.


Pour cela, nous allons utiliser le logiciel de téléchargement BitTorrent Open Source Transmission.

    Avant de rentrer dans le vif du sujet, il vous faut quelques pré-requis indispensables à savoir :

  •     Un Raspberry Pi avec une distribution Raspbian ou similaire installée dessus (Ex : Raspbian Lite)
  •     Une adresse IP fixe et l'accès SSH activé sur votre Raspberry Pi
  •     Un support de stockage externe connecté en USB (ex: Disque dur ou Clé USB)


Première étape :

Installer le client et le daemon transmission :

On ouvre donc une session SSH (ex: avec Putty) et on se connecte en Root sur le Rasberry Pi.
Et on commence d'abord par mettre à jour le système avec les commandes :

sudo apt-get update
sudo apt-get upgrade

Puis on installe le Daemon Transmission :

sudo apt-get install transmission-daemon

 

Deuxième étape :

On branche son disque USB sur le Raspberry Pi, on configure un point de montage automatique au démarrage du Raspberry Pi et on crée les répertoires qui seront utilisé par Transmission.

NB* : afin de faciliter le partage de fichiers et la compatibilité avec Windows, j'ai choisi le système de fichiers NTFS.

Il vous faudra donc formater votre support de stockage USB en NTFS,  un format propre aux systèmes Microsoft. (Profitez-en pour lui donner un nom évocateur ex: USBDisk). Comme c'est un format propriétaire, il faut installer un paquet spécifique pour que notre distribution Linux puisse écrire sur ce format :

Pour gérer l'écriture en NTFS, on installe le paquet ntfs-3g :

sudo apt-get install ntfs-3g

On branche notre support de stockage sur un port USB et on lance la détection des disques avec la commande :

sudo fdisk - l

Notre support externe apparaît normalement sous la forme : /dev/sda1
On crée donc un répertoire dédié qui servira de point de montage :

sudo mkdir /media/USBDisk


Il est ensuite possible de monter manuellement notre disque USB :

sudo mount -t ntfs-3g /dev/sda1 /media/USBDisk


Mais, il est préférable de configurer un montage automatique du support à chaque démarrage du Raspberry Pi. Pour cela, on édite avec Nano le fichier fstab :

sudo nano /etc/fstab


et on y ajoute la ligne suivante :

/dev/sda1 /media/usb ntfs-3g rw, auto 0 0


On enregistre

CTRL+O


et on quitte l'éditeur Nano

CTRL+X


Puis on redémarre le Raspberry Pi pour activer le montage automatique

sudo reboot

 

Pour terminer on crée sur notre support USB les répertoires dédiés à Transmission :

sudo mkdir /media/USBDisk/downloads
sudo mkdir /media/USBDisk/downloads/complete
sudo mkdir /media/USBDisk/downloads/incomplete


Troisième étape :

Nous allons maintenant paramétrer Transmission, notre client BitTorrent en déclarant certaines directives dans le fichier de configuration "settings.json" comme : le port d'écoute BiTorrent, l'accès distant à l’interface web, les préférences de cryptage, le login et le mot de passe de connexion.

Première chose, on arrête le service Transmission :

sudo /etc/init.d/transmission-daemon stop


Et on édite le fichier de configuration avec Nano :

sudo nano /etc/transmission-daemon/settings.json


Modification du fichier de configuration de Transmission :

{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false, # (peut être activé avec "true")
"blocklist-url": "http://www.example.com/blocklist", # (renseigner sa liste noire)
"cache-size-mb": 16, # (ajuster la mémoire cahe selon sa convenance ; ici : 16 Mo. (NB* : plus le cache est grand, plus on diminue les lectures/écritures sur le disque)
"dht-enabled": true,
"download-dir": "/media/USBDisk/downloads/complete", # (adapter selon son support USB)
"download-limit": 100,
"download-limit-enabled": 0,
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1, # (cryptage : 0=aucun, 1=si possible, 2=obligatoire)
"idle-seeding-limit": 2,
"idle-seeding-limit-enabled": true,
"incomplete-dir": "/media/USBDisk/downloads/incomplete", # (adapter selon son support USB)
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"max-peers-global": 200,
"message-level": 1,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 200,
"peer-limit-per-torrent": 50,
"peer-port": 51413, # (port Torrent à configurer dans votre Box, routeur ou pare-feu)
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": false,
"preallocation": 1,
"prefetch-enabled": true,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": true,
"rpc-password": "mot de passe", # (saisir son mot de passe en clair. Il sera crypté ("hashé") dès le redémarrage de Transmission)
"rpc-port": 9091, # (choisir le port de connexion à l'interface web de Transmission)
"rpc-url": "/transmission/",
"rpc-username": "Login", # (choisir son login)
"rpc-whitelist": "127.0.0.1,192.168.*.*", # (renseigner les adresses IP autorisées à accéder à l'interface web de Transmission)
"rpc-whitelist-enabled": false,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-limit": 100,
"upload-limit-enabled": 0,
"upload-slots-per-torrent": 14,
"utp-enabled": true
}


Enregistrement des modifications et redémarrage du service Transmission :

On enregistre nos paramètres

CTRL+O


On quitte l'éditeur Nano

CTRL+X



Et on relance Transmission

sudo /etc/init.d/transmission-daemon start



L'interface de TransmissionDésormais, vous pouvez accéder à l’interface web de Transmission à partir des machines aux adresses IP déclarées dans la section "rpc-whitelist" du fichier précédemment configuré.

Pour cela, vous avez juste besoin d'un navigateur internet.

Ainsi, vous pourrez facilement gérer vos téléchargements à distance (ex : à partir de votre Smartphone en sirotant une limonade au bord de la piscine). 8-)

L'adresse à renseigner est la suivante : http://IP_De_Votre_RaspberryPi:9091  (exemple : http://192.168.0.200:9091).

 
Quatrième et dernière étape :

Créer un partage de notre support de stockage USB avec Samba pour que l'on puisse accéder aux fichiers téléchargés à partir d'autres postes.
On installe donc samba avec les commandes suivantes :

sudo apt-get install samba samba-common-bin


Puis on édite le fichier de configuration de samba :

sudo nano /etc/samba/smb.conf


Dans le fichier de configuration de Samba, on rajoute tout à la fin les lignes suivantes :

[RASP_TORRENT_BOX] # (Nom de votre partage sur le réseau)
comment = Public Shares
path = /media/USBDisk/downloads # (chemin du dossier partagé sur votre support USB)
writeable = Yes 
only guest = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
public = yes


On enregistre les modifications et on relance le service Samba

CTRL+O


On quitte l'éditeur Nano

CTRL+X


Et on redémarre Samba

sudo /etc/init.d/smbd restart



Partage sur le réseauMaintenant, pour accéder à vos fichiers téléchargés, rien de plus simple, il vous suffit de parcourir le voisinage réseau de Windows pour faire apparaître votre répertoire partagé ou d'exécuter une recherche  sur l'adresse réseau : \\IP_ou_Nom_de_votre_Raspberry (ex: \\RASPBIAN\RASP_TORRENT_BOX).

Voilà, vous possédez maintenant une petite SeedBox économique que vous pouvez piloter à distance et qui, une fois les téléchargements lancés vous permettra de vaquer à d'autres occupations.

Pour finir, un petit mot pour préciser que même si le protocole BitTorrent est parfaitement légal, tous les téléchargements eux, ne le sont pas. Merci donc de rester dans la légalité et de respecter les droits des auteurs, chanteurs, cinéastes, programmeurs, créateurs et autres pour qui le téléchargement illégal est une vraie plaie.

Mentions légales