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

Comment transformer votre Raspberry Pi en un mégalithe téléchargeant toujours / DIY

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

Téléchargement et ensemencement (vous produisez des semences, n'est-ce pas? Les bonnes personnes établissent un ratio d'au moins 2,0) C’est une tâche ardue pour tout ordinateur ordinaire, ce qui signifie que vous aspirez bien plus d’électricité que vous n’auriez dû le laisser la nuit. Et si vous pouviez décharger cette tâche sur un Raspberry Pi de faible puissance, suffisamment petit pour être rangé sous le plancher et à 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 un stockage USB et déplacez le lecteur système sur USB pour prolonger la durée de vie de notre carte SD..
  • Partagez cela sur le réseau.
  • Configurez un VPN de sorte que tout le trafic soit acheminé sur le VPN de manière sécurisée - et que tout s'arrête en cas d'échec de la connexion. Nous ne voulons pas que les FAI sachent quelle distribution Linux nous favorisons.
  • Installez un client torrent gérable à distance, Transmission.

Cela semble compliqué, n'est-ce pas? Pas plus de quelques centaines de commandes de terminal, je vous assure. Beaucoup de ces chevauchements avec notre NAS Raspberry Pi Transformez votre Raspberry Pi en une boîte NAS Transformez votre Raspberry Pi en une NAS Box Avez-vous un couple de disques durs externes traîner et un Raspberry Pi? Créez-y un périphérique de stockage en réseau bon marché et de faible puissance. Bien que le résultat final ne soit certainement pas… Lire la suite du didacticiel, donc si vous n'êtes pas intéressé par le côté torrent et VPN, vous voudrez peut-être jeter un coup d'œil à cela.

Stockage USB

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

sudo raspi-config

Modifiez la quantité de mémoire donnée sur les graphiques à 16 mégaoctets - nous allons l'exécuter complètement sans tête, vous n'avez donc pas besoin de mémoire graphique. Quittez et configurons des partitions sur le périphérique USB. Nous allons en configurer au moins deux: l'un à utiliser 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 clé USB.

tail / var / log / messages

Dans mon cas, il était facile d’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 les éléments existants, appuyez sur . Créer une nouvelle partition primaire, avec n, puis p. Quand il vous demande la taille, entrez +8G. Allez maintenant et créez une autre partition pour vos données torrent (encore une fois, primaire), ou plus si vous le souhaitez.. W va écrire la nouvelle carte de partition sur le lecteur 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 mont / 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 prolongera sa durée de vie en évitant les opérations de lecture / écriture constantes sur les caches, etc. Installez rsync pour faire ça:

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

Cela va initier une longue série de copies de fichiers, alors tournez vos doigts 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 = dernier délai rootwait rootdelay = 5 

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

sudo nano / etc / fstab 

Ajoutez les lignes suivantes:

Défauts / dev / sda1 / ext4, noatime 0 1 / dev / sda2 / mnt / torrents ext4 par défaut 0 2 

Mettez en commentaire la ligne suivante qui fait référence à la carte SD:

# / dev / mmcblk0p2 / ext4 par défaut, noatime 0 1 

Redémarrez le Pi avec

redémarrage sudo 

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

Partagez le disque: Samba

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

sudo apt-get mise à jour sudo apt-get dist-mise à niveau sudo apt-get supprimer wolfram-engine sudo apt-get installer samba-common-bin sudo nano /etc/samba/smb.conf 

Frappé CTRL-W et le type “Sécurité” pour trouver la ligne suivante, et ONUcommenter.

sécurité = utilisateur 

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

[torrents] comment = chemin de torrents = / mnt / torrents utilisateurs valides = @ utilisateurs groupe de force = utilisateurs créer masque = 0775 forcer créer le mode = 0775 masque de sécurité = 0775 forcer le mode = 0775 masque de répertoire = 2775 forcer le mode de répertoire = 2775 sécurité de répertoire mask = 2775 force le mode de sécurité du répertoire = 2775 navigable = oui enregistrable = oui invité ok = non en lecture seule = non 

Redémarrez le service Samba:

sudo service samba redémarrer 

Ensuite, nous devons ajouter un utilisateur au système. Remplacer “Jamie” avec votre nom d’utilisateur souhaité auquel vous vous connecterez 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 lecteur de données autrement (et voici un guide sur la propriété des fichiers sous Linux).

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

Test - vous devriez pouvoir vous connecter depuis un autre ordinateur de votre réseau et lire / écrire des fichiers sur le nouveau partage. Vérifiez qu'ils apparaissent aussi sur le Pi avec ls de l'intérieur / mnt / torrents dossier.

Configuration VPN

Installer les paquets requis

sudo apt-get installer openvpn resolvconf 

Téléchargez les fichiers de configuration OpenVPN auprès de votre fournisseur. Vous pouvez consulter une liste des meilleurs réseaux VPN ici, mais assurez-vous d'en trouver un qui soit convivial pour le torrent. J'utilise privacy.io moi-même, mais l'accès Internet privé est une autre option populaire dans les communautés torrent. Dans les deux cas, vous devriez pouvoir récupérer un fichier ZIP de configurations et un certificat. Placez-les dans votre dossier torrents, dans un répertoire appelé openvpn. Modifiez la commande suivante pour 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 

Si vous obtenez un résultat comme celui-ci, vous êtes bon. Frappé CTRL-C pour le terminer. C'est ennuyeux d'avoir à taper le mot de passe, cependant, et nous avons besoin de quelques modifications pour ajouter des scripts de démarrage et d'arrêt. Editez le fichier de configuration (remplacez à nouveau privacyIO.ovpn par le fichier .ovpn que votre fournisseur vous a fourni)

nano /mnt/torrents/openvpn/privacyIO.ovpn 

Modifier la ligne suivante en premier. Fondamentalement, nous disons que nous stockons 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 avoir de problème pour vous connecter cette fois-ci. 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 ultérieurement pour effectuer des tâches lorsque la connexion est établie avec succès ou s’arrête. Assurez-vous que vous êtes dans le mnt / torrents / openvpn répertoire, puis exécutez ce qui suit:

nano route-up.sh 

Ajoutez ce qui suit pour vous assurer que le trafic est envoyé sur 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 le démarrer depuis la ligne de commande comme nous venons de le faire..

nano vpn.sh 

Coller dans la commande de lancement VPN à partir d’avant. Si vous avez 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 disons simplement qu'il faut lancer ce script au démarrage.

/mnt/torrents/openvpn/vpn.sh 

Enfin, redémarrez votre système.

Connectez-vous à nouveau et exécutez ifconfig. Vous saurez que cela fonctionne si vous voyez une entrée pour tap0 (ou tun0), et sont capables de courber 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 belle interface graphique Web. Les commandes suivantes installent, puis arrêtent le démon (car nous devons d’abord le configurer), puis ouvrent le fichier de paramètres pour le modifier..

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

Changement “rpc-authentication-required” à faux; changement “liste blanche de rpc” 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": vrai, "umask": 2, 

Ensuite, éditez 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 = démon de transmission à USER = racine. Recharger le démon.

sudo service transmission-daemon reload 

Enfin, nous allons installer 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 - 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 changé en utilisant raspi-config), aller vers:

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

Tout d’abord, vérifiez que votre adresse IP torrent est bien dissimulée via le VPN. Téléchargez le fichier test torrent 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.

Nous avons déjà configuré Transmission pour surveiller ce dossier à la recherche de nouveaux torrents, il devrait donc être ajouté immédiatement. Allez-y et déposez-y quelques torrents juridiques de Linux.

Le torrent de contrôle IP devrait renvoyer une erreur, ainsi que l'adresse IP détectée. Assurez-vous que ce n’est pas votre adresse IP personnelle. Dans le cas contraire, 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é.

C'est tout! Vous disposez maintenant d'un Pi ultra-basse consommation, sécurisé et à téléchargement torrent, laissant votre poste de travail disponible pour de meilleures choses. Vous voudrez peut-être maintenant 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. Construisez votre propre stockage en nuage avec Raspberry Pi et BitTorrent Sync. Créez votre propre stockage en nuage avec Raspberry Pi et BitTorrent. Sync Ne croyez pas le battage publicitaire: le cloud est loin d'être sécurisé. Mais n'ayez crainte, vous pouvez désormais déployer votre propre plateforme de stockage dans le cloud privée, illimitée et sécurisée. Lire la suite . Quelles fonctionnalités allez-vous ajouter dans?

Explorer plus sur: BitTorrent, Raspberry Pi.