Installer sa seedbox d’accord, mais c’est quoi une seedbox ?
Une seedbox qu’est-ce que c’est ?
Attention, je ne partage pas cette solution pour cautionner vos futurs téléchargements illégaux.
Avant tout, une petite mise au point, je ne veux pas partir sur le débat concernant Hadopi, chacun à le droit d’avoir son opinion sur la chose. Par conséquent, vous devez être tout à fait au courant et bien conscient que le piratage des œuvres audiovisuelles c’est mal. En d’autres termes je ne saurais être responsable de vos agissements concernant ce système de téléchargement.
Une Seedbox est un serveur informatique privé qui est dédié au stockage, au téléchargement et à l’envoi de fichiers numériques.
Généralement, une Seedbox utilise le protocole BitTorrent pour envoyer et recevoir les données. Les Seedbox connectées à des réseaux à très haut débit et sont normalement capables de télécharger de très gros fichiers en quelques minutes.
Installer sa seedbox – On commence par le choix du serveur
En premier lieu, pour installer notre seedbox il nous faut un serveur. Suivant l’utilisation que nous voulons faire de cette seedbox le serveur peut prendre plusieurs formes.
- Premièrement un serveur de récupération installé chez soi.
- Deuxièmement un serveur dédié chez un hébergeur externe.
- Troisièmement un hébergement mutualisé chez un hébergeur externe aussi.
- Finalement un serveur VPS toujours chez un hébergeur externe.
Le premier besoin d’une seedbox, c’est d’avoir une bande passante la plus large possible, afin de pouvoir télécharger le plus rapidement possible les fichiers. Donc on va oublier le premièrement.
Il ne faudrait pas non plus que cette solution nous coûte les yeux de la tête, et puis on a pas besoin d’une machine de guerre pleine de RAM avec un processeur de folie et gavée de Tera octets. Donc on va oublier aussi le deuxièmement.
Le troisièmement je ne vais pas le retenir non plus. La raison est très simple, depuis le début je cherche une bande passante maximale, ce n’est pas pour la partager avec les autres sur un serveur mutualisé, aussi puissant soit il.
Il ne reste donc plus que le quatrièmement, le serveur VPS. Si vous cherchez un peu, vous trouverez des serveurs VPS aux environs de 5 Euros par mois. J’ai choisis un VPS SSD1 de chez OVH (la publicité est totalement gratuite), il coûte 2€99 HT par mois.
Bien sûr ce n’est pas un avion de chasse il n’a qu’un seul core avec 2 Go de Ram et le disque dur ne fait que 20 Go, mais c’est du SSD et si cela ne suffit pas à mon utilisation je peux toujours ajouter un disque dur supplémentaire. Par contre la bande passante est de 100 Mbps avec le trafic illimité. Et la cherry sur le cake, il peut être hébergé dans plusieurs pays d’Europe ou d’Amérique du Nord. Voila donc le produit que je vais utiliser pour Installer sa seedbox.
Installer sa seedbox – On continue avec les softs
Lorsque vous louez un VPS chez un hébergeur, on vous demande en général quel est le système d’exploitation que vous désirez parmi un grand nombre disponible. J’utilise Debian dans sa dernière version stable.
Pourquoi ? —–> Parce que je le connais et que les habitudes sont difficile à changer à mon age avancé.
Création d’un nouvel utilisateur et de son répertoire home
root@vpsXXXXX:~#adduser --disabled-login --disabled-password --home /opt/rtorrent --system rtorrent root@vpsXXXXX:~#addgroup rtorrent root@vpsXXXXX:~#adduser rtorrent rtorrent
Mise à jour du serveur et du système
root@vpsXXXXX:~#apt update
root@vpsXXXXX:~#apt upgrade
Installation des dépendances: Apache2, PHP7 etc.
root@vpsXXXXX:~#apt -y install php php-geoip php7.0-cli php7.0-json php7.0-curl php7.0-cgi php7.0-mbstring libapache2-mod-php libapache2-mod-scgi libapache2-mod-xsendfile apache2 unrar unzip libav-tools ffmpeg mediainfo curl screen sqlite3 git net-tools sox
Installation de rtorrent.
root@vpsXXXXX:~#apt -y install rtorrent libtorrent19 libxmlrpc-core-c3
Création des répertoires indispensables au fonctionnement de rtorrent.
root@vpsXXXXX:~#mkdir -p /opt/rtorrent/{session,watch,download}
root@vpsXXXXX:~#chmod 777 -R /opt/rtorrent/{session,watch,download}
root@vpsXXXXX:~#chown rtorrent:rtorrent -R /opt/rtorrent/{session,watch,download}
Mise en place du fichier .rtorrent.rc dans le répertoire de l’utilisateur de rTorrent.
root@vpsXXXXX:~#nano /opt/rtorrent/.rtorrent.rc
scgi_port = 127.0.0.1:5000 throttle.min_peers.normal.set = 40 throttle.max_peers.normal.set = 100 throttle.min_peers.seed.set = 10 throttle.max_peers.seed.set = 100 throttle.max_uploads.set = 15 throttle.global_down.max_rate.set_kb = 0 throttle.global_up.max_rate.set_kb = 8 directory.default.set = /opt/rtorrent/download session.path.set = /opt/rtorrent/session schedule2 = watch_directory,5,5,load_start=/opt/rtorrent/session/*.torrent schedule2 = untied_directory,5,5,stop_untied= schedule2 = low_diskspace,5,60,close_low_diskspace=2000M network.port_range.set = 6890-6999 network.port_random.set = no pieces.hash.on_completion.set = no trackers.use_udp.set = yes protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext dht.mode.set = auto dht.port.set = 6881 protocol.pex.set = yes
Ctrl+x puis Y ou O pour enregistrer Entrée pour finir
Installation et configuration de ruTorrent.
root@vpsXXXXX:~#git clone https://github.com/Novik/ruTorrent.git /var/www/rutorrent/ root@vpsXXXXX:~#chown -R www-data:www-data /var/www/rutorrent
Mise à jour du répertoire de téléchargement dans le fichier de config de rtorrent
root@vpsXXXXX:~#nano /var/www/rutorrent/conf/config.php
$topDirectory = '/opt/rtorrent/download';
Selon votre distribution, les programmes utilisés par rTorrent sont dans des répertoires différents. Utilisez le service « whereis » suivi du nom de l’exécutable pour connaître sa position.
root@vpsXXXXX:~#whereis gzip
$pathToExternals = array( "php" => '/usr/bin/php', // Something like /usr/bin/php. If empty, will be found in PATH. "curl" => '/usr/bin/curl', // Something like /usr/bin/curl. If empty, will be found in PATH. "gzip" => 'bin/gzip', // Something like /usr/bin/gzip. If empty, will be found in PATH. "id" => '/usr/bin/id', // Something like /usr/bin/id. If empty, will be found in PATH. "stat" => '/usr/bin/stat', // Something like /usr/bin/stat. If empty, will be found in PATH. );
Sécurisation de l’acces à ruTorrent
On va créer le fichier .htpasswd file.
root@vpsXXXXX:~#cd /var/www/rutorrent root@vpsXXXXX:~#htpasswd -c /var/www/rutorrent/.htpasswd utilisateur
Il faudra donner un mot de passe deux fois. Utilisez un mot de passe fort.
Afin de créer des mots de passe les plus sécurisés, j’utilise le site: https://www.motdepasse.xyz/
Pour finir, on va éditer le fichier /var/www/rutorrent/.htaccess pour que le répertoire soit protégé par un mot de passe.
root@vpsXXXXX:~#nano /var/www/rutorrent/.htaccess
AuthUserFile /var/www/rutorrent/.htpasswd AuthName "ruTorrent_login" AuthType Basic require valid-user
Configuration de l’accès a ruTorrent.
Tout d’abord on va modifier le fichier /etc/apache2/sites-available/rutorrent pour ajouter un alias en début de fichier afin de rediriger les visiteurs vers le répertoire sécurisé par un mot de passe.
root@vpsXXXXX:~#nano /etc/apache2/sites-available/rutorrent.conf
# ruTorrent #=========================================================================== <IfModule alias_module> Alias /rutorrent /var/www/rutorrent/ <Directory /var/www/rutorrent/> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride all Require all granted </Directory> </IfModule> #===========================================================================
En second lieu on active le site ruttorrent.conf.
root@vpsXXXXX:~#a2ensite rutorrent.conf
En dernier lieu, il reste à lancer les modules dont Apache2 aura besoin.
root@vpsXXXXX:~#a2enmod auth_digest root@vpsXXXXX:~#a2enmod authn_file root@vpsXXXXX:~#a2enmod xsendfile root@vpsXXXXX:~#a2enmod scgi
Sécurisation du répertoire SCGI(/RPC2).
D’abord on va créer les répertoires pour les mots de passe dans /etc/apache2.
root@vpsXXXXX:~#mkdir -p /etc/apache2/passwords-{available,enabled}
On va passer dans le repertoire /etc/apache2/passwords-available pour créer un nouveau fichier contenant le mot de passe pour SCGI.
root@vpsXXXXX:~#cd /etc/apache2/passwords-available root@vpsXXXXX:~#htpasswd -c rtorrentscgi utilisateur
Comme plus haut on va vous demander deux fois le mot de passe. Utilisez encore un mot de passe fort.
Maintenant il reste à activer ce mot de passe.
root@vpsXXXXX:~#ln -s /etc/apache2/passwords-available/rtorrentscgi /etc/apache2/passwords-enabled/rtorrentscgi
Ensuite on va modifier le fichier /etc/apache2/sites-available/rtorrentscgi pour ajouter la position du fichier contenant le mot de passe.
root@vpsXXXXX:~#nano /etc/apache2/sites-available/rtorrentscgi.conf
#rTorrent SCGI Password Location #=========================================================================== <LocationMatch "/RPC2"> AuthType Basic AuthName "rtorrentscgi" AuthUserFile /etc/apache2/passwords-enabled/rtorrentscgi Require valid-user BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On Require ip 127.0.0.1 </LocationMatch> #=========================================================================== # SCGI PORT #=========================================================================== #LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so SCGIMount /RPC2 127.0.0.1:5000 #===========================================================================
Activation du site rtorrentscgi
root@vpsXXXXX:~#a2ensite rtorrentscgi.conf
Pour finir cette partie, on redémarre le serveur Apache2.
root@vpsXXXXX:~#systemctl restart apache2
Démarrage automatique de rTorrent avec systemd.
Pour commencer il faut créer un fichier rtorrent.service dans le répertoire system.
root@vpsXXXXX:~#nano /etc/systemd/system/rtorrent.service
[Unit] Description=rTorrent After=network.target [Service] UMask=002 Type=forking RemainAfterExit=yes KillMode=none User=rtorrent ExecStartPre=-/bin/rm -f /opt/rtorrent/session/rtorrent.lock ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent WorkingDirectory=/opt/rtorrent/ [Install] WantedBy=multi-user.target
Pour finir, il reste à activer ce service.
root@vpsXXXXX:~#systemctl enable rtorrent.service
À partir de là, rTorrent démarrera automatiquement avec le système dans un shell séparé en utilisant screen.
root@vpsXXXXX:~#systemctl start rtorrent - Démarrage root@vpsXXXXX:~#systemctl stop rtorrent - Arrêt root@vpsXXXXX:~#systemctl restart rtorrent - Redémarrage
Il ne reste plus qu’à démarrer le service, pas besoin de redémarrer tout le systeme
root@vpsXXXXX:~#systemctl start rtorrent
En fin de compte on peut vérifier si tout s’est bien passé
root@vpsXXXXX:~#systemctl status rtorrent

Voila tout fonctionne normalement. Il ne reste plus qu’à vous connecter avec un navigateur sur l’adresse
http://IP_addresse/rutorrent
ou bien
http://nom-de-domain/rutorrent
On va vous demander votre nom d’utilisateur et le mot de passe que vous avez donné au début. Ensuite c’est à vous de voir.

Bien sûr, maintenant que les fichiers sont téléchargés sur ce serveur, il faut aller les chercher et les rapatrier sur notre pc.
Pour ça on peut utiliser un client FTP comme Firefox (c’est juste un exemple), avec lequel on se connecte sur ce serveur en FTPS.
Ou alors on va créer un tunnel VPN entre notre PC et le serveur chez OVH.
Ça va Faire l’objet d’un prochain article.