Como transformar seu Raspberry Pi em um megálito sempre em download

Faça a sua parte para a rede global de distribuição Linux construindo um megálito dedicado, seguro e que faz download de torrents, que mal usa 10W de energia. Será, claro, baseado em um Raspberry Pi.

Faça a sua parte para a rede global de distribuição Linux construindo um megálito dedicado, seguro e que faz download de torrents, que mal usa 10W de energia.  Será, claro, baseado em um Raspberry Pi.
Propaganda

Faça a sua parte para a “rede de distribuição Linux” global, construindo um megálito dedicado, seguro e de download de torrents que mal usa 10W de energia. É possível, e será, naturalmente, baseado em um Raspberry Pi.

Fazer o download e semear (você semeia, certo? Sementes de gente boa, pelo menos, uma razão de 2.0) é uma tarefa árdua para qualquer computador comum, e significa que você está sugando muito mais eletricidade do que deveria durante a noite. E se você pudesse descarregar essa tarefa em um Raspberry Pi de baixa potência, pequeno o suficiente para encher uma tábua de chão e quase quebrando 10 W de energia para fazer tudo isso. Isso é exatamente o que eu vou te mostrar como fazer hoje.

Aqui está o plano:

  • Configure um Raspberry Pi com algum armazenamento USB e mova a unidade do sistema para USB para prolongar a vida útil do nosso cartão SD.
  • Compartilhe isso na rede.
  • Configure uma VPN para que todo o tráfego seja roteado pela VPN, com segurança - e tudo pára se essa conexão falhar. Nós não queremos que o ISP saiba qual distro Linux nós favorecemos.
  • Instale um cliente de torrent gerenciável remotamente, Transmission.

Parece complicado, não é? Não mais do que algumas centenas de comandos do Terminal, asseguro-lhe. Muito disso se sobrepõe ao nosso Raspberry Pi NAS Transforme seu Raspberry Pi em um NAS Box Transforme seu Raspberry Pi em um NAS Box Você tem um par de discos rígidos externos espalhados por aí e um Raspberry Pi? Disponibilize um dispositivo de armazenamento em rede conectado barato e de baixo consumo. Embora o resultado final certamente não seja tão ... Leia Mais tutorial, então se você não está tão interessado no lado do torrent e VPN, você pode querer verificar isso em vez disso.

Armazenamento USB

Comece com uma nova instalação do Raspian e conecte a interface Ethernet, e conecte o seu armazenamento USB (através de um hub USB alimentado, ou é provável que você enfrente erros mais tarde, como eu fiz) - ele não precisa ser formatado ainda. Faça o login remotamente com a combinação de nome de usuário e senha padrão pi / framboesa e execute:

sudo raspi-config 

Altere a quantidade de memória dada em gráficos para 16 megabytes - estaremos executando isso completamente sem cabeça, para que você não precise de memória gráfica. Saia e vamos configurar algumas partições no USB. Nós vamos configurar pelo menos dois - um para usar o sistema, de modo a preservar a vida útil do nosso cartão SD, eo outro para que os downloads sejam armazenados. Descobrir primeiro qual drive é seu USB.

 tail /var/log/messages 

No meu caso, foi fácil identificar como “sda”. Com isso em mente, ajuste o seguinte comando para entrar no utilitário fdisk no dispositivo apropriado.

 sudo fdisk /dev/sda 

Pressione p para listar as partições atuais. Para excluir quaisquer existentes, pressione d . Crie uma nova partição primária, com n, depois p . Quando pedir tamanho, insira + 8G . Agora vá em frente e crie outra partição para seus dados de torrent (novamente, primário), ou mais partições também, se desejar. W irá escrever o novo mapa de partições na unidade quando terminar.

Uma vez que a nova tabela tenha sido escrita, use os seguintes comandos para formatar as unidades como o linux ext4 . Use comandos adicionais se você particionou sua unidade com mais de duas partições.

 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 

O último comando confirmará que você montou as partições corretamente. Em seguida, queremos copiar os dados do cartão SD para a unidade - isso prolongará sua vida, evitando operações constantes de leitura / gravação em caches, etc. Instale o rsync para fazer isso:

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

Isso iniciará uma longa série de cópias de arquivos, portanto, gire um pouco seus dedos.

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

Ajuste isso para ler:

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

Em seguida, modifique fstab para montá-los na inicialização.

 sudo nano /etc/fstab 

Adicione as seguintes linhas:

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

Comente a seguinte linha que se refere ao cartão SD:

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

Reinicie o Pi com

 sudo reboot 

Classificado! Seu Pi irá montar uma partição de dados raiz e sua partição de torrents

Compartilhe o Drive: Samba

Certifique-se de que estamos atualizados primeiro, remova os pacotes do Wolfram Mathematica que sempre me causaram problemas ao fazer absolutamente qualquer coisa no Pi (algo a fazer com o Math-kernel), então instale os pacotes necessários

 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 

Pressione CTRL-W e digite “security” para encontrar a linha a seguir e descomente -a.

 security = user 

Adicione o seguinte para definir nossa pasta compartilhada 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 mask = 2775 force directory security mode = 2775 browseable = yes writeable = yes guest ok = no read only = no 

Reinicie o serviço Samba:

 sudo service samba restart 

Em seguida, precisamos adicionar um usuário ao sistema. Substitua “jamie” pelo seu nome de usuário desejado, com o qual você estará logando, para acessar a pasta compartilhada. Os comandos a seguir pedem que você crie suas senhas, a primeira no nível do sistema e a próxima no Samba. Modifique os últimos comandos se você chamou sua unidade de dados de outra coisa (e aqui está uma documentação sobre a propriedade de arquivos no 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 

Teste - você deve conseguir conectar-se de outra máquina em sua rede e ler / gravar arquivos no novo compartilhamento. Verifique se eles aparecem no Pi também com ls dentro da pasta / mnt / torrents .

Configuração VPN

Instale os pacotes necessários

 sudo apt-get install openvpn resolvconf 

Baixe os arquivos de configuração do OpenVPN do seu provedor. Você pode conferir uma lista das melhores VPNs aqui, mas certifique-se de encontrar uma que seja amigável para torrents. Eu uso privacy.io, mas o acesso privado à Internet é outra opção popular nas comunidades de torrents. De qualquer forma, você deve ser capaz de pegar um arquivo ZIP de configurações e um certificado. Coloque-os na sua pasta torrents, dentro de um diretório chamado openvpn . Modifique o seguinte comando para que aponte para o seu arquivo de configuração, o que certamente diferirá do privacyIO.ovpn

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

openvpn-connection-output

Se você receber uma saída como essa, você é bom. Pressione CTRL-C para finalizá-lo. É irritante ter que digitar a senha, e precisamos de algumas modificações para adicionar scripts de início e parada. Edite o arquivo de configuração (novamente, substitua privacyIO.ovpn pelo arquivo .ovpn que seu provedor lhe forneceu)

 nano /mnt/torrents/openvpn/privacyIO.ovpn 

Modifique a seguinte linha primeiro. Basicamente, estamos dizendo que vamos armazenar o nome de usuário e senha em um arquivo chamado pass.txt

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

Salvar e digite:

 nano /mnt/torrents/pass.txt 

Digite seu nome de usuário na primeira linha e senha no próximo. Salve e tente se conectar novamente:

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

Você não deve estar com problemas para fazer login neste momento. Yay! Em seguida, abra o arquivo de configuração novamente e adicione as seguintes linhas:

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

Isso especifica alguns scripts que criaremos mais tarde para executar tarefas quando a conexão for bem-sucedida ou desce. Verifique se você está no diretório mnt / torrents / openvpn e execute o seguinte:

 nano route-up.sh 

Adicione o seguinte, que garante que o tráfego seja enviado pela VPN:

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

Em seguida, crie o script down.sh

 nano down.sh 

Adicionar:

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

Finalmente, queremos que um script abra a conexão, em vez de iniciar a partir da linha de comando, como acabamos de fazer.

 nano vpn.sh 

Cole no comando de inicialização da VPN de antes. Caso você tenha esquecido:

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

Agora, torne todos esses scripts executáveis ​​e inicie o script VPN na inicialização.

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

Adicione a seguinte linha antes da linha 0 de saída . Estamos apenas dizendo para iniciar este script na inicialização.

 /mnt/torrents/openvpn/vpn.sh 

Finalmente, reinicie seu sistema novamente.

ifocnfig-check-vpn

Faça o login novamente e execute o ifconfig . Você saberá que está funcionando se você visualizar uma entrada para tap0 (ou tun0) e conseguir fazer o sucesso de uma página da Web:

 curl //www.makeuseof.com 

O cliente Torrent

Quase lá agora. Finalmente, vamos instalar o Transmission, que é leve e tem uma interface web agradável. Os comandos a seguir são instalados e, em seguida, para o daemon - já que precisamos configurá-lo primeiro - e, em seguida, abre o arquivo de configurações para edição.

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

Altere “rpc-authentication-required” para false; altere “rpc-whitelist” para incluir sua sub-rede local - por exemplo:

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

Adicione ou ajuste o seguinte, se já estiver presente:

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

Em seguida, edite o arquivo de inicialização do daemon para lidar com alguns problemas de permissão.

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

Altere o USER = transmission-daemon para USER = root . Recarregue o daemon.

 sudo service transmission-daemon reload 

Finalmente, instalaremos o avahi-daemon para configurar a rede bonjour / zeroconf, o que significa que não precisaremos usar o endereço IP do Pi para acessá-lo de um navegador - em vez disso, poderemos usar o raspberrypi.local endereço.

 sudo apt-get install avahi-daemon 

Assumindo que seu nome de host é o padrão (raspberrypi, mas pode ser alterado usando raspi-config), navegue para:

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

Primeiro, verifique se o seu IP torrent está sendo disfarçado corretamente através da VPN. Baixe o arquivo torrent de teste do TorGuard - o gráfico de download parece um anúncio, mas não é - e solte-o na pasta compartilhada torrents.

verifique-torrent-ip

Nós já configuramos o Transmission para assistir a esta pasta para novas torrents, então ela deve ser adicionada imediatamente. Vá em frente e solte alguns torrents legais de distro Linux também.

transmissão-torrent-ip-check-results

O torrent de checagem de IP deve retornar um erro, junto com o endereço IP que ele detectou. Certifique-se de que não é o seu IP de casa - se for, a VPN não foi configurada corretamente. Por padrão, qualquer torrente que você soltar na pasta será renomeado para .added, e um arquivo .part deverá ser criado até que a transferência seja concluída. Verifique se este é o caso em sua pasta compartilhada.

unidade compartilhada

É isso aí! Agora você tem um Pi de baixa potência, seguro e com download de torrent - deixando sua estação de trabalho disponível para coisas melhores. Agora você pode querer adicionar um servidor UPnP para fazer streaming de mídia pela rede ou usar o BitTorrent Sync para criar seu próprio armazenamento em nuvem Crie seu próprio Cloud Storage com Raspberry Pi e BitTorrent Sync Crie seu próprio Cloud Storage com Raspberry Pi e BitTorrent Sincronia Não acredite no hype: a nuvem está longe de ser segura. Mas não tenha medo - agora você pode implementar sua própria plataforma de armazenamento em nuvem privada, ilimitada e segura. Consulte Mais informação . Quais recursos você adicionará?

In this article