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 gratuitamenteOs 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
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 BruceAssine 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