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

Faites votre part pour le réseau de distribution Linux mondial en construisant un mégalithe dédié, sécurisé, de téléchargement de torrent qui utilise à peine 10W de puissance. Il sera, bien sûr, basé sur un Raspberry Pi.

Faites votre part pour le réseau de distribution Linux mondial en construisant un mégalithe dédié, sécurisé, de téléchargement de torrent qui utilise à peine 10W de puissance.  Il sera, bien sûr, basé sur un Raspberry Pi.
Publicité

Faites votre part pour le "réseau de distribution Linux" mondial en construisant un mégalithe dédié, sécurisé, téléchargeant des torrent qui utilise à peine 10W de puissance. C'est possible, et ce sera, bien sûr, basé sur un Raspberry Pi.

Le téléchargement et l'ensemencement (les semences de bonne qualité sont au moins à un ratio de 2, 0) est une tâche ardue pour tout ordinateur régulier, et signifie que vous aspirez beaucoup plus d'électricité que vous ne le devriez en étant obligé de le laisser pendant la nuit. Et si vous pouviez décharger cette tâche sur un Raspberry Pi à faible puissance, suffisamment petit pour être placé sous un plancher et casser à peine 10W de puissance pour tout faire. C'est exactement ce que je vais vous montrer comment faire aujourd'hui.

Voici le plan:

  • Configurez un Raspberry Pi avec du stockage USB et déplacez le lecteur système vers USB pour prolonger la durée de vie de la carte SD.
  • Partagez cela sur le réseau.
  • Configurez un VPN pour que tout le trafic soit routé sur le VPN, de manière sécurisée - et tout s'arrête si la connexion échoue. Nous ne voulons pas que les FAI sachent quelle distribution Linux nous privilégions.
  • Installez un client torrent maniable à distance, Transmission.

Cela semble compliqué, n'est-ce pas? Pas plus de quelques centaines de commandes Terminal, je vous assure. Beaucoup de ces chevauchements avec notre Raspberry Pi NAS Transformez votre Raspberry Pi dans une boîte NAS Tournez votre Raspberry Pi dans une boîte NAS Avez-vous un couple de disques durs externes qui traînent et un Raspberry Pi? Créez un périphérique de stockage connecté en réseau bon marché et à faible consommation. Bien que le résultat final ne sera certainement pas aussi ... En savoir plus, si vous n'êtes pas si intéressé par le côté torrenting et VPN des choses, vous voudrez peut-être vérifier cela à la place.

Stockage USB

Commencez avec une nouvelle installation de Raspian et connectez l'interface Ethernet, et branchez votre stockage USB (via un concentrateur USB alimenté, ou vous risquez d'être confronté à des erreurs plus tard), il n'a pas besoin d'être formaté pour le moment. Connectez-vous à distance avec la combinaison nom d'utilisateur / mot de passe pi / framboise par défaut, puis exécutez:

sudo raspi-config 

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

 tail /var/log/messages 

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

 sudo fdisk /dev/sda 

Appuyez sur p pour lister les partitions actuelles. Pour supprimer ceux qui existent déjà, appuyez sur d . Créez une nouvelle partition primaire, avec n, puis p . Quand il vous demande la taille, entrez + 8G . Maintenant allez-y et créez une autre partition pour vos données torrent (encore une fois, primaire), ou plus de partitions si vous le souhaitez. W écrira la nouvelle carte de partition sur le disque lorsque vous avez terminé.

Une fois la nouvelle table écrite, utilisez les commandes suivantes pour formater les lecteurs en tant que linux ext4 . Utilisez des commandes supplémentaires si vous avez partitionné votre lecteur 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 les partitions sont correctement montées. Ensuite, nous voulons copier les données de la carte SD sur le lecteur - cela va prolonger sa durée de vie en évitant les opérations constantes de lecture / écriture sur les caches, etc. Installez rsync pour cela:

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

Cela va lancer une longue série de copie de fichiers, alors tournez vos doigts pour un peu.

 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 de torrents

Partager The Drive: Samba

Assurez-vous que nous sommes mis à jour en premier, supprimez les paquets Wolfram Mathematica qui m'ont toujours causé des problèmes en faisant absolument n'importe quoi sur le Pi (quelque chose à voir avec math-kernel), puis installez les paquets 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 

Hit CTRL-W et tapez "sécurité" pour trouver la ligne suivante, et un comment.

 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. Remplacer "jamie" avec votre nom d'utilisateur souhaité avec lequel vous allez vous connecter pour accéder au dossier partagé. Les commandes suivantes vous demandent ensuite 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 disque de données quelque chose d'autre (et voici une introduction sur la propriété des fichiers dans 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 sur votre réseau, et lire / écrire des fichiers sur le nouveau partage. Vérifiez qu'ils apparaissent sur le Pi aussi avec ls dans le dossier / mnt / torrents .

Configuration VPN

Installez les paquets 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 qui soit compatible avec les torrent. J'utilise privacy.io moi-même, mais Private Internet Access est une autre option populaire dans les communautés torrent. De toute façon, vous devriez être capable de 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 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 

openvpn-connection-output

Si vous obtenez un résultat comme celui-ci, vous êtes bon. Appuyez sur CTRL-C pour le terminer. C'est ennuyeux d'avoir à entrer 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 (à nouveau, remplacez privacyIO.ovpn par le fichier .ovpn que votre fournisseur vous a donné)

 nano /mnt/torrents/openvpn/privacyIO.ovpn 

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

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

Enregistrer et tapez:

 nano /mnt/torrents/pass.txt 

Entrez votre nom d'utilisateur sur la première ligne, et mot de passe sur le prochain. Enregistrez et essayez de vous reconnecter:

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

Vous ne devriez pas être buggé 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 réussie ou tombe en panne. Assurez-vous que vous êtes dans le répertoire mnt / torrents / openvpn, puis exécutez les opérations suivantes:

 nano route-up.sh 

Ajoutez ce qui suit pour que le trafic soit 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 

Coller dans 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 la ligne de sortie 0 . Nous lui disons juste de démarrer ce script au démarrage.

 /mnt/torrents/openvpn/vpn.sh 

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

ifocnfig-check-vpn

Reconnectez-vous et exécutez ifconfig . Vous saurez que cela fonctionne si vous voyez une entrée pour tap0 (ou tun0), et êtes en mesure de couronner avec succès une page Web:

 curl //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 installent, puis arrête le démon - puisque nous devons d'abord le configurer - puis ouvre le fichier de paramètres pour l'éditer.

 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; changez "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 

Changez USER = le démon de transmission en USER = root . Rechargez le démon.

 sudo service transmission-daemon reload 

Enfin, nous installerons avahi-daemon 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 raspberrypi.local adresse.

 sudo apt-get install avahi-daemon 

En supposant que votre nom d'hôte est la valeur par défaut (raspberrypi, mais peut être modifié à l'aide de raspi-config), accédez à:

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

Tout d'abord, vérifiez que votre IP torrent est correctement déguisée via le VPN. Téléchargez le fichier de 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é de torrents.

vérifier-torrent-ip

Nous avons déjà configuré la transmission pour regarder ce dossier pour de nouveaux torrents, ainsi il devrait être ajouté immédiatement. Allez-y et déposez quelques torrents légaux de distribution Linux là aussi.

transmission-torrent-ip-check-résultats

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

lecteur partagé

C'est tout! Vous disposez maintenant d'un Pi très puissant, sécurisé et téléchargeable en torrent, laissant votre poste de travail disponible pour de meilleures choses. Vous pouvez maintenant envisager d'ajouter un serveur UPnP pour diffuser du contenu multimédia sur le réseau ou utiliser BitTorrent Sync pour créer votre propre stockage en nuage Créez votre propre stockage cloud avec Raspberry Pi et BitTorrent Sync Créez votre propre stockage cloud avec Raspberry Pi et BitTorrent Sync Ne croyez pas le battage publicitaire: le Cloud est loin d'être sécurisé. Mais n'ayez pas peur - vous pouvez maintenant déployer votre propre plate-forme de stockage en nuage privée, illimitée et sécurisée. Lire la suite . Quelles fonctionnalités allez-vous ajouter?

In this article