Anuncio

Haga su parte para la “red de distribución de Linux” global 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 (haces semillas, ¿verdad? Las buenas personas siembran al menos una proporción de 2.0) es una tarea ardua para cualquier computadora normal y significa que está absorbiendo mucha más electricidad de la que debería tener al tener que 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é 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 ú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 preferimos.
    instagram viewer
  • Instale un cliente de torrent gestionable de forma remota, Transmission.

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¿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á tan ... Lee mas tutorial, por lo que si no está tan interesado en el lado de los torrents y de la VPN, quizás desee comprobarlo.

Almacenamiento USB

Comience con una nueva instalación de Raspian, conecte la interfaz Ethernet y conecte su almacenamiento USB (a través de un concentrador USB con alimentación, o es probable que te enfrentes a errores más tarde como lo hice yo): no es necesario formatearlo todavía. 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; estaremos funcionando 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, luego pag. Cuando le solicite 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 en pc 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 por defecto 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

Asegúrese de actualizarnos primero, 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 lo requerido paquetes

sudo apt-get update. sudo apt-get dist-upgrade. sudo apt-get eliminar 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 Unidascomentarlo

seguridad = usuario. 

Agregue lo siguiente para definir nuestra carpeta compartida torrents:

[torrentes] comentario = torrentes. ruta = / mnt / torrents. usuarios válidos = @users. grupo de fuerza = usuarios. crear máscara = 0775. forzar crear modo = 0775. máscara de seguridad = 0775. forzar modo de seguridad = 0775. máscara de directorio = 2775. forzar modo de directorio = 2775. máscara de seguridad de directorio = 2775. forzar el modo de seguridad del directorio = 2775. navegable = sí. escribible = sí. invitado ok = no. solo lectura = no.

Reinicie el servicio Samba:

servicio de sudo samba reiniciar. 

A continuación, necesitamos 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 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 propiedad del archivo en linux).

sudo useradd jamie -m -G usuarios. sudo passwd jamie. sudo smbpasswd -a jamie. sudo chown pi: usuarios / 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 mejores VPN Los mejores servicios de VPNHemos compilado una lista de los que consideramos los mejores proveedores de servicios de red privada virtual (VPN), agrupados por premium, gratuitos y compatibles con torrent. Lee mas aquí, pero asegúrese de encontrar uno que sea compatible con torrent. yo suelo privacidad.io yo mismo, pero Acceso privado a internet Es otra opción popular dentro de las comunidades torrent. 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. 
openvpn-connection-output

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. abajo-pre. abajo /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 comandos 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.

ifocnfig-check-vpn

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. 

Cambie "rpc-autenticación-requerida" 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": verdadero, "umask": 2, 

A continuación, edite el archivo de inicio del demonio 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 habla a.

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 / transmisión / 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.

check-torrent-ip

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

transmisión-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 esa no sea la IP de su hogar; si lo es, la VPN no se ha configurado correctamente. Por defecto, 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.

unidad 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 crea tu propio almacenamiento en la nube Cree su propio almacenamiento en la nube con Raspberry Pi y BitTorrent SyncNo te creas la exageración: 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. Lee mas . ¿Qué características agregará?

James tiene una licenciatura en Inteligencia Artificial y está certificado por CompTIA A + y Network +. Es el desarrollador principal de MakeUseOf, y pasa su tiempo libre jugando VR paintball y juegos de mesa. Ha estado construyendo computadoras desde que era un niño.