Propaganda

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

Download e propagação (você semeia, certo? As pessoas boas semeiam pelo menos uma proporção de 2,0) é uma tarefa árdua para qualquer computador comum e significa que você está consumindo muito mais eletricidade do que deveria, tendo que deixá-lo ligado da noite para o dia. E se você pudesse descarregar essa tarefa em um Raspberry Pi de baixa potência, pequeno o suficiente para encher sob uma tábua de chão e com apenas 10W de potência para fazer tudo isso. É exatamente isso que vou mostrar a você 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 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 será interrompido se a conexão falhar. Não queremos que o ISP saiba qual distribuição Linux somos a favor.
  • instagram viewer
  • Instale um cliente de torrent gerenciável remotamente, Transmission.

Parece complicado, não é? Não mais que algumas centenas de comandos do Terminal, garanto. Muito disso se sobrepõe aos nossos Raspberry Pi NAS Transforme seu Raspberry Pi em uma caixa NASVocê tem alguns discos rígidos externos e um Raspberry Pi? Faça deles um dispositivo de armazenamento conectado em rede barato e de baixa potência. Enquanto o resultado final certamente não será tão ... consulte Mais informação tutorial, por isso, se você não está tão interessado no lado da torrenting e da VPN, convém verificar isso.

Armazenamento USB

Comece com uma nova instalação Raspian, conecte a interface Ethernet e conecte seu armazenamento USB (por meio de um hub USB energizado ou é provável que você encontre erros mais tarde, como eu fiz) - ele não precisa ser formatado ainda. Efetue 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 pelos gráficos para 16 megabytes - executaremos 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. Vamos configurar pelo menos dois - um para usar no sistema, a fim de preservar a vida útil do cartão SD e o outro para que os downloads sejam armazenados. 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 partições atuais. Para excluir os existentes, pressione d. Crie uma nova partição primária, com n, então p. Quando solicitar tamanho, insira + 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. W gravará o novo mapa de partição na unidade quando terminar.

Depois que a nova tabela tiver sido gravada, 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á que você montou as partições corretamente. Em seguida, queremos copiar os dados do cartão SD para a unidade - isso prolongará 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 um pouco os dedos.

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

Ajuste isto para ler:

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

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

sudo nano / etc / fstab. 

Adicione as seguintes linhas:

Padrões / dev / sda1 / ext4, noatime 0 1. / dev / sda2 / mnt / torrents ext4 padrão 0 2. 

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

Padrões # / dev / mmcblk0p2 / ext4, noatime 0 1. 

Reinicie o Pi com

reinicialização do sudo. 

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

Compartilhe The Drive: Samba

Verifique se somos atualizados primeiro, remova os pacotes Wolfram Mathematica que sempre me causaram problemas ao fazer absolutamente qualquer coisa no Pi (algo relacionado ao math-kernel), instale o requerido pacotes

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 "security" para encontrar a seguinte linha, e uncomente.

segurança = usuário. 

Adicione o seguinte para definir nossa pasta compartilhada de torrents:

[torrents] comment = torrents. caminho = / mnt / torrents. usuários válidos = @users. grupo de força = usuários. criar máscara = 0775. forçar modo de criação = 0775. máscara de segurança = 0775. forçar o modo de segurança = 0775. máscara de diretório = 2775. forçar o modo de diretório = 2775. máscara de segurança do diretório = 2775. forçar o modo de segurança do diretório = 2775. navegável = sim. gravável = sim. convidado ok = não. somente leitura = não.

Reinicie o serviço Samba:

serviço sudo reiniciar o samba. 

Em seguida, precisamos adicionar um usuário ao sistema. Substitua "jamie" pelo nome de usuário desejado com o qual você fará login para acessar a pasta compartilhada. Os comandos a seguir solicitam que você crie suas senhas, a primeira no nível do sistema e a próxima no Samba. Modifique os últimos comandos se você tiver chamado outra unidade de dados (e aqui está uma cartilha sobre propriedade de arquivo no linux).

sudo useradd jamie -m -G usuários. sudo passwd jamie. sudo smbpasswd -um jamie. sudo chown pi: usuários / mnt / torrents. chmod g + w / mnt / torrents. 

Teste - você deve conseguir conectar-se a partir de outra máquina na sua 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 da VPN

Instale os pacotes necessários

O sudo apt-get instala o openvpn resolvconf. 

Faça o download dos arquivos de configuração do OpenVPN do seu provedor. Você pode conferir uma lista dos melhores VPNs Os melhores serviços de VPNCompilamos uma lista do que consideramos os melhores provedores de serviços de rede virtual privada (VPN), agrupados por premium, gratuito e compatível com torrent. consulte Mais informação aqui, mas lembre-se de encontrar um que seja compatível com torrents. eu uso privacy.io eu mesmo, mas Acesso Privado à Internet é outra opção popular nas comunidades de torrents. De qualquer forma, você deve conseguir um arquivo ZIP de configurações e um certificado. Coloque-os na pasta torrents, em um diretório chamado openvpn. Modifique o comando a seguir para que aponte para o seu arquivo de configuração, que quase certamente será diferente 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ê obtiver uma saída como essa, você é bom. Bater 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 fornecido pelo seu provedor)

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. 

Salvar 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-se novamente:

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

Você não deve ter 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 posteriormente para executar tarefas quando a conexão surgir com êxito ou cair. Verifique se você está no mnt / torrents / openvpn diretório e execute o seguinte:

nano route-up.sh. 

Adicione o seguinte, para garantir 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 iniciá-lo na linha de comando, como acabamos de fazer.

nano vpn.sh. 

Cole o comando de inicialização da VPN 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 os 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 para iniciar esse script na inicialização.

/mnt/torrents/openvpn/vpn.sh. 

Finalmente, reinicie o seu sistema novamente.

ifocnfig-check-vpn

Faça login novamente e execute ifconfig. Você saberá que está funcionando se vir uma entrada para tap0 (ou tun0), e podem criar uma página da web com êxito:

enrolar //www.makeuseof.com. 

O cliente Torrent

Quase lá agora. Por fim, instalaremos o Transmission, que é leve e possui uma ótima interface web. Os comandos a seguir são instalados e, em seguida, para o daemon - já que precisamos configurá-lo primeiro - e abre o arquivo de configurações para edição.

O sudo apt-get install instala o daemon de transmissão. 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 = daemon de transmissão para USER = raiz. Recarregue o daemon.

serviço de transmissão do daemon-daemon recarregar. 

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

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 / transmissão / web /

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

verificação-torrent-ip

Já configuramos o Transmission para assistir a esta pasta em busca de novos torrents, portanto ela deve ser adicionada imediatamente. Vá em frente e solte alguns torrents legais de distribuição Linux também.

transmissão-torrent-ip-cheque-resultados

O torrent de verificação de IP deve retornar um erro, juntamente com o endereço IP detectado. Verifique se esse não é o seu IP residencial; se for, a VPN não foi configurada corretamente. Por padrão, todos os torrents que você soltar na pasta serão renomeados para .added e um arquivo .part deverá ser criado até a transferência ser concluída. Verifique se esse é o caso na sua pasta compartilhada.

unidade compartilhada

É isso aí! Agora você tem um Pi super seguro, 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 crie seu próprio armazenamento na nuvem Crie seu próprio armazenamento em nuvem com Raspberry Pi e BitTorrent SyncNã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á?

James é bacharel em Inteligência Artificial e possui certificação CompTIA A + e Network +. Ele é o principal desenvolvedor do MakeUseOf e passa seu tempo livre jogando paintball e jogos de tabuleiro em VR. Ele está construindo PCs desde que era criança.