Cómo convertir tu Raspberry Pi en una descarga constante de Megalith

Haga su parte para la red global de distribución de Linux construyendo un megalito dedicado, seguro y de descarga de torrents que apenas usa 10W de potencia. Por supuesto, se basará en una Raspberry Pi.

Haga su parte para la red global de distribución de Linux construyendo un megalito dedicado, seguro y de descarga de torrents que apenas usa 10W de potencia.  Por supuesto, se basará en una Raspberry Pi.
Anuncio

Haga su parte para la "red de distribución de Linux" global mediante la construcción de un megalito de descargas de torrents dedicado y seguro que apenas usa 10W de potencia. Es posible, y, por supuesto, se basará en una Raspberry Pi.

Descargar y sembrar (sembrar, ¿verdad? Las personas buenas sembrar al menos con una proporción de 2, 0) es una tarea ardua para cualquier computadora común, y significa que está absorbiendo mucha más electricidad de la que debería tener al dejarla encendida durante la noche. ¿Qué pasaría si pudieras descargar esa tarea a una Raspberry Pi de baja potencia, lo suficientemente pequeña como para meterla debajo de una tabla del suelo y con apenas 10 W de potencia para hacerlo todo? Eso es exactamente lo que te mostraré cómo hacer hoy.

Este es el plan:

  • Configure una Raspberry Pi con algo de almacenamiento USB y mueva la unidad del sistema a USB para extender la vida útil de nuestra tarjeta SD.
  • Comparte eso a través de la red.
  • Configure una VPN para que todo el tráfico se enrute a través de la VPN, de forma segura, y todo se detiene si esa conexión falla. No queremos que nuestro ISP sepa qué distribución de Linux preferimos.
  • Instale un cliente de torrent remotamente manejable, Transmisión.

Suena complicado, ¿no? No más de unos cientos de comandos de Terminal, te lo aseguro. Mucho de esto se superpone con nuestro NAS Raspberry Pi. Convierte tu Raspberry Pi en un NAS Box. Convierte tu Raspberry Pi en un NAS Box. ¿Tienes un par de discos duros externos y una Raspberry Pi? Haga de ellos un dispositivo de almacenamiento conectado en red de baja potencia y económico. Si bien el resultado final ciertamente no será tan ... Leer más tutorial, así que si no estás tan interesado en el lado de tornering y VPN de las cosas, tal vez quieras verificarlo en su lugar.

Almacenamiento USB

Comience con una nueva instalación de Raspian y conecte la interfaz Ethernet, y conecte su almacenamiento USB (a través de un concentrador USB con alimentación, o es probable que se enfrente a errores más tarde como lo hice yo); no es necesario que esté formateado todavía. Inicie sesión de forma remota con la combinación de nombre de usuario y contraseña pi / frambuesa predeterminada, luego ejecute:

sudo raspi-config 

Cambie la cantidad de memoria que se proporciona a través de gráficos a 16 megabytes; lo ejecutaremos completamente sin cabeza, por lo que no necesita memoria gráfica. Salga y configuremos algunas particiones en el USB. Vamos a configurar al menos dos: uno para usar para el sistema a fin de preservar la vida útil de nuestra tarjeta SD, y el otro para almacenar las descargas. Descubre primero qué unidad es tu USB.

 tail /var/log/messages 

En mi caso, fue fácil de identificar como "sda". Con esto en mente, ajuste el siguiente comando para ingresar la utilidad fdisk en el dispositivo apropiado.

 sudo fdisk /dev/sda 

Presione p para listar las particiones actuales. Para eliminar cualquiera existente, presione d . Crea una nueva partición primaria, con n, luego p . Cuando te pregunte por el tamaño, ingresa + 8G . Ahora siga adelante y cree otra partición para sus datos de torrents (de nuevo, primarios), o más particiones también si lo desea. W escribirá el nuevo mapa de partición en la unidad cuando haya terminado.

Una vez que se haya escrito la nueva tabla, use los siguientes comandos para formatear las unidades como linux ext4 . Use comandos adicionales si particionó su disco con más de dos particiones.

 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 

El último comando confirmará que tienes las particiones montadas correctamente. A continuación, queremos copiar los datos de la tarjeta SD a la unidad: esto extenderá su vida al evitar las operaciones constantes de lectura / escritura en cachés, etc. Instale rsync para hacer esto:

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

Esto iniciará una larga serie de copias de archivos, así que mueva los dedos un poco.

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

Ajuste esto para leer:

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

A continuación, modifique fstab para montarlos en el inicio.

 sudo nano /etc/fstab 

Agregue las siguientes líneas:

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

Comente la siguiente línea que hace referencia a la tarjeta SD:

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

Reinicia el Pi con

 sudo reboot 

Ordenado Tu Pi ahora montará una partición de datos raíz y tu partición de torrents

Comparte la unidad: Samba

Asegúrese de que nos actualicen primero, elimine los paquetes de Wolfram Mathematica que siempre me causaron problemas al hacer absolutamente cualquier cosa en el Pi (algo relacionado con el kernel matemático), luego instale los paquetes necesarios

 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 

Presiona CTRL-W y escribe "seguridad" para encontrar la siguiente línea y deshabilitarla .

 security = user 

Agregue lo siguiente para definir nuestra carpeta compartida 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 

Reinicie el servicio de Samba:

 sudo service samba restart 

Luego tenemos que agregar un usuario al sistema. Reemplace "jamie" con su nombre de usuario deseado con el que iniciará sesión para acceder a la carpeta compartida. Los siguientes comandos le piden que cree sus contraseñas, la primera a nivel del sistema y la siguiente para Samba. Modifique los últimos comandos si llamó a su unidad de datos de otra forma (y aquí hay un manual sobre la propiedad de archivos en 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 

Prueba: debe poder conectarse desde otra máquina en su red y leer / escribir archivos en la nueva acción. Compruebe que también aparezcan en el Pi con ls desde dentro de la carpeta / mnt / torrents .

Configuración de VPN

Instale los paquetes requeridos

 sudo apt-get install openvpn resolvconf 

Descargue los archivos de configuración de OpenVPN de su proveedor. Puede consultar una lista de las mejores VPN aquí, pero asegúrese de encontrar una que sea amigable para torrents. Yo uso privacy.io, pero el acceso privado a Internet es otra opción popular dentro de las comunidades de torrents. De cualquier manera, debería poder tomar un archivo ZIP de configuraciones y un certificado. Ponlos en tu carpeta torrents, dentro de un directorio llamado openvpn . Modifique el siguiente comando para que apunte a su archivo de configuración, que seguramente diferirá 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 obtienes un resultado como este, estás bien. Presiona CTRL-C para terminarlo. Sin embargo, es molesto tener que escribir la contraseña, y necesitamos algunas modificaciones para agregar secuencias de comandos de inicio y detención. Edite el archivo de configuración (nuevamente, reemplace privacyIO.ovpn con el archivo .ovpn que le dio su proveedor)

 nano /mnt/torrents/openvpn/privacyIO.ovpn 

Modifique la siguiente línea primero. Básicamente, estamos diciendo que almacenaremos el nombre de usuario y la contraseña en un archivo llamado pass.txt

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

Guarde y escriba:

 nano /mnt/torrents/pass.txt 

Ingrese su nombre de usuario en la primera línea y la contraseña en la siguiente. Guarde e intente conectarse de nuevo:

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

No debe ser molestado para iniciar sesión esta vez. ¡Hurra! A continuación, abra nuevamente el archivo de configuración y agregue las siguientes líneas:

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

Esto especifica algunos scripts que vamos a crear más tarde para realizar tareas cuando la conexión aparece correctamente o falla. Asegúrese de estar en el directorio mnt / torrents / openvpn, luego ejecute lo siguiente:

 nano route-up.sh 

Agregue lo siguiente que asegura que el tráfico se envíe a través de la VPN:

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

A continuación, crea el script down.sh

 nano down.sh 

Añadir:

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

Finalmente, queremos que una secuencia de comandos abra la conexión, en lugar de iniciarla desde la línea de comando como acabamos de hacer.

 nano vpn.sh 

Pegue en el comando de inicio de VPN desde antes. En caso de que lo hayas olvidado:

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

Ahora, haga todos esos scripts ejecutables e inicie el script VPN al inicio.

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

Agregue la siguiente línea antes de la línea de salida 0 . Solo le estamos diciendo que comience este script al inicio.

 /mnt/torrents/openvpn/vpn.sh 

Finalmente, reinicie su sistema nuevamente.

ifocnfig-check-vpn

Regístrese de nuevo y ejecute ifconfig . Sabrá que está funcionando si ve una entrada para tap0 (o tun0) y puede curvar correctamente una página web:

 curl //www.makeuseof.com 

El cliente de Torrent

Casi aquí ahora. Finalmente, vamos a instalar Transmission, que es liviano y tiene una buena GUI web. Los siguientes comandos se instalan, luego se detiene el daemon, ya que necesitamos configurarlo primero, luego abre el archivo de configuración para editarlo.

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

Cambiar "rpc-authentication-required" a falso; cambie "rpc-whitelist" para incluir su subred local, por ejemplo:

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

Agregue o ajuste lo siguiente si ya está presente:

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

A continuación, edite el archivo de inicio del daemon para tratar algunos problemas de permisos.

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

Cambie USER = transmission-daemon a USER = root . Recarga el daemon.

 sudo service transmission-daemon reload 

Finalmente, instalaremos avahi-daemon para configurar Bonjour / zeroconf networking, lo que significa que no necesitaremos usar la dirección IP del Pi para acceder a él desde un navegador, sino que podremos usar el raspberrypi.local dirección.

 sudo apt-get install avahi-daemon 

Suponiendo que su nombre de host es el predeterminado (raspberrypi, pero se puede cambiar usando raspi-config), navegue a:

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

En primer lugar, compruebe que su IP de torrente se disfraza correctamente a través de VPN. Descargue el archivo Torrent de prueba de TorGuard, el gráfico de descarga se ve como un anuncio, pero no lo es, y suéltelo en la carpeta compartida de torrents.

check-torrent-ip

Ya hemos configurado Transmisión para ver esta carpeta para nuevos torrentes, por lo que debe agregarse inmediatamente. Continúa y suelta algunos torrents legales de distribución de Linux allí también.

transmission-torrent-ip-check-results

El torrente de comprobación de IP debería devolver un error, junto con la dirección IP que detectó. Asegúrese de que no sea su IP de origen; si lo es, la VPN no se ha configurado correctamente. De manera predeterminada, cualquier torrente que suelte en la carpeta cambiará de nombre a .added, y se creará un archivo .part hasta que finalice la transferencia. Verifique que este es el caso en su carpeta compartida.

unidad compartida

¡Eso es! Ahora tiene un Pi de baja potencia, seguro y con descarga de torrents, dejando su estación de trabajo disponible para cosas mejores. Es posible que desee considerar agregar un servidor UPnP a la transmisión multimedia en la red, o usar BitTorrent Sync para crear su propio almacenamiento en la nube. Crear su propio almacenamiento en la nube con Raspberry Pi y BitTorrent Sync. Crear su propio almacenamiento en la nube con Raspberry Pi y BitTorrent. Sincronización No crea en la exageración: la nube está lejos de ser segura. Pero no temas, ahora puedes desplegar tu propia plataforma de almacenamiento en la nube privada, ilimitada y segura. Lee mas . ¿Qué características agregarás?

In this article