OpenBSD : Service Deluge (torrent)

Article publié, le et modifié le
3 minute(s) de lecture

Cet article contient 482 mots.
Source brute de l'article : MD

Présentation

Deluge est un client BitTorrent léger, logiciel libre et multiplate-forme.

Déluge contient les fonctionnalités communes aux clients BitTorrent telles que chiffrement de protocole, DHT , découverte entre homologues locaux (LSD), échange entre homologues (PEX ), UPnP , NAT-PMP , prise en charge du proxy, ressources Web, limites de vitesse globales et par torrent.

Deluge a été conçu pour fonctionner à la fois comme une application autonome normale et en tant que client-serveur. Dans le modèle de client léger, un démon Deluge gère toute l’activité de BitTorrent et peut fonctionner sur des machines sans et avec interfaces utilisateur permettant de se connecter à distance depuis n’importe quelle autre plateforme.

Installation

Depuis la version d’OpenBSD 6.3, deluge-torrent est intégré en tant que paquet : # pkg_add deluge - ce qui installe toutes les dépendances nécessaires.

Néanmoins, il y a quelques étapes supplémentaires à franchir !

Configuration

Étape 1 : création utilisateur dédié

  • Créer un utilisateur dédié _deluge, sans droit particulier, sans shell nologin :

Code : sh

$ userinfo _deluge
login   _deluge
passwd  *
uid     706
groups  _deluge
change  NEVER
class
gecos   deluge user
dir     /home/_deluge
shell   /sbin/nologin
expire  NEVER

Étape 2 : création fichier rc

  • Créer un fichier rc dédié au binaire deluged, tel que /etc/rc.d/deluged :

Fichier : /etc/rc.d/deluged

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/bin/sh
#
# $OpenBSD: deluge,v 1.3.15 2018/10/19 19:05:00 Stephane HUC $

daemon="/usr/local/bin/deluged"
#daemon_flags=""
daemon_user="_deluge"

. /etc/rc.d/rc.subr

rc_reload=NO

rc_cmd $1

Ensuite, donnez-lui les droits d’exécution nécessaire : # chmod 0755 /etc/rc.d/deluged

Ce script permet à minima de démarrer le service : # rcctl start deluged

Attention

Étape 3 : règles PF

En admettant que vos règles bloquent tout ce qui doit être bloqué, et laissent passer les connexions entrantes et sortantes, relatives au flux déjà établis, quelques règles de cet acabit permettent de s’assurer d’un minima :

Fichier : /etc/pf.conf

(…)
deluge_web_port = "8112"
p2p_in_ports = "6881:6891"

table <t_admins> const { addr_ip_votre_station }
(…)
block log
pass out
(…)
pass in quick on egress proto tcp from <t_admins> to egress port $deluge_web_port flags S/SA modulate state
pass in quick on egress proto udp from any to egress port $p2p_in_ports allow-opts

pass out on egress inet proto tcp from egress $flag $st_mod user _deluge
(…)
  • La règle sortante semble nécessaire pour laisser sortir “tranquillement” tout le flux sortant TCP… cela permet d’interroger les différents trackers, mais aussi le flux de connexion vers les différents clients…
  • l’option user _deluge est seulement pour “obliger” que ce flux lui appartiennent - tout autre flux TCP qui ne viendrait pas de lui serait bloqué ! (c’est un pis-aller…)

Pour finir

Il ne vous reste plus qu'à exécuter le binaire deluge-web avec un autre utilisateur…


Enjoy-ID!
Enjoy-IT!