Installer et utiliser un client torrent

Le raspberry pi peut être utilisé comme plateforme de partage/téléchargement de fichiers torrent. Si vous êtes par exemple dans le cas d'un partage de gros fichiers professionnels que vous souhaitez partager en permanance, la technologie torrent est une très bonne solution et le raspberry pi est un très peu outil peu gourmand en énergie.

sudo aptitude install rtorrent

Ensuite créez le fichier de configuration .rtorrent.rc dans votre home

/home/olivier/.rtorrent.rc

# Fichier de configuration de rtorrent.
# Par défaut, c'est le fichier ~/.rtorrent.rc

# Limites des taux de téléchargement en réception et en envoi. "0" équivaut à aucune limite. 
#download_rate = 500
#upload_rate = 150

# Répertoire qui contient les fichiers téléchargés.
directory = ~/torrent/data

# Répertoire où rtorrent stocke l'état de téléchargement des torrents.
session = ~/torrent/session
# Utilisez un chemin //relatif// si vous êtes susceptible de lancer plusieurs
# instances de rtorrent ! Commentez la ligne précédente et décommentez celle-ci :
#session = ./session

# Ports utilisables par rtorrent (utilisez deux fois la même valeur pour utiliser tout le temps ce port)
port_range = 66666-66666
port_random = no

# Vérification des données à la fin du téléchargement
check_hash = yes

# Ce répertoire contient les fichiers .torrent. 
# Dès qu'un nouveau .torrent y est ajouté, le téléchargement commence.
schedule = watch_directory,15,15,load_start=~/torrent/torrent_active/*.torrent

# Dès que le téléchargement est achevé, le fichier est déplacé dans le
# répertoire ~/torrent_finis.
# Pour les versions récentes de rtorrent (0.8.4 et supérieures), utilisez la ligne suivante :
#system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,~/torrent_finis/;d.set_directory=~/torrent_finis/"
# Pour les versions 0.7.7 de 0.8.3, utilisez la ligne suivante :
#on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,~/torrent_finis/;d.set_directory=~/torrent_finis/"

# Activation de DHT pour les torrents sans trackers.
# Il est obligatoire de définir un répertoire de session (voir plus haut).
dht = auto

# Port UDP pour l'utilisation de DHT. 
dht_port = 33333

# Forcer l'utilisation de transactions chiffrées, pour ne recevoir et n'envoyer que des données protégées.
# En revanche, les identités du l'expéditeur et du destinataire restent visibles.
encryption = allow_incoming,require,require_rc4

Puis créons les dossiers que nous avons renseigné dans le fichier de configuration:

mkdir /home/olivier/torrent
mkdir /home/olivier/torrent/data
mkdir /home/olivier/torrent/session

Télécharger un torrent

Entrez la commande suivante pour accéder à l'interface rtorrent:

rtorrent

Nous allons maintenant télécharger un fichier. Pour cela appuyez sur la touche Entrée et indiquer le chemin d'un torrent.

load.normal> http://cdimage.debian.org/debian-cd/7.6.0/amd64/bt-dvd/debian-7.6.0-amd64-DVD-1.iso.torrent

Validez votre choix en appuyant une nouvelle fois sur Entrée. Vous devriez voir ceci:

[View: main]
   debian-7.6.0-amd64-DVD-1.iso
  [CLOSED]     0,0 / 3756,3 MB Rate:   0,0 /   0,0 KB Uploaded:     0,0 MB                 [   R: 0,00]
  Inactive:

Il vous faut maintenant activer le téléchargement. Pour cela sélectionnez le torrent avec les flèches directionnelles haut/bas de votre clavier. Trois étoiles indiquent le torrent sélectionné:

[View: main]
*  debian-7.6.0-amd64-DVD-1.iso
* [CLOSED]     0,0 / 3756,3 MB Rate:   0,0 /   0,0 KB Uploaded:     0,0 MB                 [   R: 0,00]
* Inactive:

Une fois sélectionné, vous pouvez commencer son téléchargement en appuyant simultanément sur les touches Ctrl + s

[View: main]
*  debian-7.6.0-amd64-DVD-1.iso
*             94,2 / 3756,3 MB Rate:   0,0 / 1695,7 KB Uploaded:     0,0 MB [ 2%]  0d  0:36 [   R: 0,00]
* 

Pour mettre un torrent en pause, sélectionnez le puis appuyez sur les touches Ctrl + d

Vous pouvez quitter le logiciel avec les touches Ctrl + q

Client torrent et VPN

Voici un méthode pour utiliser votre client torrent via votre VPN.

Tout d'abord nous allons créer un fichier vpn.sh dans notre dossier home:

/home/olivier/vpn.sh

#!/bin/sh

sudo sed -i '1inameserver 8.8.8.8' /etc/resolv.conf
sudo openvpn --config /etc/openvpn/Paris.ovpn --down /home/olivier/vpn_down.sh --route-up /home/olivier/vpn_route_up.sh

Ce fichier lance le vpn et des actions associées pour sa fermeture et son ouverture. Nous allons pouvoir ainsi dire que si le VPN est down de stopper tout téléchargement. Nous allons également nous assurer que toutes les connections se feront depuis l'interface tun0.

Action lorsque le VPN est actif:

/home/olivier/vpn_route_up.sh

#!/bin/sh

iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE

Action lorsque le VPN est down:

/home/olivier/vpn_down.sh

#!/bin/sh

iptables -t nat -D POSTROUTING -o tun0 -j MASQUERADE
sudo killall rtorrent

Rendons nos programmes exécutables:

cd /home/olivier
chmod +x vpn.sh 
chmod +x vpn_down.sh 
chmod +x vpn_route_up.sh 

Puis exécutons notre VPN en background:

./vpn.sh &

Et enfin notre client torrent:

rtorrent

Essayez de faire tomber votre VPN pour voir si le téléchargement s'arretera en meme temps.

Vérifier l'adresse IP partagée

Vous pouvez faire un tour sur le site suivant pour voir l'adresse IP que les autres utilisateurs verrons: torguard.net