From c1fd9e70029251754a13a1c329f94a9b71375e59 Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 20 Mar 2020 17:28:19 +0100 Subject: [PATCH] Big improvments on trans-ctl.sh library --- crawl.py | 3 +++ trans-ctl.sh | 49 ++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/crawl.py b/crawl.py index ff89e8c..4f19dd6 100755 --- a/crawl.py +++ b/crawl.py @@ -57,4 +57,7 @@ ID = subprocess.Popen(["./trans-ctl.sh -l | grep -vE 'Sum:|ID Done' | tail - print("Wait 10 seconds to get peers before remove tracker...") time.sleep(10) subprocess.call(["./trans-ctl.sh", "rmtracker", ID]) + + + print("Done") diff --git a/trans-ctl.sh b/trans-ctl.sh index dd5201d..afc7e41 100755 --- a/trans-ctl.sh +++ b/trans-ctl.sh @@ -2,20 +2,55 @@ [[ -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 ' ') -#transmission-remote -t all --auth $transUser:$transPwd "$@" +transcmd="transmission-remote --auth $transUser:$transPwd" + +[[ -z $1 ]] && echo "Please choose an option: +- list +- rmtracker +- getid" && exit 1 + +# Functions + +getid() { + if [[ -z $2 ]]; then + $transcmd --list | grep -vE 'Sum:|ID Done' | tail -n1 | awk '{ print $1 }' + else + j=0 + for i in "${@:2}"; do + [[ $j == 0 ]] && result+=$($transcmd --list | grep -vE 'Sum:|ID Done' | grep -i "$i") + result=$(echo "$result" | grep -vE 'Sum:|ID Done' | grep -i "$i") + ((j++)) + done + echo "$result" | awk '{ print $1 }' + fi +} case "$1" in - rmtracker) - transmission-remote --auth $transUser:$transPwd -t $2 --tracker-remove http://ygg.peer2peer.cc:8080 - ;; list) - transmission-remote --auth $transUser:$transPwd --list + $transcmd --list + ;; + rmtracker) + if [[ -z $2 ]]; then + echo "Please precise an torrentID or title of the torrent you want to anonymize" + else + if [[ ! "$2" =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]]; then + idt=$($transcmd --list | grep -vE 'Sum:|ID Done' | grep -i "${@:2}" | awk '{ print $1 }') + else + idt=$2 + fi + [[ $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" + fi ;; getid) - transmission-remote --auth $transUser:$transPwd --list | grep -vE 'Sum:|ID Done' | grep -i "${@:2}" | awk '{ print $1 }' + getid "$@" + ;; + remove) + echo "todo" ;; *) cmd="$@" - transmission-remote --auth $transUser:$transPwd "$cmd" + $transcmd "$cmd" ;; esac