- Modifié
SeedBox et MediaCenter sur Raspberry
Bonjour/bonsoir
Objectif MediaCenter+Client Torrent (avec protection=VPN(IP d'un dédié) le tout sur une RPi 3.
Pourquoi? Car les seedbox aujourd'hui c'est 100Mbs et c'est ma connection donc pourquoi me faire chier a payer 10€ pour une seedbox alors que le VPS ou est installé mon VPN me couter moins de 2€.
On notera aussi que l'alimentation d'une Pi3 est de l'ordre de 5€ par an.
Merci aussi à @xavier pour le script pour openvpn/transmission et tout ces conseils, il y a encore quelques semaines je ne savais pas ce qu'était transmission
Bref commençons !
J'ai installé Raspbian sur ma Pi3 et activé le SSH.
Préparation du disque dur qui va accueillir mes fichiers
Brancher le disque à la RPi et le formaté en EXT4
On repère le disque: sudo fdisk -l
Le disque est repéré (exemple: /dev/sda2)
On créé sont format: sudo mkfs.ext4 /dev/sda2
Ensuite on créé le répertoire de montage: sudo mkdir /media/DDUSB
On monte le disque: sudo mount -t auto /dev/sda2 /media/DDUSB
On va créer un montage automatique au démarrage de de la RPi: sudo nano /etc/fstab
Et rajouter la ligne:
/dev/sda2 /media/DDUSB auto noatime 0 0
Pour sauvegarder le fichier « Ctrl + O », et pour le quitter « Ctrl + X »
Et un coup de chmod sur le Disk: sudo chmod -R 777 /media/DDUSB
Bon coté disque c’est prêt
Installation de Transmission
On maj la Pi et on installe transmission: sudo apt-get update && sudo apt-get install transmission-daemon
On stop transmission pour que la configuration soit prise: sudo service transmission-daemon stop
On ouvre le fichier de configuration:sudo nano /etc/transmission-daemon/settings.json
Remplacer
"download-dir": "/media/DDUSB",
"rpc-password": "psswdeJeanLouis",
"rpc-username": "JeanLouis",
"rpc-whitelist-enabled": false,
On relance Transmission: sudo service transmission-daemon start
On va sur une page web avec l'adresse: ip_raspberry:9091/transmission/web/
Voilà transmission c’est bon
Installation de PlexMediaServer
On maj la Pi: sudo apt-get update sudo apt-get upgrade
On installe le pack de transport HTTPS afin que nous puissions accéder aux paquetages HTTPS: sudo apt-get install apt-transport-https
Ensuite, nous devons ajouter une clé crypt2 pour le dépot dev2day: wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | sudo apt-key add -
On met à jour la liste des paquets: sudo apt-get update
Maintenant on installe le plex media serveur sur la Pi: sudo apt-get install -t jessie plexmediaserver
On change l’utilisateur par défaut de plex: sudo nano /etc/default/plexmediaserver
On change l’utilisateur par « pi » par défaut sur les RPi
PLEX_MEDIA_SERVER_USER=pi
On reboot la RPi: sudo reboot
Pour vous connecter dans le navigateur, entrez simplement l'adresse IP suivie du port 32400 et /web/
Par exemple: 192.168.0.21:32400/web/
Une page login/mdp s'affiche, connectez vous et commencez la configuration du server.
Voilà pour PlexMediaServer
Transmission et Plex sont installé sur la RPi et fonctionne parfaitement il faut maintenant protéger mon IP.
Installation d'OpenVPN et configuration
On MAJ et on install OpenVPN: sudo apt-get update && sudo apt-get install openvpn
Maintenant on va lui demander de se lancer automatiquement avec votre fichier client.
On dira que votre fichier client.ovpn est sur votre bureau.
Copier le fichier dans le bon dossier: sudo cp client.ovpn /etc/openvpn
Important qu’il soit dans ce répertoire sinon il ne se lancera pas au démarrage
On tester le fichier: cd /etc/openvpn && sudo openvpn client.ovpn
On regarde notre IP si c’est bien celle du VPN (Ouvrir un autre Terminal): wget -qO- ipv4.icanhazip.com
Renommer en .ovpn en .conf: sudo mv client.ovpn client.conf
Lancement automatique au boot (client étant le nom de mon fichier):sudo systemctl enable openvpn@client.service
On reboot: sudo reboot
Et on regarde notre si notre IP est bien celle du VPN: sudo wget -qO- ipv4.icanhazip.com
OpenVPN se lance bien au démarrage du Pi mais transmission aussi donc il faut le desactiver:
On désactive l'auto lancement du transmission:
sudo systemctl disable transmission-daemon.service
sudo update-rc.d -f transmission-daemon remove
Ensuite tu crées le fichier script.sh: sudo touch script.sh
On ouvre le fichier: nano script.sh
Et on colle le script ci dessous
#!/bin/sh
#while true cree une bloucle sans fin
while true
do
sleep 5
#ping ip du vpn serveur, si pas de reponse arret de transmission + restart du vpn
TRANS=$(pgrep transmission)
ping -q -c2 10.8.0.1 > /dev/null
if [ $? -ne 0 ] || [ -z "$TRANS" ]
then
/etc/init.d/transmission-daemon stop
/etc/init.d/openvpn restart
sleep 20
#si le ping revient alors restart de transmission
ping -q -c1 10.8.0.1 > /dev/null && /etc/init.d/transmission-daemon start
fi
done
Ensuite il faut rendre exécutable le script: sudo chmod 777 script.sh
Et on regarde en tapant:sudo ls -al
Si le fichier est bien -rwxrwxrwx
Maintenant pour lancer le script au démarrage on ouvre le fichier rc.local: nano /etc/rc.local
entre fi
et exit0
tu ajoute la ligne:
/home/pi/tondossier/script.sh &
Donc quand le VPN est OFF il coupe transmission et garde ça route au VPN, et relance transmission uniquement si il parvient a se connecter au VPN.
EDIT : Petite passe orthographique + mise en page (@xataz)