Cómo convertir tu Raspberry Pi en un megalito de descarga permanente

Cómo convertir tu Raspberry Pi en un megalito de descarga permanente / Bricolaje

Haz tu parte por lo global. “Red de distribucion de linux” mediante la construcción de un megalito dedicado, seguro y de descarga de torrentes que apenas utiliza 10W de potencia. Es posible y, por supuesto, se basará en una Raspberry Pi..

Descargando y sembrando (usted siembra, ¿verdad? La gente buena siembra en al menos una proporción de 2.0) es una tarea ardua para cualquier computadora normal, y significa que estás consumiendo mucha más electricidad de la que deberías tener al dejarla encendida durante la noche. ¿Qué pasaría si pudiera descargar esa tarea a una Raspberry Pi de baja potencia, lo suficientemente pequeña como para meterla debajo de una tabla del piso y apenas rompiendo 10W de potencia para hacerlo todo? Eso es exactamente lo que te mostraré cómo hacerlo hoy..

Aquí está el plan:

  • Configure una Raspberry Pi con algo de almacenamiento USB y mueva la unidad del sistema a USB para extender la vida 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 falla la conexión. No queremos que ISP sepa qué distribución de Linux preferimos.
  • Instale un cliente de torrent gestionable de forma remota, Transmisión.

Suena complicado, ¿no? No más de unos pocos cientos de comandos de terminal, te lo aseguro. Gran parte de esto se superpone con nuestro Raspberry Pi NAS Convierta su Raspberry Pi en una caja NAS Convierta su Raspberry Pi en una NAS Box ¿Tiene un par de discos duros externos y una Raspberry Pi? Haga de ellos un dispositivo de almacenamiento conectado en red barato y de baja potencia. Si bien el resultado final ciertamente no será tan ... Leer más tutorial, por lo que si no estás tan interesado en el torrenting y el lado VPN de las cosas, es posible que desees verlo en su lugar.

Almacenamiento USB

Comience con una nueva instalación de Raspian y conecte la interfaz de 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 que yo), aún no se ha formateado. Inicie sesión de forma remota con la combinación predeterminada de nombre de usuario y contraseña de pi / frambuesa, luego ejecute:

sudo raspi-config

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

cola / var / log / mensajes

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

sudo fdisk / dev / sda

prensa pag para enumerar las particiones actuales. Para eliminar cualquier existente, presione re. Crear una nueva partición primaria, con norte, entonces pag. Cuando te pida el tamaño, ingresa +8G. Ahora siga adelante y cree otra partición para sus datos de torrent (de nuevo, primaria), 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 unidad 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 útil al evitar operaciones de lectura / escritura constantes en cachés, etc. Instalar 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 mueve 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 la puesta en marcha.

sudo nano / etc / fstab 

Añade 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 se refiere a la tarjeta SD:

# / dev / mmcblk0p2 / ext4 por defecto, noatime 0 1 

Reinicie el Pi con

reinicio de sudo 

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

Comparte The Drive: Samba

Primero asegúrese de que estemos actualizados, elimine los paquetes de Wolfram Mathematica que siempre me han causado problemas al hacer absolutamente cualquier cosa en el Pi (algo que ver con math-kernel), 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 

Golpear CTRL-W y escriba “seguridad” para encontrar la siguiente línea, y Naciones Unidascoméntalo.

seguridad = usuario 

Agregue lo siguiente para definir nuestra carpeta compartida de 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 máscara = 2775 forzar modo de seguridad de directorio = 2775 navegable = sí grabable = sí invitado ok = no solo lectura = no 

Reinicie el servicio de Samba:

servicio de sudo samba reinicio 

A continuación necesitamos agregar un usuario al sistema. Reemplazar “jamie” con el 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 de sistema y la siguiente para Samba. Modifique los últimos comandos si llamó a su unidad de datos a otra cosa (y aquí hay un manual sobre la propiedad de archivos en Linux).

sudo useradd jamie -m -G usuarios 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 el nuevo recurso compartido. Comprueba que aparezcan en el Pi también con ls desde dentro del / mnt / torrents carpeta.

Configuración VPN

Instala los paquetes requeridos.

sudo apt-get install openvpn resolvconf 

Descargue los archivos de configuración de OpenVPN de su proveedor. Puedes consultar una lista de las mejores VPN aquí, pero asegúrate de encontrar una que sea compatible con torrents. Yo uso privacy.io, pero el acceso privado a Internet es otra opción popular dentro de las comunidades de torrent. De cualquier manera, debería poder tomar un archivo ZIP de configuraciones y un certificado. Póngalos en su carpeta de torrents, dentro de un directorio llamado openvpn. Modifique el siguiente comando para que apunte a su archivo de configuración, que casi seguramente será diferente de privacidadIO.ovpn

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

Si obtienes una salida como esta, eres bueno. Golpear 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 proporcionó 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 

Guarda, y escribe:

nano /mnt/torrents/pass.txt 

Ingrese su nombre de usuario en la primera línea y 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 --seguridad de script 2

No debes tener errores para iniciar sesión esta vez. ¡Hurra! A continuación, abra el archivo de configuración nuevamente 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 crearemos más adelante para realizar tareas cuando la conexión se realice correctamente o se caiga. Asegúrate de estar en el mnt / torrents / openvpn directorio, luego ejecute lo siguiente:

nano route-up.sh 

Agregue lo siguiente que garantiza 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 un script abra la conexión, en lugar de iniciarlo desde la línea de comandos como lo hicimos.

nano vpn.sh 

Pegar en el comando de inicio de VPN desde antes. En caso de que haya olvidado:

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

Ahora, haga que todos esos scripts sean ejecutables, y ejecute 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 salida 0 línea. Solo le estamos diciendo que comience este script al inicio.

/mnt/torrents/openvpn/vpn.sh 

Finalmente, reinicie su sistema de nuevo.

Inicia sesión de nuevo, y ejecuta ifconfig. Sabrás que está funcionando si ves una entrada para tap0 (o tun0), y son capaces de enrollar con éxito una página web:

curl //www.makeuseof.com 

El cliente torrent

Casi allí ahora. Finalmente, vamos a instalar Transmission, que es liviano y tiene una interfaz gráfica de usuario agradable. Los siguientes comandos se instalan, luego detiene el demonio, ya que primero debemos configurarlo, luego se 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 

Cambio “se requiere autenticación rpc” a falso cambio “rpc-lista blanca” 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 resolver algunos problemas de permisos.

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

Cambiar el USUARIO = transmisión-demonio a USUARIO = raíz. Recargar el demonio.

servicio de sudo transmisión-daemon recarga 

Finalmente, instalaremos avahi-daemon para configurar la red bonjour / zeroconf, lo que significa que no necesitaremos usar la dirección IP de la Pi para acceder a ella desde un navegador, sino que podremos usar la raspberrypi.local dirección.

sudo apt-get install avahi-daemon 

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

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

En primer lugar, compruebe que su IP de torrent se está ocultando correctamente a través de la VPN. Descargue el archivo torrent de prueba de TorGuard (el gráfico de descarga parece un anuncio, pero no lo es) y colóquelo en la carpeta compartida de torrents.

Ya hemos configurado la transmisión para que vea esta carpeta en busca de nuevos torrents, por lo que debe agregarse inmediatamente. Continúa y suelta algunos torrents legales de Linux también..

El torrent de comprobación de IP debería devolver un error, junto con la dirección IP que detectó. Asegúrese de que no sea la IP de su hogar; si es así, la VPN no se ha configurado correctamente. De forma predeterminada, todos los torrents que coloque en la carpeta cambiarán de nombre a .added, y se creará un archivo .part hasta que finalice la transferencia. Verifica que este sea el caso en tu carpeta compartida..

¡Eso es! Ahora tiene un Pi súper de baja potencia, seguro y de descarga de torrents, dejando su estación de trabajo disponible para mejores cosas. Es posible que ahora desee ver cómo agregar un servidor UPnP para transmitir medios a través de la red, o usar BitTorrent Sync para crear su propio almacenamiento en la nube. Sincronización No creas en el bombo: la nube está lejos de ser segura. Pero no tenga miedo: ahora puede desplegar su propia plataforma de almacenamiento en la nube privada, ilimitada y segura. Lee mas . ¿Qué características agregarás??

Explorar más sobre: ​​BitTorrent, Raspberry Pi.