Flood – Uma moderna interface web para o rTorrent
O rTorrent é provavelmente o mais poderoso cliente de torrent, mas junto com o Flood, uma interface web moderna, é a combinação perfeita para o seu seedbox ou servidor.
Eu costumava usar o Transmission para os meus torrents, mas desde que descobri o Flood, uma interface web moderna, poderosa e de fácil utilização para o rTorrent, mudei meus hábitos.
O Flood usa o Node.js como backend e o React como frontend, e aqui estão os principais recursos dele:
- Interface leve, intuitiva e moderna
- É possível adicionar torrents através de URL, arquivo Torrent e RSS. (Normalmente, você precisa de algumas configurações para o RSS. Com o Flood você pode adicionar suas regras de download diretamente na interface web)
- Capacidade de baixar seu torrent diretamente através de sua interface web. Este é provavelmente o melhor recurso, já que você pode baixar o arquivo do seu seedbox e obtê-lo diretamente usando a função de “download direto” (HTTP) do Flood. (Não é necessário ter um FTP ou alguma pasta HTTP com usuário / senha, etc.
Vamos ver como instalar o rTorrent e o Flood no Debian 9 (também vale par ao Ubuntu e outros sistemas derivados do Debian).
Instalação:
1) Instalando o rTorrent:
A maneira mais fácil de se fazer isso é usando a versão do rTorrent do repositório padrão do Debian. Em modo root (ou com sudo), execute:
apt install rtorrent screen
2) Configurando o rTorrent:
Primeiro, crie um usuário dedicado, para evitar executar o rTorrent com root:
adduser --disabled-password rtorrent
Você precisará responder algumas perguntas (ou simplesmente ignorá-las com ENTER)
Em seguida, crie um arquivo de configuração para permitir que o Flood se conecte ao rTorrent.
nano /home/rtorrent/.rtorrent.rc
E copie o seguinte conteúdo no arquivo:
# Where rTorrent saves the downloaded files
directory = /srv/torrent/downloads
# Where rTorrent saves the session
session = /srv/torrent/.session
# Which ports rTorrent can use (Make sure to open them in your router)
port_range = 50000-50000
port_random = no
# Check the hash after the end of the download
check_hash = yes
# Enable DHT (for torrents without trackers)
dht = auto
dht_port = 6881
peer_exchange = yes
# Authorize UDP trackers
use_udp_trackers = yes
# Enable encryption when possible
encryption = allow_incoming,try_outgoing,enable_retry
# SCGI port, used to communicate with Flood
scgi_port = 127.0.0.1:5000
Ele funcionará imediatamente, mas fique à vontade para ajustá-lo, especialmente nos caminhos de download.
Crie as pastas mencionadas (download e session):
mkdir /srv/torrent
mkdir /srv/torrent/downloads
mkdir /srv/torrent/.session
e defina as permissões:
chmod 775 -R /srv/torrent
chown rtorrent:rtorrent -R /srv/torrent
chown rtorrent:rtorrent /home/rtorrent/.rtorrent.rc
Agora, criamos um script de inicialização do SystemD para garantir que o rtorrent esteja em execução na inicialização (e facilite o controle)
nano /etc/systemd/system/rtorrent.service
e adicione:
[Unit]
Description=rTorrent
After=network.target
[Service]
User=rtorrent
Type=forking
KillMode=none
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
WorkingDirectory=%h
[Install]
WantedBy=default.target
Ative o script no boot:
systemctl enable rtorrent.service
e inicie-o:
systemctl start rtorrent
Se não houver erro, você pode passar para a próxima etapa.
3) Instalando o Flood:
Você precisará do NodeJS, a versão 8 funcionará muito bem. Para fazer isso, ainda como root (ou com sudo) execute:
sudo apt install curl build-essential git
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
E então, clone o repositório git:
cd /srv/torrent
git clone https://github.com/jfurrow/flood.git
Use o modelo do arquivo de configuração como configuração padrão
cd flood
cp config.template.js config.js
Caso queira acessar o flood na sua rede local ou externa, é necessário alterar a seguinte linha do arquivo config.js:
de:
floodServerHost: '127.0.0.1',
para:
floodServerHost: '0.0.0.0',
Agora instale o flood usando o npm:
npm install -g node-gyp
npm run build.
npm install
4) Iniciando o Flood:
Antes de iniciar o Flood, criaremos um script para iniciar o flood diretamente na inicialização:
Primeiro, crie um usuário para executar o flood:
adduser --disabled-password flood
e dê a ele as permissões da pasta:
chown -R flood:flood /srv/torrent/flood/
e então crie o script:
nano /etc/systemd/system/flood.service
e adicione:
[Service]
WorkingDirectory=/srv/torrent/flood
ExecStart=/usr/bin/npm start
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=notell
User=flood
Group=flood
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
em seguida ative o script no boot:
systemctl enable flood
agora inicie-o:
systemctl start flood
E é isso, agora você deve ter acesso ao Flood. Para isso, basta acessar (http://seuip:3000)
Ele pedirá que você crie um usuário e senha pela primeira vez e pronto!