Publicité

Faites votre part pour le «réseau de distribution Linux» mondial en construisant un mégalithe dédié, sécurisé et téléchargeable par 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 amorçage (vous semez, non? De bonnes personnes sement à au moins un rapport de 2,0) est une tâche ardue pour tout ordinateur ordinaire et signifie que vous consommez beaucoup plus d’électricité que vous ne devriez en le laissant pendant la nuit. Et si vous pouviez décharger cette tâche sur un Raspberry Pi de faible puissance, suffisamment petit pour être placé sous un plancher et briser à peine 10 W 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 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 tout s'arrête si cette connexion échoue. Nous ne voulons pas que le FAI sache quelle distribution Linux nous privilégions.
    instagram viewer
  • 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. Beaucoup de ces chevauchements avec notre NAS Raspberry Pi Transformez votre Raspberry Pi en boîtier NASAvez-vous quelques disques durs externes qui traînent et un Raspberry Pi? Faites-en un périphérique de stockage connecté bon marché et de faible puissance. Alors que le résultat final ne sera certainement pas aussi ... Lire la suite tutoriel, donc si vous n'êtes pas tellement intéressé par le torrent et le côté VPN, vous voudrez peut-être le vérifier à la place.

Stockage USB

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

sudo raspi-config

Modifiez la quantité de mémoire disponible sur les graphiques à 16 mégaoctets - nous exécuterons cette fonction complètement sans tête, vous n'avez donc pas besoin de mémoire graphique. Quittez et configurons certaines 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 les téléchargements à stocker. Déterminez d'abord quel lecteur est votre clé 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 le fdisk sur le périphérique approprié.

sudo fdisk / dev / sda

presse p pour répertorier les partitions actuelles. Pour supprimer les fichiers existants, appuyez sur . Créez une nouvelle partition principale, 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, principale), ou plusieurs partitions aussi 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 disques comme 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 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. Installer rsync pour faire ça:

sudo apt-get installe rsync. sudo rsync -axv / / mnt / systemdrive. 

Cela lancera une longue série de copie 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 ascenseur = date limite rootwait rootdelay = 5. 

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

sudo nano / etc / fstab. 

Ajoutez les lignes suivantes:

/ dev / sda1 / ext4 par défaut, 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 à la fois une partition de données racine et votre partition torrents

Partager The Drive: Samba

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

mise à jour sudo apt-get. sudo apt-get dist-upgrade. sudo apt-get supprimer 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 ONUcommentez-le.

sécurité = utilisateur. 

Ajoutez les éléments suivants pour définir notre dossier partagé torrents:

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

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 souhaité avec lequel 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 système et le suivant pour Samba. Modifiez les dernières commandes si vous avez appelé votre lecteur de données autre chose (et voici une introduction sur 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 à partir d'une autre machine sur 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 auprès de votre fournisseur. Vous pouvez consulter une liste des meilleurs VPN Les meilleurs services VPNNous avons compilé une liste de ce que nous considérons comme les meilleurs fournisseurs de services de réseau privé virtuel (VPN), regroupés par premium, gratuits et adaptés aux torrent. Lire la suite ici, mais assurez-vous d'en trouver un qui est compatible avec les torrent. j'utilise privacy.io moi, 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 pour qu'elle pointe vers votre fichier de configuration, qui sera très 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 une sortie comme celle-ci, vous êtes bon. Frappé CTRL-C pour y mettre fin. C'est ennuyeux de devoir taper le mot de passe cependant, 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 saisissez:

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 sur écoute 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 s'établit avec succès ou tombe en panne. Assurez-vous que vous êtes dans le mnt / torrents / openvpn répertoire, puis exécutez ce qui suit:

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 le 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 à nouveau votre système.

ifocnfig-check-vpn

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 boucler une page Web avec succès:

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 s'installent, puis arrêtent le démon - puisque nous devons d'abord le configurer - puis ouvrent le fichier de paramètres pour l'édition.

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:

"dir-download": "/ mnt / torrents", "dir-montre": "\ / mnt \ / torrents \ /", "activé-dir-watch": vrai, "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 à USER = root. Rechargez le démon.

sudo service transmission-daemon reload. 

Enfin, nous allons installer avahi-daemon pour configurer la mise en 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 la valeur par défaut (raspberrypi, mais peut être modifié à l'aide de raspi-config), aller vers:

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 torrent de test depuis 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.

check-torrent-ip

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

transmission-torrent-ip-check-results

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 adresse 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'à la fin du transfert. Vérifiez que c'est le cas dans votre dossier partagé.

lecteur partagé

C'est ça! Vous avez maintenant un Pi ultra-puissant, sécurisé et téléchargeable par torrent - laissant votre station de travail disponible pour de meilleures choses. Vous voudrez peut-être maintenant envisager d'ajouter un serveur UPnP pour diffuser des médias sur le réseau ou d'utiliser BitTorrent Sync pour créez votre propre stockage cloud Créez votre propre stockage cloud avec Raspberry Pi et BitTorrent SyncNe croyez pas le battage médiatique: le Cloud est loin d'être sécurisé. Mais n'ayez crainte, vous pouvez désormais déployer votre propre plateforme de stockage cloud privée, illimitée et sécurisée. Lire la suite . Quelles fonctionnalités allez-vous ajouter?

James est titulaire d'un BSc en intelligence artificielle et est certifié CompTIA A + et Network +. Il est le développeur principal de MakeUseOf et passe son temps libre à jouer au paintball VR et aux jeux de société. Il construit des PC depuis qu'il est enfant.