Comment transformer votre Raspberry Pi en un mégalithe de téléchargement permanent

Comment transformer votre Raspberry Pi en un mégalithe de téléchargement permanent

Faites votre part pour le « réseau de distribution Linux » mondial en créant un mégalithe dédié, sécurisé et de téléchargement torrent qui utilise à peine 10 W de puissance. C'est possible, et il sera bien entendu basé sur un Raspberry Pi.





Téléchargement et amorçage (vous faites des semences, n'est-ce pas ? Les bonnes personnes sèment au moins un ratio de 2,0) est une tâche ardue pour n'importe quel ordinateur ordinaire, et signifie que vous aspirez beaucoup plus d'électricité que vous ne devriez l'être en le laissant allumé toute la nuit. Et si vous pouviez décharger cette tâche sur un Raspberry Pi de faible puissance, assez petit pour être rangé sous un plancher et à peine brisant 10 W de puissance pour tout faire. C'est exactement ce que je vais vous montrer comment faire aujourd'hui.





Voici le planning :





  • Configurez un Raspberry Pi avec un stockage USB et déplacez le lecteur système vers USB pour prolonger la durée de vie de notre carte SD.
  • Partagez cela sur le réseau.
  • Configurez un VPN pour que tout le trafic soit acheminé via le VPN, en toute sécurité - et que tout s'arrête si cette connexion échoue. Nous ne voulons pas que le FAI sache quelle distribution Linux nous préférons.
  • Installez un client torrent gérable à distance, Transmission.

Cela semble compliqué, n'est-ce pas? Pas plus de quelques centaines de commandes Terminal, je vous assure. Une grande partie de ces chevauchements avec notre NAS Raspberry Pi tutoriel, donc si vous n'êtes pas si intéressé par le torrent et le côté VPN, vous voudrez peut-être vérifier cela à la place.

Stockage USB

Commencez par une nouvelle installation de Raspian et connectez l'interface Ethernet, puis branchez votre stockage USB (via un concentrateur USB alimenté, sinon vous rencontrerez probablement des erreurs plus tard comme je l'ai fait) - il n'a pas encore besoin d'être formaté. Connectez-vous à distance avec la combinaison nom d'utilisateur et mot de passe pi/raspberry par défaut, puis exécutez :



sudo raspi-config

Modifiez la quantité de mémoire allouée aux graphiques à 16 mégaoctets - nous l'exécuterons complètement sans tête, vous n'avez donc pas besoin de mémoire graphique. Quittez et configurons quelques partitions sur l'USB. Nous allons en configurer au moins deux - un à utiliser pour le système afin de préserver la durée de vie de notre carte SD, et l'autre pour stocker les téléchargements. Déterminez d'abord quel lecteur est votre clé USB.

tail /var/log/messages

Dans mon cas, il était facile de s'identifier comme « sda ». Dans cet esprit, ajustez la commande suivante pour entrer le fdisk utilitaire sur le périphérique approprié.





sudo fdisk /dev/sda

presse p pour lister les partitions actuelles. Pour supprimer ceux qui existent déjà, appuyez sur . Créez une nouvelle partition principale, avec m , alors p . Lorsqu'il vous demande la taille, entrez + 8G . Maintenant, allez-y et créez une autre partition pour vos données torrent (encore une fois, principale), ou plusieurs partitions si vous le souhaitez. DANS écrira la nouvelle carte de partition sur le lecteur lorsque vous aurez terminé.

comment empêcher mon téléphone de surchauffer

Une fois la nouvelle table écrite, utilisez les commandes suivantes pour formater les disques comme linux ext4 . Utilisez des commandes supplémentaires si vous avez partitionné votre disque avec plus de deux partitions.





sudo mkfs.ext4 /dev/sda1
sudo mkfs.ext4 /dev/sda2
sudo mkdir /mnt/systemdrive
sudo mkdir /mnt/torrents
sudo mount /dev/sda1 /mnt/systemdrive
sudo mount /dev/sda2 /mnt/torrents
df -h

La dernière commande confirmera que vous avez correctement monté les partitions. Ensuite, nous voulons copier les données de la carte SD sur le lecteur - cela prolongera sa durée de vie en évitant les opérations de lecture/écriture constantes dans les caches, etc. rsync pour faire ça:

sudo apt-get install rsync
sudo rsync -axv / /mnt/systemdrive

Cela lancera une longue série de copies de fichiers, alors tournez un peu vos doigts.

sudo cp /boot/cmdline.txt /boot/cmdline.orig
sudo nano /boot/cmdline.txt

Ajustez ceci pour lire :

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait rootdelay=5

Ensuite, modifiez fstab pour les monter au démarrage.

sudo nano /etc/fstab

Ajoutez les lignes suivantes :

/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 /mnt/torrents ext4 defaults 0 2

Commentez la ligne suivante qui fait référence à la carte SD :

#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1

Redémarrez le Pi avec

sudo reboot

Trié ! Votre Pi va maintenant monter à la fois une partition de données racine et votre partition torrents

Partagez le lecteur : Samba

Assurez-vous d'abord que nous sommes mis à jour, supprimez les packages Wolfram Mathematica qui m'ont toujours causé des problèmes lorsque je fais absolument n'importe quoi sur le Pi (quelque chose à voir avec math-kernel), puis installez les packages requis

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get remove wolfram-engine
sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

Frappé CTRL-W et tapez 'security' pour trouver la ligne suivante, et une le commenter.

security = user

Ajoutez ce qui suit pour définir notre dossier partagé torrents :

[torrents]
comment = torrents
path = /mnt/torrents
valid users = @users
force group = users
create mask = 0775
force create mode = 0775
security mask = 0775
force security mode = 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
browseable = yes
writeable = yes
guest ok = no
read only = no

Redémarrez le service Samba :

sudo service samba restart

Ensuite, nous devons ajouter un utilisateur au système. Remplacez 'jamie' par le nom d'utilisateur de votre choix avec lequel vous vous connecterez pour accéder au dossier partagé. Les commandes suivantes vous demandent alors de créer vos mots de passe, le premier au niveau du système et le suivant pour Samba. Modifiez les dernières commandes si vous avez appelé votre lecteur de données autrement (et voici une introduction sur propriété de fichier sous Linux ).

sudo useradd jamie -m -G users
sudo passwd jamie
sudo smbpasswd -a jamie
sudo chown pi:users /mnt/torrents
chmod g+w /mnt/torrents

Test - vous devriez pouvoir vous connecter à partir d'une autre machine de votre réseau et lire/écrire des fichiers sur le nouveau partage. Vérifiez qu'ils apparaissent également sur le Pi avec ls de l'intérieur du / mnt / torrents dossier.

Configuration VPN

Installez les packages requis

sudo apt-get install openvpn resolvconf

Téléchargez les fichiers de configuration OpenVPN de votre fournisseur. Vous pouvez consulter la liste des meilleurs VPN ici, mais assurez-vous d'en trouver un compatible avec les torrents. j'utilise privacy.io moi-même, mais Accès Internet Privé est une autre option populaire au sein des communautés torrent. Dans tous les cas, vous devriez pouvoir récupérer un fichier ZIP de configurations et un certificat. Mettez-les dans votre dossier torrents, dans un répertoire appelé openvpn . Modifiez la commande suivante afin qu'elle pointe vers votre fichier de configuration, qui sera presque certainement différent de privacyIO.ovpn

sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2

Si vous obtenez une sortie comme celle-ci, vous êtes bon. Frappé CTRL-C pour y mettre fin. C'est ennuyeux d'avoir à taper le mot de passe, et nous avons besoin de quelques modifications pour ajouter des scripts de démarrage et d'arrêt. Modifiez le fichier de configuration (encore une fois, remplacez privacyIO.ovpn par le fichier .ovpn que votre fournisseur vous a fourni)

nano /mnt/torrents/openvpn/privacyIO.ovpn

Modifiez d'abord la ligne suivante. Fondamentalement, nous disons que nous allons stocker le nom d'utilisateur et le mot de passe dans un fichier appelé pass.txt

auth-user-pass /mnt/torrents/openvpn/pass.txt

Enregistrez et tapez :

nano /mnt/torrents/pass.txt

Entrez votre nom d'utilisateur sur la première ligne et votre mot de passe sur la suivante. Enregistrez et essayez à nouveau de vous connecter :

sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2

Vous ne devriez pas être dérangé pour vous connecter cette fois. Yay! Ensuite, ouvrez à nouveau le fichier de configuration et ajoutez les lignes suivantes :

route-up /mnt/torrents/openvpn/route-up.sh
down-pre
down /mnt/torrents/openvpn/down.sh

Cela spécifie certains scripts que nous allons créer plus tard pour effectuer des tâches lorsque la connexion est établie avec succès ou tombe en panne. Assurez-vous que vous êtes dans le mnt/torrents/openvpn répertoire, puis exécutez la commande suivante :

nano route-up.sh

Ajoutez les éléments suivants qui garantissent que le trafic est envoyé via le VPN :

#!/bin/sh
iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE

Ensuite, créez le script down.sh

nano down.sh

Ajouter:

#!/bin/sh
iptables -t nat -D POSTROUTING -o tun0 -j MASQUERADE

Enfin, nous voulons qu'un script ouvre la connexion, au lieu de la démarrer à partir de la ligne de commande comme nous venons de le faire.

nano vpn.sh

Collez la commande de lancement VPN d'avant. Au cas où vous auriez oublié :

sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2

Maintenant, rendez tous ces scripts exécutables et lancez le script VPN au démarrage.

chmod +x down.sh
chmod +x route-up.sh
chmod +x vpn.sh
sudo nano /etc/rc.local

Ajoutez la ligne suivante avant le sortie 0 ligne. Nous lui disons simplement de démarrer ce script au démarrage.

/mnt/torrents/openvpn/vpn.sh

Enfin, redémarrez votre système à nouveau.

Connectez-vous à nouveau et exécutez ifconfig . Vous saurez que cela fonctionne si vous voyez une entrée pour appuyez sur 0 (ou tun0) , et sont capables de boucler une page Web avec succès :

curl https://www.makeuseof.com

Le client torrent

Presque là maintenant. Enfin, nous allons installer Transmission, qui est léger et possède une interface graphique Web agréable. Les commandes suivantes s'installent, puis arrêtent le démon - puisque nous devons d'abord le configurer - puis ouvrent le fichier de paramètres pour le modifier.

sudo apt-get install transmission-daemon
sudo /etc/init.d/transmission-daemon stop
sudo nano /etc/transmission-daemon/settings.json

Remplacez 'rpc-authentication-required' par false ; modifiez 'rpc-whitelist' pour inclure votre sous-réseau local - par exemple :

'rpc-whitelist': '127.0.0.1,10.0.1.*',

Ajoutez ou ajustez les éléments suivants s'ils sont déjà présents :

'download-dir': '/mnt/torrents',
'watch-dir': '/mnt/torrents/',
'watch-dir-enabled': true,
'umask': 2,

Ensuite, modifiez le fichier de démarrage du démon lui-même pour résoudre certains problèmes d'autorisation.

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

Changer la USER=transmission-daemon à UTILISATEUR=racine . Rechargez le démon.

sudo service transmission-daemon reload

Enfin, nous allons installer avahi-démon pour configurer le réseau bonjour/zeroconf, ce qui signifie que nous n'aurons pas besoin d'utiliser l'adresse IP du Pi pour y accéder à partir d'un navigateur - à la place, nous pourrons utiliser le raspberrypi.local adresse.

sudo apt-get install avahi-daemon

En supposant que votre nom d'hôte est le nom par défaut (raspberrypi, mais peut être modifié en utilisant raspi-config) , aller vers:

http://raspberrypi.local:9091/transmission/web/

Tout d'abord, vérifiez que votre IP torrent est correctement masquée via le VPN. Téléchargez le fichier torrent de test à partir de TorGuard - le graphique de téléchargement ressemble à une publicité, mais ce n'est pas le cas - et déposez-le dans le dossier partagé torrents.

Nous avons déjà configuré Transmission pour surveiller ce dossier pour les nouveaux torrents, il doit donc être ajouté immédiatement. Allez-y et déposez également des torrents de distribution Linux légaux.

Le torrent de vérification IP devrait renvoyer une erreur, ainsi que l'adresse IP qu'il a détectée. Assurez-vous que ce n'est pas votre IP domestique - si c'est le cas, le VPN n'a pas été correctement configuré. Par défaut, tous les torrents que vous déposez dans le dossier seront renommés en .added, et un fichier .part doit être créé jusqu'à ce que le transfert soit terminé. Vérifiez que c'est le cas dans votre dossier partagé.

C'est ça! Vous disposez maintenant d'un Pi très faible consommation, sécurisé et téléchargeant des torrents - laissant votre poste de travail disponible pour de meilleures choses. Vous pouvez maintenant envisager d'ajouter un serveur UPnP pour diffuser des médias sur le réseau ou d'utiliser BitTorrent Sync pour créer votre propre stockage en nuage . Quelles fonctionnalités allez-vous ajouter ?

Partager Partager Tweeter E-mail Les 8 meilleurs sites Web pour télécharger des livres audio gratuitement

Les livres audio sont une excellente source de divertissement et beaucoup plus faciles à digérer. Voici les huit meilleurs sites Web où vous pouvez les télécharger gratuitement.

Lire la suite
Rubriques connexes
  • DIY
  • BitTorrent
  • Tarte aux framboises
A propos de l'auteur James Bruce(707 articles publiés)

James a un BSc en Intelligence Artificielle et est certifié CompTIA A+ et Network+. Lorsqu'il n'est pas occupé en tant qu'éditeur de revues de matériel, il aime les jeux LEGO, la réalité virtuelle et les jeux de société. Avant de rejoindre MakeUseOf, il était technicien en éclairage, professeur d'anglais et ingénieur en centre de données.

Plus de James Bruce

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner
Catégorie Diy