Article écrit par le lecteur Geoffrey ENJOLRAS
Salut à tous !
Je me disais bien que vous étiez de braves, fiers et courageux noobs ! Afin d’étancher votre soif d’aventures et de prises de tête, nous allons transformer notre “Naspberry” en Seedbox !
On est obligé d’en passer par là : je vous fais partager mon savoir ancestral… Par contre, nous ne sommes pas responsables de ce que vous ferez avec celui-ci. Je ne vous incite pas, je vous déconseille même d’en faire quelque chose d’illégal !
Ça c’est fait, passons aux choses sérieuses….
Holaaaaa !!! Doucement hein ! Explique-nous d’abord ce que c’est qu’une SeedBox et pourquoi elle a besoin d’être sécurisée ? Allez, magne !
Demandé si gentiment…
Une SeedBox est une sorte de NAS qui va être capable de télécharger des torrents (automatiquement ou non) mais surtout, de les partager jour et nuit ! Pour cela, nous allons utiliser comme client torrent : Transmission.
Seulement voilà… Vous n’avez peut-être pas envie que vos téléchargements soient visibles et associés à votre IP.
Nous allons passer par un VPN (Virtual Private Network). Ça fait peur, hein ?
Nous utiliserons OpenVPN (je vous expliquerai tout ça plus bas).
Voilà ce qu’il se passe quand vous téléchargez sans VPN :
“Big Brother” voit que vous téléchargez le torrent “Mes vacances”.
Mais avec un VPN :
Big Brother s’alcoolise et voit double…
BB voit que vous vous connectez à un serveur en données cryptées (BB ne sait pas ce que vous y faites).
BB voit que le serveur télécharge “Mes vacances”.
En résumé, le serveur peut télécharger car le téléchargement (P2P) est autorisé dans le pays où il se situe. Chez vous, on ne sait pas ce que vous faites. Vous êtes donc peinard !
Recommence pas à nous tenir la jambe 3h… Pour le NAS, tu nous as fait banquer, faut qu’on débourse combien pour ton truc ? Il nous faut quoi ?
Pas de panique ! Le matériel, vous l’avez déjà !
Ce tuto, ce sera surtout du téléchargement de logiciels, et de la configuration compliquée !
- Il vous faudra donc avoir suivi le tuto : “Créer un nas avec le Raspberry Pi” (de préférence, mais on peut le faire sans en modifier les dossiers),
- Des fichiers de configuration pour votre VPN.
A ce sujet, pour ma part, j’utilise les services de Freedom-IP. Déjà, atout non négligeable, ils sont gratuits !
Pourquoi eux ? Ils vous offrent des serveurs localisés aux Pays-Bas (ce que nous voulons pour ce tuto). Pour déposer un candidature d’inscription, c’est “ici“.
Bien sûr, vous pouvez suivre ce tuto avec n’importe quels autres fichiers de configuration venant d’ailleurs. Pour ceux qui aurait du mal à obtenir un compte sur freedom-ip, voici une petite liste des VPN gratuits du net. (rien ne vous empêche d’en prendre un payant aussi ;) )
Propagande, quand tu nous tiens… Bon alors, comment on installe Transmission ?
Alors déjà, pour pouvoir utiliser Transmission, il faut ?? Je vous le donne Émile : Transmission !
sudo apt-get update && sudo apt-get install transmission-daemon
Nous allons, au passage, créer un dossier pour stocker les torrents en cours de téléchargement :
sudo mkdir /media/USBHDD1/SERVEURIX2000/Torrents
sudo chmod -R 777 /media/USBHDD1/SERVEURIX2000/Torrents
Rentrons dans le vif du sujet ! Nous allons paramétrer Transmission :
sudo service transmission-daemon stop
sudo nano /etc/transmission-daemon/settings.json
Vous devriez avoir un fichier qui ressemble à ça :
Voilà ce qu’il faut modifier dedans (la première ligne est l’originale, vous devez la modifier pour obtenir la même que la deuxième):
"download-dir": "/var/lib/transmission-daemon/downloads",
"download-dir": "/media/USBHDD1/SERVEURIX2000/Music",
"incomplete-dir": "/root/Downloads",
"incomplete-dir": "/media/USBHDD1/SERVEURIX2000/Torrents",
"incomplete-dir-enabled": false,
"incomplete-dir-enabled": true,
"rpc-password": "{d6363549906260841491d21e030db8e83e997b7dNb00ZBQE",
"rpc-password": "psswdeJeanLouis",
"rpc-username": "transmission",
"rpc-username": "JeanLouis",
"rpc-whitelist-enabled": true,
"rpc-whitelist-enabled": false,
Qu’est-ce qu’on vient de faire ?
-
“download-dir”: “/media/USBHDD1/SERVEURIX2000/Music”, signifie que nous allons stocker les torrents terminés dans “Music” (vous pouvez créer un autre dossier pour y mettre où vous voulez),
-
“incomplete-dir”: “/media/USBHDD1/SERVEURIX2000/Torrents”,
“incomplete-dir-enabled”: true, signifie que les torrents en cours seront stockés dans “Torrents”
-
“rpc-password”: “psswdeJeanLouis”,
“rpc-username”: “JeanLouis”, sont votre identifiant et votre mot de passe pour Transmission (Log: JeanLouis, Mdp: psswdeJeanLouis),
-
“rpc-whitelist-enabled”: false, vous autorise à vous connecter à Transmission avec n’importe quelle IP (on désactive le filtrage IP en fait, ça évite de se casser la tête à savoir quelle est l’IP de tous les ordis que l’on veut utiliser).
On relance Transmission:
sudo service transmission-daemon start
Maintenant, ouvrez votre navigateur web préféré et tapez:
addresse.ip.locale.de.votre.nas:9091
Une fenêtre va poper, vous demandant votre login et votre mdp que vous venez de rentrer plus haut. J’entre “JeanLouis”, mdp “psswdeJeanLouis” et tadaaaaaa !! L’interface web de Transmission apparaît comme par magie devant vos yeux !
C’est beau hein ! Mais questions sécurité et vie privée (Big Brother), on est moyen. Ce serait utilisable en l’état, mais je préfère vous faire sécuriser cette seedbox
Oui oui, on a compris pour la sécurité. Explique-nous comment faire fonctionner tout ça avec OpenVPN.
Pour installer et configurer OpenVPN, rien de plus simple :
sudo apt-get install openvpn
Avec un autre PC, téléchargez vos fichiers de configuration Freedom-IP et placez-les dans le dossier “Public” du NAS (autant s’en servir ). Normalement, c’est un fichier zip au nom explicite de “freedomip_full.zip”. On va le dézipper :
sudo unzip /media/USBHDD1/SERVEURIX2000/Public/freedomip_full.zip -d /etc/openvpn/freedomip
Et virer tous les fichiers qui ne nous serviront pas :
cd /etc/openvpn/freedomip/
sudo rm FR* openvpn-2.3.2-install-freedom-ip.exe UK* DE* ES* README
On va maintenant en choisir un des trois pour OpenVPN (prenons le 3). Comme le soft n’aime pas trop les parenthèses, on va en profiter pour renommer le fichier :
sudo mv NL3-\(Pays-Bas\).ovpn NL3.ovpn
On va le modifier un poil :
sudo nano /etc/openvpn/freedomip/NL3.ovpn
On vire ces deux lignes :
route-method exe
route-delay 2
Et on ajoute pass.txt à celle “auth-user-pass” :
auth-user-pass pass.txt
On sauvegarde et crée un fichier pass.txt. Sur la première ligne, on met le login que l’on a sur Freedom-IP, et sur la deuxième, le mot de passe :
sudo nano /etc/openvpn/freedomip/pass.txt
Et dans le fichier :
fip_06v7H***********
*********mdp*********
Cette petite manip permet de garder les identifiants en mémoire. Pas besoin de les entrer à chaque fois !
Maintenant, nous allons mettre en place le lancement d’OpenVPN dès la mise sous tension :
On va créer un script qui lance OpenVPN dès le démarrage de Wheezy :
sudo touch /etc/init.d/startSB.sh
sudo chmod +x /etc/init.d/startSB.sh
sudo nano /etc/init.d/startSB.sh
Copiez le script suivant à l’intérieur du fichier :
#!/bin/sh
cd /etc/openvpn/freedomip/
sudo openvpn --config NL3.ovpn --script-security 2
On sauvegarde, et on rend tout ça amorçable au reboot :
sudo update-rc.d startSB.sh defaults
Petit test !
A ce moment-là, si vous faites un :
curl ifconfig.me/ip
Vous allez voir apparaitre votre IP :
Maintenant, redémarrez votre Pi :
sudo reboot -f
Et refaites-le, vous allez voir sans grande surprise que vous possédez une adresse IP des Pays-Bas :
Merci pour la complexité du truc ! Mais comment être sûr que Transmission s’arrête si le VPN se déconnecte ?
Vous êtes devenus de vrais PGM !!!!
Effectivement ! Si le VPN se déconnecte, Transmission va utiliser votre IP pour les torrents…
Tout d’abord, contrairement à OpenVPN, on va empêcher Transmission de démarrer tout seul :
sudo update-rc.d -f transmission-daemon remove
Maintenant, nous allons créer un template du fichier de configuration de Transmission. Il nous servira à mettre à jour l’adresse IPV4 du VPN (la seule adresse à travers laquelle Transmission peut et doit passer) :
sudo cp /etc/transmission-daemon/settings.json /etc/transmission-daemon/settings_template.json
sudo nano /etc/transmission-daemon/settings_template.json
Et changez cette ligne :
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv4": "IP_ADDRESS",
Maintenant, nous allons créer un petit script, qui va nous permettre de remplacer la variable IP_ADDRESS, par l’adresse IP du VPN. Comme ça, on sera sûr que Transmission n’utilise que cette IP :
sudo touch /etc/openvpn/up.sh
sudo chmod +x /etc/openvpn/up.sh
sudo nano /etc/openvpn/up.sh
Faites un copier/coller de ce script dans le fichier :
#!/bin/sh
/etc/init.d/transmission-daemon stop
sed s/IP_ADDRESS/$4/ /etc/transmission-daemon/settings_template.json > /etc/transmission-daemon/settings.json
/etc/init.d/transmission-daemon start
Et maintenant, il ne nous reste plus qu’à lancer ce script une fois qu’OpenVPN a démarré.
Il suffit de rajouter “–up /etc/openvpn/up.sh” à notre script “startSB.sh” :
sudo nano /etc/init.d/startSB.sh
Et on complète le script :
#!/bin/sh
cd /etc/openvpn/freedomip/
sudo openvpn --config NL3.ovpn --script-security 2 --up /etc/openvpn/up.sh
Et voilà, vous pouvez utiliser sereinement Transmission !
Essaye pas de nous enfler ! C’est bien beau tout ça, mais comment vérifier que ta protection fonctionne bien ?
Vous ne me faites même pas confiance ? Ralala, les tartes qui se perdent !
Bon allez, comme ce tuto est long et un peu compliqué à suivre, je vais vous montrer comment utiliser Check my Torrent IP (petit utilitaire en ligne qui permet de vérifier avec quelle IP on partage ou télécharge un torrent). Mais après, je me casse parce que je commence à en avoir marre d’écrire !
Allez sur Check my Torrent IP et cliquez sur “Generate Tracking Torrent”. Sauvegardez le fichier.
Allez ensuite sur l’interface de transmission. Faites “Ouvrir”, sélectionnez le fichier de Check my Torrent IP, uploadez-le. Il devrait apparaître dans vos téléchargements en cours
(au passage, c’est comme cela que l’on fait pour télécharger n’importe quel torrent).
Revenez sur Check my Torrent IP et cliquez sur “Refresh”. On peut voir que vous téléchargez avec une adresse IP des Pays-Bas (même si leur base de données foire et la trouve au UK…). Vous pouvez constater qu’elle est bien différente de la vôtre (celle du navigateur).
Voilà, rassuré ?!
Je suis conscient que ce tuto est casse coui… pieds !
Mais il faut en passer par là pour avoir un truc qui tient à peu près la route. Puis comme dit l’un de mes profs d’électronique : “Bon allez, si on veut que ça fonctionne, va falloir se sortir le bras du fondement rapidement !”
Le prochain tuto sera certainement plus simple et plus court ! (améliorer l’interface de Transmission à la µTorrent, téléchargement automatique via RSS, script de reconnexion automatique au VPN etc… Je suis pas encore très sûr de ce que je mettrai dedans ;))
Sur ce, je vous laisse, j’ai aquaponey !