Re,
Je me suis penché un peu sur ta requête
z3phyr wrote:
Je voudrai que la solution adéquat scan tout mes dossiers et crée le torrent de chaque fichiers, mais aussi qu'il respect les sous dossier d'une catégorie.
Pour qu'un .torrent reporte une arborescence il faut qu'elle soit inclue lors de la création.
Ce qui signifie que si tu veux avoir /Séries/HD/1080p/Série1/Saison1 à l'arrivée alors tu dois créer un .torrent de /Séries. En revanche si tu veux "juste" /Série1, tu dois faire un .torrent de ce dossier, comme tu dois le créer à partir de 1080p si tu veux ton dossier /1080p.
Donc je comprends que tu ne veuilles pas faire un .torrent d'un dossier trop gros mais dans ce cas ce sera à toi de créer l'arbo sur ton serveur. Soit une fois tous les fichiers récupérés soit lors de leur chargement (à la main donc) dans ton client BT en enregistrant chaque Série ajoutée en .torrent dans /Séries/HD/1080p etc.
Franchement chronophage. Pour ça que je te proposais la méthode Syncthing qui permet de synchroniser simplement, passivement disons, les dossiers de ton choix. Et notamment tout un dossier /Séries, même si ça prend du temps.
z3phyr wrote:Dans Sf-Fantastique j'ai un dossier "Star Wars" je voudrais pas qu'il me crée "Star Wars (1).torrent", "Star Wars (2).torrent", "Star Wars (3).torrent" etc
Mais plutôt qu'il me crée un seul torrent avec tout les films dedans, et qui se nommerai par exemple : "Star Wars-complet.torrent"
C'est possible sauf que ça implique un bon gros code qui va d'abord checker tous les noms des films/dossiers pour ensuite (et y'a souvent des erreurs) regrouper les semblables dans un dossier unique.
Puisque tu veux passer d'un dossier qui se nomme Star Wars à Star Wars Complet. Que le nom du .torrent soit déterminé par le dossier ciblé ou donné par un script, c'est vraiment pas simple à faire/déboguer.
Je comprends ton souhait de te monter ton petit tracker et tester tout ça mais là tu viens un peu avec ta b*te et ton couteau demander un truc bien compliqué "juste" pour envoyer des fichiers de chez toi sur ton serveur.
Quoiqu'il en soit, mktorrent étant très basique, voici ce qu'un script à 2 francs 6 sous donnerait :
Arborescence de base
Exécution du script, à la main & pour le dossier ciblé (pas de recherche auto etc)
┬─[ayx@Aerya:~/Documents/CloudStation/Scripts]─[11:45:56]
╰─>$ sh mktorrent1.sh /home/ayx/Bureau/Test/
Création de torrent pour le tracker Test1
mktorrent 1.0 (c) 2007, 2009 Emil Renner Berthing
Hashed 4907 of 4907 pieces.
Writing metainfo file... done.
Ce qui me donne un Test.torrent de 10Ko pour un dossier /Test de 35 fichiers & 9.6Go.
Et le dit script, simpliste au possible
#!/bin/bash
# Nom du script .. : mktorrent.sh
# Date ........... : 09.2016
# Auteur ......... : Aerya | https://upandclear.org
# Description .... : Dossier/Fichier vers .torrent + taille pieces automatisee
# Prerequis ...... : mktorrent
# Execution ...... : "sh mktorrent.sh ABC"
# Variables ...... : A definir ici et ne pas modifier la suite du script
# TRACKER ........ : URL d'annonce du tracker
TRACKER="https://annonce.tracker.bt"
# Variables ...... : A ne pas modifier
# TORRENT ........ : Nom du .torrent, d'après celui du Dossier/Fichier cible
# TAILLE ......... : Taille des pieces définie selon Dossier/Fichier (cf https://wiki.vuze.com/w/Torrent_Piece_Size)
TORRENT=$(basename "$1")
TAILLE=$(du -s "$1" | awk '{ print $1 }')
if [ $TAILLE -lt 524288 ]; then
PIECE=18
elif [ $TAILLE -lt 1048576 ]; then
PIECE=19
elif [ $TAILLE -lt 2097152 ]; then
PIECE=20
elif [ $TAILLE -lt 4194304 ]; then
PIECE=21
elif [ $TAILLE -lt 8388608 ]; then
PIECE=22
elif [ $TAILLE -lt 16777216 ]; then
PIECE=23
elif [ $TAILLE -lt 33554432 ]; then
PIECE=24
else
PIECE=25
fi
# Script ......... : NE PAS MODIFIER
# -p . ........... : private (pas de DHT)
# -l . ........... : length (taille pieces)
# -a . ........... : announce (URL tracker)
# -o . ........... : output (nom du .torrent)
# $1 . ........... : Dossier/Fichier cible
mktorrent -p -l $PIECE -a $TRACKER -o "$TORRENT" "$1"