Installation d’une Seedbox sous Debian 9

Aujourd’hui, nous allons voir l’installation d’une Seedbox sous Debian 9.
Une Seedbox est un serveur dédié avec un client torrent installé qui permettra de télécharger et partager des fichiers torrents.

Ici, nous utiliserons rTorrent, un client en lignes de commandes qui est stable et léger avec comme interface web Flood.

Installation de rTorrent

Le moyen le plus simple pour installer rTorrent est de passer par les dépôts de Debian.
Pour cela, exécutez la commande suivante (on remarquera screen qui nous servira par la suite pour la création des scripts init) :

apt-get install rtorrent screen

On ajoute un utilisateur dédié pour éviter de lancer rTorrent en root :

adduser --disabled-password rtorrent

Vous devrez répondre à quelques questions ou simplement les ignorer avec « Entrer » et valider la création de l’utilisateur.

Ensuite, on ouvre la configuration de rTorrent :

vim /home/rtorrent/.rtorrent.rc

Et on ajoute ceci, pour définir quelques paramètres ainsi que le SCGI pour permettre à Flood de se connecter à rTorrent  :

# Répertoire où les fichiers téléchargés sont stockés.
directory = /srv/torrent/downloads

# Répertoire où les ".torrent" sont stockés par rTorrent.
session = /srv/torrent/.session

# Port utilisé par rTorrent.
port_range = 50000-50000
port_random = no

# Vérification du hash à la fin du téléchargement.
check_hash = yes

# Activer DHT pour les torrents sans trackers.
dht = auto
dht_port = 6881
peer_exchange = yes

# Autoriser les trackers UDP
use_udp_trackers = yes

# Activer le cryptage lorsque c'est possible
encryption = allow_incoming,try_outgoing,enable_retry

# Port SCGI, utilisé pour communiquer avec Flood
scgi_port = 127.0.0.1:5000

Vous créez les dossiers « downloads » et « .session » :

mkdir -p /srv/torrent/{downloads,.session}

Et on définit les permissions :

chmod 775 -R /srv/torrent
chown rtorrent:rtorrent -R /srv/torrent
chown rtorrent:rtorrent /home/rtorrent/.rtorrent.rc

Ici, nous allons créer un script de démarrage qui nous facilitera la gestion du service et permettra que celui-ci s’exécute au démarrage de la machine.

vim /etc/systemd/system/rtorrent.service

On ajoute :

[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

On active le service rtorrent au boot :

systemctl enable rtorrent.service

Puis on le démarre :

systemctl start rtorrent.service

La commande « ps -aux » nous permettra de vérifier que le service est démarré :

ps -aux  |  grep -i rtorrent

Installation de Flood

Pour commencer, nous allons installer nodejs :

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

Ensuite, on installe git et on clone leur dépôt   :

apt install git
cd /srv/torrent
git clone https://github.com/jfurrow/flood.git

On ajoute ensuite le fichier de config standard de flood :

cd flood
cp config.template.js config.js

Ici, il vous faudra éditer config.js avec votre éditeur de texte préféré et modifier les deux variables :

floodServerHost: ‘0.0.0.0’,
floodServerPort: 3001,

On l’installe :

npm install --production

Comme pour rTorrent, nous allons créer un script init pour faciliter la gestion.
On commence par créer l’utilisateur :

adduser --disabled-password flood

Et on ajoute les droits :

chown -R flood:flood /srv/torrent/flood/

Ensuite, on crée le script :

vim /etc/systemd/system/flood.service

Et on y ajoute ceci :

[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

On active le service flood au boot :

systemctl enable flood

Et on le démarre :

systemctl start flood

Vous devriez maintenant pouvoir accéder à flood via http://monip:3001

À votre première connexion, il vous sera demandé de créer un utilisateur / mot de passe.

Une fois l’utilisateur créé, vous pourrez commencer à utiliser votre Seedbox.

https://github.com/jfurrow/flood

Et si cela vous intéresse, vous pouvez retrouver ici, l’installation d’une seedbox avec ruTorrent : https://sqx-bki.fr/installer-une-seedbox-sous-debian-9-avec-rutorrent/