Browse By

Flood – Uma moderna interface web para o rTorrent

Anúncios

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!