Salut à tous !

Ce n'est pas grand chose mais j'ai ressenti le besoin depuis la fermeture/ouverture de t411 le besoin de créer des .torrent et des .nfo pour re-partarger à la communauté francophone les quelques films et séries que j'avais en stock.

Pour ce faire j'ai récupéré un script déjà remarquablement bien écrit ici : http://nextwarez.com/tuto-creer-torrent-mktorrent-seedbox/

C'est dailleurs un pré-requis pour que "mon script" fonctionne.

Ensuite il faut installer mediainfo (apt-get install mediainfo sur debian) https://mediaarea.net/en/MediaInfo

Pour le reste j'ai apporté mes petites modifs pour :

  • savoir le nombre de fichiers à traiter

  • savoir combien de fichiers ont déjà été traités

  • vérifier l'éxistence préalable d'un .torrent ou .nfo

Code que voici :

#
# Création de torrent
#
# * Files up to 50MiB: 32KiB piece size (2^15)
# * Files 50MiB to 150MiB: 64KiB piece size (2^16)
# * Files 150MiB to 350MiB: 128KiB piece size (2^17)
# * Files 350MiB to 512MiB: 256KiB piece size (2^18 mktorrent/ctorrent default)
# * Files 512MiB to 1.0GiB: 512KiB piece size (2^19)
# * Files 1.0GiB to 2.0GiB: 1024KiB piece size (2^20)
# * Files 2.0GiB and up: 2048KiB piece size (2^21)
#
 
# liste de trackers
declare -A TRACKERS
TRACKERS[t411-public]="udp://9.rarbg.com:2710/announce"
ANNOUNCE=
select TK in ${!TRACKERS[@]}; do
        [ -z "$TK" ] && break
        echo "Création de torrent pour le tracker $TK"
        ANNOUNCE=${TRACKERS[$TK]}
        break
done
[ -z "$ANNOUNCE" ] && { echo "Pas de tracker défini"; exit; }
 
# Traitement d'un élément
traitement() {
    TORRENT=$(basename "$1")
    TAILLE=$(du -s "$1" | awk '{ print $1 }')
 
if [ $TAILLE -lt 524288 ]; then
    P_SIZE=18
elif [ $TAILLE -lt 1048576 ]; then
    P_SIZE=19
elif [ $TAILLE -lt 2097152 ]; then
    P_SIZE=20
else
    P_SIZE=21
fi
 
if [ -f "$TORRENT".torrent ]; then
    echo "$1 possède déjà sont .torrent"
else
    mktorrent -a $ANNOUNCE -l $P_SIZE -o "$TORRENT".torrent -p "$1"
fi
 
if [ -f "$TORRENT".nfo ]; then
    echo "$1 possède déjà sont .nfo"
else
    mediainfo --LogFile="$TORRENT".nfo "$1"
fi

echo -e "\r\n ========================= \r\n" 
}

# Traitement des arguments de la ligne de commande
tot=0
for var in "$@"; do
    filename=$(basename "$var")
    ext="${filename##*.}"
    if [[ "$ext" !=  "nfo" ]] && [[ "$ext" !=  "torrent" ]]; then
        tot=$((tot+1))
    fi
done
for var in "$@"; do
    filename=$(basename "$var")
    ext="${filename##*.}"
    if [[ "$ext" !=  "nfo" ]] && [[ "$ext" !=  "torrent" ]]; then
        cpt=$((cpt+1))
        echo "Fichier $cpt/$tot"
        traitement "$var"
    fi
done

Merci du partage 🙂 J'espère que ce sera déplacé dans /Scripts

Pas trop mal

Par contre, le NFO généré est utile que si c'est un film et une musique

Pour le NFO, tu check uniquement si le nom est le même que le basename, tu pourrais faire autrement pour check tous les .nfo 😉

3 ans plus tard

Je m'arrête sur les remarques importantes, que je pense on doit les intégrer au système:
Par défaut les fichiers sources sont en /home/user/torrents (modifiable, voir variables)
En cas de non mise en seed, le fichier .torrent sera stocké en /home/user (Source Lien retiré )

    Hello Varilux Je ferme le topic car il date de plus de 3 ans il a peut être des choses qui ont changer. Et je ne vois pas ce que vient faire ce lien de top site torrent ici.

    Répondre…