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

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

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





Baixando e propagando (você semeia, certo? Boas pessoas semeiam até uma proporção de pelo menos 2,0) é uma tarefa árdua para qualquer computador normal e significa que você está sugando muito mais eletricidade do que deveria ao ter que deixá-lo ligado durante a noite. E se você pudesse descarregar essa tarefa em um Raspberry Pi de baixa potência, pequeno o suficiente para ser colocado embaixo de uma tábua do chão e quase sem capacidade de 10W para fazer tudo isso. Isso é exatamente o que vou mostrar a você como fazer hoje.





Aqui está o plano:





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

Parece complicado, não é? Não mais do que algumas centenas de comandos do Terminal, garanto-lhe. Muito disso se sobrepõe ao nosso Raspberry Pi NAS tutorial, então se você não estiver tão interessado no lado de torrent e VPN das coisas, você pode querer dar uma olhada nisso.

Armazenamento USB

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



sudo raspi-config

Altere a quantidade de memória fornecida aos gráficos para 16 megabytes - estaremos executando isso completamente sem cabeça, então você não precisa de memória gráfica. Saia e vamos configurar algumas partições no USB. Vamos configurar pelo menos dois - um para usar no sistema de forma a preservar a vida útil do nosso cartão SD e outro para armazenar os downloads. Descubra primeiro qual unidade é o seu USB.

tail /var/log/messages

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





sudo fdisk /dev/sda

pressione p para listar as partições atuais. Para excluir qualquer um existente, pressione d . Crie uma nova partição primária, com n , então p . Quando ele perguntar sobre o tamanho, digite + 8G . Agora vá em frente e crie outra partição para seus dados de torrent (novamente, primária), ou mais partições também, se desejar. NO gravará o novo mapa de partição na unidade quando terminar.

é ilegal baixar vídeos do youtube

Uma vez que a nova tabela foi escrita, use os seguintes comandos para formatar as unidades como 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á se você montou as partições corretamente. Em seguida, queremos copiar os dados do cartão SD para a unidade - isso aumentará sua vida útil, evitando operações constantes de leitura / gravação em caches, etc. Instalar 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, mexa os dedos um pouco.

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

Ajuste 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

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

Compartilhe a unidade: 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 ver com o math-kernel) e, em seguida, 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

Bater CTRL-W e digite 'segurança' para encontrar a seguinte linha, e uma comente.

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 nome de usuário desejado, com o qual você fará o login 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á um manual sobre propriedade de arquivo 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 se conectar de outra máquina na rede e ler / gravar arquivos no novo compartilhamento. Verifique se eles aparecem no Pi também com ls de dentro do / mnt / torrents pasta.

Configuração VPN

Instale os pacotes necessários

sudo apt-get install openvpn resolvconf

Baixe os arquivos de configuração do OpenVPN de seu provedor. Você pode verificar uma lista de melhores VPNs aqui, mas certifique-se de encontrar um que seja compatível com torrent. eu uso privacy.io eu mesmo, mas Acesso privado à Internet é outra opção popular dentro das comunidades de torrent. De qualquer forma, você deve conseguir obter um arquivo ZIP de configurações e um certificado. Coloque-os em sua pasta de torrents, dentro de um diretório chamado openvpn . Modifique o seguinte comando para que aponte para o seu arquivo de configuração, que quase certamente será diferente de privacyIO.ovpn

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

Se você obtiver uma saída como esta, você está bem. Bater CTRL-C para encerrá-lo. No entanto, é 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 forneceu a você)

nano /mnt/torrents/openvpn/privacyIO.ovpn

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

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

Salve e digite:

nano /mnt/torrents/pass.txt

Digite seu nome de usuário na primeira linha e a senha na próxima. Salve e tente 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 ser incomodado 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 iremos criar posteriormente para realizar tarefas quando a conexão for estabelecida com sucesso ou cair. Certifique-se de que você está no mnt / torrents / openvpn diretório 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 um script para abrir a conexão, em vez de iniciá-la na linha de comando como acabamos de fazer.

nano vpn.sh

Cole o comando de inicialização da VPN anterior. 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 do saída 0 linha. Estamos apenas dizendo a ele para iniciar este script na inicialização.

/mnt/torrents/openvpn/vpn.sh

Finalmente, reinicie o sistema novamente.

Faça login novamente e execute ifconfig . Você saberá que está funcionando se vir uma entrada para tap0 (ou tun0) , e são capazes de enrolar uma página da web com sucesso:

curl https://www.makeuseof.com

O Cliente Torrent

Quase lá agora. Por fim, vamos instalar o Transmission, que é leve e tem uma interface gráfica agradável. Os comandos a seguir instalam, param o daemon - já que precisamos configurá-lo primeiro - e abrem 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 próprio arquivo de inicialização do daemon para lidar com alguns problemas de permissão.

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

Mudar o USER = transmissão-daemon para USER = root . Recarregue o daemon.

sudo service transmission-daemon reload

Finalmente, vamos instalar 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 Morada.

sudo apt-get install avahi-daemon

Supondo que seu nome de host seja o padrão (raspberrypi, mas pode ser alterado usando raspi-config) , navegar para:

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

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

Já configuramos o Transmission para monitorar esta pasta em busca de novos torrents, portanto, deve ser adicionado imediatamente. Vá em frente e coloque alguns torrents legais de distro do Linux lá também.

O torrent de verificação de IP deve retornar um erro, junto com o endereço IP detectado. Certifique-se de que não seja o seu IP doméstico - se for, a VPN não foi configurada corretamente. Por padrão, quaisquer torrents que você soltar na pasta serão renomeados para .added e um arquivo .part deve ser criado até que a transferência seja concluída. Verifique se este é o caso em sua pasta compartilhada.

É isso! Agora você tem um Pi baixíssimo e seguro para download de torrents - deixando sua estação de trabalho disponível para coisas melhores. Agora você pode querer adicionar um servidor UPnP para streaming de mídia pela rede ou usar o BitTorrent Sync para criar seu próprio armazenamento em nuvem. Quais recursos você adicionará?

Compartilhado Compartilhado Tweet O email Os 8 melhores sites para baixar audiolivros gratuitamente

Os audiolivros são uma ótima fonte de entretenimento e muito mais fáceis de digerir. Aqui estão os oito melhores sites onde você pode baixá-los gratuitamente.

Leia a seguir
Tópicos relacionados
  • faça você mesmo
  • BitTorrent
  • Raspberry Pi
Sobre o autor James Bruce(707 artigos publicados)

James é bacharel em Inteligência Artificial e certificado pela CompTIA A + e Network +. Quando não está ocupado como Editor de Avaliações de Hardware, ele gosta de LEGO, VR e jogos de tabuleiro. Antes de ingressar na MakeUseOf, ele foi técnico de iluminação, professor de inglês e engenheiro de data center.

Mais de James Bruce

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever