#!/bin/bash # Config diskLimit="15" [[ -z $transUser ]] && transUser=$(grep "transUser" login.py | awk -F '=' '{ print $2 }' | tr -d '"' | tr -d ' ') [[ -z $transPwd ]] && transPwd=$(grep "transPwd" login.py | awk -F '=' '{ print $2 }' | tr -d '"' | tr -d ' ') transcmd="transmission-remote --auth $transUser:$transPwd" args="$@" name="${@:2}" [[ -z $1 ]] && echo "Please choose an option: - list - rmtracker - getid" && exit 1 # Functions getid() { if [[ -z $name ]]; then result=$($transcmd --list | grep -vE 'Sum:|ID Done' | tail -n1 | awk '{ print $1 }') elif [[ $name =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]]; then result=$name else j=0 for i in "$name"; do [[ $j == 0 ]] && result=$($transcmd --list | grep -vE 'Sum:|ID Done' | grep -i "$i") result=$(echo "$result" | grep -vE 'Sum:|ID Done' | grep -iw "$i") ((j++)) done fi if [[ $result ]]; then echo "$result" | awk '{ print $1 }' else echo "No torrent found" fi } getlowerid() { result=$($transcmd --list | head -n2 | tail -n1 | awk '{ print $1 }') echo $result } gethigherid() { result=$($transcmd --list | tail -n2 | head -n1 | awk '{ print $1 }') echo $result } checkdisk() { diskSize=$(du -hs data/files/ | awk '{ print $1 }') [[ $diskSize =~ "G" ]] && diskSize=$(echo $diskSize | tr -d 'G') || diskSize=1 [[ "$diskSize" -ge "$diskLimit" ]] && echo "You have reached the maximum space allocated to torrents: $diskSize" || echo "$diskSize" | tr ',' '.' } downloading() { result=$($transcmd --list | grep -E 'Downloading') [[ $result ]] && echo "There is a torrent downloading" } case "$1" in list) $transcmd --list ;; rmtracker) if [[ -z $name ]]; then echo "Please precise an torrentID or title of the torrent you want to anonymize" else if [[ ! "$name" =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]]; then idt=$(getid | tr -d '*') else idt=$name fi nbrID=$(echo "$idt" | wc -l) [[ $nbrID > 1 ]] && echo "You selected $nbrID torrents, please choose just one" && exit 1 [[ $idt ]] && rmtk=$($transcmd -t $idt --tracker-remove http://ygg.peer2peer.cc:8080) [[ $rmtk =~ "Error: invalid argument" ]] && echo "Tracker still removed on this torrent" && exit 1 [[ ! $idt && ! $rmtk =~ "Error: invalid argument" ]] && echo "No torrent found" && exit 1 fi ;; getid) getid ;; remove) idt=$(getid | tr -d '*') if [[ $idt =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]]; then $transcmd -t $idt --remove-and-delete > /dev/null && echo "Torrent $idt removed." || echo "Failed to remove $1" else echo "$idt" fi ;; checkdisk) checkdisk ;; getlowerid) getlowerid ;; gethigherid) gethigherid ;; downloading) downloading ;; *) cmd="$args" $transcmd "$cmd" ;; esac