109 lines
2.7 KiB
Bash
Executable File
109 lines
2.7 KiB
Bash
Executable File
#!/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
|