rtorrent-cleaner

Je vous présente un outil en ligne de commande qui nettoie dans le dossier de téléchargement tous les fichiers qui ne sont pas rattachés à un torrent. Il se peut que rutorrent parfois ne supprime pas votre sélection, ou d'autre cas comme la décompression de vos archives via rutorrent dans le répertoire courant du torrent en question.

Tout cela au fil du temps engendre une accumulation de fichier inutile à rtorrent pour son bon fonctionnement, mais surtout occupe de l'espace disque pour rien.

Principe de fonctionnement

Pour le fonctionnement, rtorrent-cleaner demande à rtorrent tous les fichiers qu'il seed et construit une liste des fichiers en seed. De le même temps une liste des fichiers présents dans votre répertoire de téléchargement est créé. rtorrent-cleaner en déduit les fichiers qui sont superflus au bon fonctionnement de rtorrent et qui prennent de la place par la même occasion.

Installation

Toutes les informations pour installer rtorrent-cleaner sont disponible dans le readme

Utilisation

Cette exemple crée un rapport des fichiers en trop et des fichiers manquants.

rtorrent-cleaner report 127.0.0.1:5000

Cette exemple supprime les fichiers en trop.

rtorrent-cleaner rm 127.0.0.1:5000

Cette exemple déplace les fichiers en trop dans le dossier /downloads/old.

rtorrent-cleaner mv 127.0.0.1:5000 /downloads/old

Pour plus d'information sur l'utilisation de rtorrent-cleaner lire le readme

Vous pouvez poser vos questions ici et faire vos suggestions/propositions.
Dépôt github : https://github.com/Magicalex/rtorrent-cleaner

    14 jours plus tard

    C'est top, tu penses pouvoir facilement adapté ce script pour un système sans docker ?

    12 jours plus tard

    Magicalex

    Désolé j'avais pas vu que tu avais répondu... Merci pour ton aide.

    Je bloque dès la première étape... J'ai l'impression que xmlrpc n'est pas disponible sur debian 8.1 🙁

    Bon j'ai quand même changé la conf comme suit :

    export URL="http://rtorrent:${RPC_PORT}/RPC"
    export HOME_USER_TORRENTS="/home/user/torrents/"
    #export HOME_USER_TORRENTS="/data"
    

    Mais sans xmlrpc le script me remonte tous mes torrents en "unnecessary" 🙁 🙁

    9 mois plus tard

    J'ai totalement réécris le script en php, j'en avais marre que le script sh bug une fois sur deux. Les performances sont meilleurs et j'ai plus de bug dans les noms des fichiers 😅

    Pour ceux qui utilise pas docker : comme j'ai écris le script tout en php y aura sans doute moyen d'installer via composer le script en global. Vous pourrez je pense utiliser rtorrent-cleaner comme une commande normale.
    Si y a des cobayes je veux bien qu'ils se présentent. Et si ça marche bien je ferais un paquet composer.

    Le nom du dépôt a changé : https://github.com/Magicalex/rtorrent-cleaner


    Salut !
    Bah justement moi je suis tombé sur ce script hier : https://github.com/gartentisch/rtchecker
    qui a l'air de faire à peu près la même chose, et j'ai passé mon aprem à essayer de le faire marcher sans succès avec la config rtorrent du script d'exrat. J'arrive pas à configurer le scgi correctement dans rtchecker. Généralement en mettant `"scgi://localhost:5001" ou "scgi://127.0.0.1:5001"dans la conf rtchecker ça me donne ça :

    Refreshing list. This may take some time depending on the number of torrents...

    Traceback (most recent call last):
    File "./rtchecker.py", line 59, in <module>
    refresher()
    File "./rtchecker.py", line 41, in refresher
    torrents = rtc.download_list('')
    File "/home/koko/rtchecker/rtchecker/xmlrpc2scgi.py", line 178, in call
    xmlresp = SCGIRequest(self.url).send(xmlreq)
    File "/home/koko/rtchecker/rtchecker/xmlrpc2scgi.py", line 111, in send
    scgiresp = self.send(self.add_required_scgi_headers(data))
    File "/home/koko/rtchecker/rtchecker/xmlrpc2scgi.py", line 90, in
    send
    assert len(addrinfo) == 1, "There's more than one? %r"%addrinfo
    AssertionError: There's more than one? [(2, 1, 6, '', ('127.0.0.1', 5001)), (2, 1, 6, '', ('127.0.0.1', 5001))]

    Si j'avais vous pouvez m'éclairer je suis super preneur.

      @Magicalex bah avec plaisir, tant que ça me permet de savoir quels fichiers sont en seed et quels fichiers ne le sont pas sur mon dédié ça me va 🙂 Après ce qui est frustrant, c'est que rtchecker fonctionne toujours chez un pote qui utilise un fichier .scgi_local, donc j'aimerais bien comprendre pourquoi j'arrive pas à faire comprendre au script où regarder..

      En tout cas oui, si tu peux m'expliquer comment utiliser ton script sans docker je suis chaud !

      EDIT : ah et petite précision : je suis un gros noob, je ne parle pas php et je n'avais jamais entendu parler de composer avant ton post. Mais j'apprends vite :x

      Je reviens vers toi avec une solution. J'ai pas tout le protocole pour que ça marche du premier coup.
      Y a surement du code à changer un peu 😅

      Ok ça roule. Mon installe debian9 + script d'ex rat est toute fraîche en plus, j'ai pas encore eu le temps de trop foutre la merde donc ça devrait pas bugguer de ce côté là !

        kokogakayui donc ton XMLRPC endpoint c'est http://localhost:80/USERNAME
        Je sais pas si il faut indiquer un mot de passe.

        En tout cas tu peux commencer par installer composer.
        https://mondedie.fr/d/7407
        Fait que la partie installer composer, rendre les paquets exécutable ça sera pas nécessaire.
        ⚠ vérifies avant il est peut-être déjà installé

        Ensuite télécharge le script php

        cd /tmp
        git clone https://github.com/Magicalex/rtorrent-cleaner.git
        cd rtorrent-cleaner/rootfs/rtorrent-cleaner
        composer install

        et pour le moment attend ce soir parce que tu peux pas l'utiliser comme ça.

        todo list pour moi :

        • il faut que j'ajoute une option pour changer le home du user
        • il faut que change l'option rpc-port

        ça parait compliqué à faire fonctionner, mais j'ai une idée quand le script sera rodé pour simplifier tout ça.
        Par contre il faudra les droits root dans un premier temps pour exécuter le script...

          Magicalex a renommé le titre en rtorrent-cleaner un script pour libérer de la place sur votre seedbox !.

          Magicalex Ok c'est fait ! J'attends la suite 🙂 Pour le XMLRPC endpoint, c'est sur le port 80 même si j'ai 127.0.0.1:5001 dans ma conf rtorrent ?

            kokogakayui non ça c'est le serveur scgi on va passer par nginx. J'arrive pas à me connecter directement en php sur le serveur scgi (si quelqu'un a une solution je veux bien au passage)

            @Magicalex j'aimerai bien tester aussi. Ma config : débian 7 et install via script de @ex_rat 😉
            PS : il faudrait que j'arrive à te MP pour un truc mais je ne sais pas trop où ?

              kris06800 envoie-moi un mail à magicalex at mondedie.fr je check tous les jours cette boite

              kokogakayui pas de soucis moi je vais faire des tests de mon côté, je vous tiens au courant ici