Télécharger vos fichiers torrents automatiquement avec Flexget photo

Aujourd’hui, nouvelle étape dans l’automatisation de nos téléchargements : au lieu d’uploader un fichier .torrent ou magnet sous Transmission, nous allons installer FlexgGet qui va nous permettre de surveiller un flux RSS pour télécharger automatiquement les fichiers bittorent.

Une fois le fichier graine téléchargé, Transmission se chargera de télécharger les fichiers immédiatement. Tout sera donc automatisé !

En pré-requis, je vous conseille d’avoir Transmission installé et configuré sur votre serveur ou machine, cela vous fera gagner pas mal de temps.

Etape 1 : configuration de Transmission

Vous avez déjà Transmission qui tourne ? Parfait, on commence par arrêter le service :

service transmission-daemon stop

On crée un nouveau répertoire qui sera surveillé par Transmission – dès qu’un fichier .torrent sera ajouté dans ce répertoire, Transmission lancera le téléchargement :

mkdir /home/transmission/torrentwatch

On lui donne les bons droits et le bon utilisateur:

chown debian-transmission:debian-transmission /home/transmission/torrentwatch
chmod 777 /home/transmission/torrentwatch

et on édite le fichier de configuration:

nano /etc/transmission-daemon/settings.json

Je me suis aperçu qu’il me manquait deux directives importantes dans ce fichier pour surveiller un répertoire donc on les ajoute à la suite des autres directives :

   "watch-dir": "/home/transmission/torrentwatch",
    "watch-dir-enabled": true,

On sauvegarde le fichier et on redémarre Transmission:

service transmission-daemon start

Etape 2 : installation de Flexget

Flexget est un script Python donc il nous faut… python !

python -V

nous retourne:

Python 2.7.13

On installe pip:

apt install python-pip

On met à jour les setuptools:

pip install --upgrade setuptools

On installe flexget:

pip install flexget

On crée le répertoire de configuration:

A lire :  Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish

mkdir -p  ~/.config/flexget
cd ~/.config/flexget

On crée le fichier de configuration :

nano ~/.config/flexget/config.yml

qui contient :

templates:
  # Paramètres globaux pour les séries
  series_global:
    download: /home/transmission/torrentwatch/
    # Flux RSS à récupérer
    inputs:
      - rss: { url: 'https://example.com/feed.xml' }                      # RSS
    # Vérifier si l'épisode n'est pas déjà présent
    exists_series:
      - '/home/transmission/completed'
      - '/home/transmission/torrentwatch'
  # These are the shows I regularly watch
  series_suivies:
    # La liste des séries à suivre est dans un autre fichier
    include: [ series.yml ]
  # Paramètres pour premiers épisodes de nouvelles séries
  series_premieres:
    thetvdb_lookup: yes
    require_field: tvdb_genres
    regexp:
      reject:
        - animation: {from: tvdb_genres}
        - documentary: {from: tvdb_genres}
        - talk show: {from: tvdb_genres}
        - game show: {from: tvdb_genres}
        - reality: {from: tvdb_genres}
        - children: {from: tvdb_genres}
        - food: {from: tvdb_genres}
        - home and garden: {from: tvdb_genres}
    series_premiere: yes
# Définition des tâches : flexget execute --task XX
tasks:
  Series:
    priority: 10
    template:
      - series_global
      - series_suivies
  Series_Premieres:
    priority: 40
    template:
      - series_global
      - series_premieres
    # We use the manual plugin so that this task only runs when explicitly called
    manual: yes

et le fichier de configuration des séries :

nano ~/.config/flexget/series.yml

qui contient:

series:
  settings:
    best:
      upgrade: yes
      quality: 720p hdtv+
      target: 720p
      timeframe: 6 hours
      propers: 12 hours
    normal:
      quality: "hdtv <720p"
      target: "<720p"
      timeframe: 6 hours
      propers: 12 hours
    webrip:
      quality: "webrip|webdl <720p "
      target: "<720p"
      timeframe: 6 hours
      propers: 12 hours
  # Les series pour lesquelles je souhaite avoir les versions en 720
  best:
    - Utopia
  # Les autres series avec resolution plus basse
  normal:
    - Room 104
    - Line Of Duty
    - Ray Donovan
    - Vikings
    - Suits
    - Orphan Black
    - Game of Thrones
    - The Walking Dead
  # Pour les "web series"
  webrip:
    - House of Cards

Sauvegardez puis lancez flexget:

flexget execute

Résultat :

VERBOSE  task_queue                    There are 2 tasks to execute. Shutdown will commence when they have completed.
VERBOSE  details       Series          Produced 50 entries.
VERBOSE  series        Series          identified by is currently on `auto` for Room 104. Multiple id types may be accepted until it locks in on the appropriate type.
VERBOSE  task          Series          ACCEPTED: `Room 104 S01E03 HDTV x264-aAF` by series plugin because target quality
INFO     download      Series          Downloading: Room 104 S01E03 HDTV x264-aAF
VERBOSE  details       Series          Summary - Accepted: 1 (Rejected: 0 Undecided: 49 Failed: 0)

Boom. Flexget a trouvé un fichier torrent dans le flux RSS qui correspond à une série que l’on suit, ce fichier est placé dans le répertoire surveillé par Transmission et le fichier vidéo est téléchargé automatiquement.

A lire :  Linux Mint : changer la cible des dossiers par défaut

Etape 3 : supprimer les fichiers de Transmission une fois complétés

Etape 3 : mise en place d’un crontab

Ultime étape, nous créons une tâche planifiée qui lancera Flexget toutes les deux heures:

crontab -e

et on ajoute en fin de fichier:

0 */2 * * * /usr/local/bin/flexget execute

Et voilà, vous venez d’automatiser vos téléchargements simplement et efficacement !

Pour développer votre projet WordPress ou Woocommerce, faites appel à mon expertise pour réaliser un site rapide, performant et fonctionnel.

Contactez-moi

Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée s’il vous plaît.

Articles en rapport:

Télécharger vos fichiers torrent automatiquement avec FlexGet et Transmission

par Matt Lecture: 5 min
0

Pin It on Pinterest

Share This

Spelling error report

The following text will be sent to our editors: