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

  • Harry James
  • 0
  • 3558
  • 1044
Anuncio

Haz tu parte por lo global “Red de distribución de Linux” construyendo un megalito dedicado, seguro y de descarga de torrents que apenas usa 10W de potencia. Es posible y, por supuesto, se basará en una Raspberry Pi.

Descargar y sembrar (usted siembra, ¿verdad? Las buenas personas siembran al menos a una proporción de 2.0) es una tarea ardua para cualquier computadora normal, y significa que estás absorbiendo mucha más electricidad de la que deberías tener al dejarla encendida durante la noche. ¿Qué pasaría si pudieras descargar esa tarea en una Raspberry Pi de baja potencia, lo suficientemente pequeña como para meterla debajo de una tabla del piso y apenas romper 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 un poco de almacenamiento USB y mueva la unidad del sistema a USB para extender la vida útil de nuestra tarjeta SD.
  • Comparta 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 ISP sepa qué distribución de Linux favorecemos.
  • Instalar un cliente torrent gestionable de forma remota, 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 Raspberry Pi NAS. Convierta su Raspberry Pi en una caja NAS. Convierta su Raspberry Pi en una caja NAS. ¿Tiene un par de discos duros externos y un 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á como ... tutorial, por lo que si no está tan interesado en el lado de los torrents y la VPN, es posible que desee comprobarlo..

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 encuentre con errores más tarde como lo hice yo); aún no es necesario formatearlo. Inicie sesión de forma remota con la combinación predeterminada de nombre de usuario y contraseña de pi / raspberry, luego ejecute:

sudo raspi-config

Cambie la cantidad de memoria dada sobre los gráficos a 16 megabytes; ejecutaremos esto 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, una para usar en el sistema a fin de preservar la vida útil de nuestra tarjeta SD, y la otra para almacenar las descargas. Primero descubra qué unidad es su USB.

tail / var / log / messages

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

sudo fdisk / dev / sda

prensa pag para enumerar las particiones actuales. Para eliminar las existentes, presione re. Cree una nueva partición primaria, con norte, entonces pag. Cuando le solicite el tamaño, ingrese +8G. Ahora continúe y cree otra partición para sus datos de torrent (nuevamente, 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 ha 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 en la unidad; esto extenderá su vida 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 copia de archivos, así que mueva los dedos por un momento.

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

Ajusta esto para leer:

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

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

sudo nano / etc / fstab 

Agregue las siguientes líneas:

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

Comente la siguiente línea que se refiere a la tarjeta SD:

# / dev / mmcblk0p2 / ext4 valores predeterminados, noatime 0 1 

Reinicia el Pi con

reinicio de sudo 

Ordenado! Su Pi ahora montará una partición de datos raíz y su partición de torrents

Comparte la unidad: Samba

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

Golpear CTRL-W y escribe “seguridad” para encontrar la siguiente línea, y Naciones Unidascomentarlo.

seguridad = usuario 

Agregue lo siguiente para definir nuestra carpeta compartida torrents:

[torrents] comment = ruta de torrents = / mnt / torrents usuarios válidos = @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 directorio security máscara = 2775 forzar modo de seguridad de directorio = 2775 explorable = sí grabable = sí invitado ok = no solo lectura = no 

Reinicie el servicio Samba:

sudo service samba restart 

A continuación, necesitamos agregar un usuario al sistema. Reemplazar “jamie” con el nombre de usuario deseado con el que iniciarás 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 de otra manera (y aquí hay un manual sobre la propiedad del archivo 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 también aparecen en el Pi con ls desde dentro del / mnt / torrents carpeta.

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 compatible con torrent. Yo uso privacy.io yo mismo, 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 de 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 

Si obtienes un resultado como este, eres bueno. Golpear CTRL-C para terminarlo. Sin embargo, es molesto tener que escribir la contraseña, y necesitamos algunas modificaciones para agregar guiones 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 

Guardar y escribir:

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 nuevamente:

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

No debería molestarte 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 inicia correctamente o se cae. 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, cree el script down.sh

nano down.sh 

Añadir:

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

Finalmente, queremos un script para abrir la conexión, en lugar de iniciarlo desde la línea de comando como acabamos de hacer.

nano vpn.sh 

Pegue el comando de inicio de VPN de 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 que todos esos scripts sean 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 del salida 0 línea. Solo le estamos diciendo que inicie este script al inicio.

/mnt/torrents/openvpn/vpn.sh 

Finalmente, reinicie su sistema nuevamente.

Inicie sesión nuevamente y ejecute ifconfig. Sabrá que está funcionando si ve una entrada para tap0 (o tun0), y pueden curvar con éxito una página web:

curl //www.makeuseof.com 

El cliente de torrent

Casi allí ahora. Finalmente, vamos a instalar Transmission, que es liviano y tiene una buena GUI web. Los siguientes comandos se instalan, luego detiene el demonio, ya que primero debemos configurarlo, 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 

Cambio “Se requiere autenticación de rpc” a falso cambio “lista blanca de rpc” 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": verdadero, "umask": 2, 

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

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

Cambiar el USUARIO = transmisión-demonio a USUARIO = root. Recargar el demonio.

servicio sudo transmisión-demonio recarga 

Finalmente instalaremos avahi-daemon para configurar la red bonjour / zeroconf, lo que significa que no necesitaremos usar la dirección IP de Pi para acceder desde un navegador; en su lugar, podremos usar el 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 /

Primero, verifique que su IP de torrent esté correctamente disfrazada 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 suéltelo en la carpeta compartida de torrents.

Ya hemos configurado la transmisión para ver esta carpeta en busca de nuevos torrentes, por lo que debe agregarse de inmediato. Siga adelante y coloque algunos torrents de distribución de Linux legales allí también.

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

¡Eso es! Ahora tiene un Pi de baja potencia, seguro y que descarga torrent, dejando su estación de trabajo disponible para mejores cosas. Es posible que ahora desee 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 Cree su propio almacenamiento en la nube con Raspberry Pi y BitTorrent Sync Cree su propio almacenamiento en la nube con Raspberry Pi y BitTorrent Sincronización No crea en el bombo: la nube está lejos de ser segura. Pero no tenga miedo: ahora puede implementar su propia plataforma de almacenamiento en la nube privada, ilimitada y segura. . ¿Qué características agregará??




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.