Files
repos_scripts/tor-bay
2023-09-16 18:16:39 +05:30

39 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
#this script uses the piratesbay api to search for torrents
cal_size() {
printf "%.03f\n" "$(($1 / 1000))e-6"
}
display() {
for i in $(seq $(printf "%s\nlol" "$2" | wc -l)); do
printf "[%s GB;S:%s\n" "$(cal_size "$(printf "%s" "$1" | sed -n "${i}p")")" "$(printf "%s" "$2" | sed -n "${i}p")" &
done
wait
}
case $(uname -o) in
*ndroid*)
os="droid"
script_dir="$HOME/.shortcuts"
;;
*)
os="linux"
script_dir="$HOME/repos_scripts"
;;
esac
. $script_dir/.functions
[ -z "$*" ] && search_$os "Search Torrent: " || query=$*
[ -z "$query" ] && exit 0
[ "$os" = "linux" ] && tmp=$(notify-send "Searching query" -p)
query=$(printf "%s" "$query" | tr " " "+")
data=$(curl -s "https://apibay.org/q.php?q=$query" | sed 's/},/}\n/g' | tr -d "[]")
[ "$os" = "linux" ] && notify-send "tidying up data" -r $tmp
size=$(printf "%s" "$data" | sed -nE 's/.*name.*size":"(.*)",.*user.*/\1/p')
name_seed=$(printf "%s" "$data" | sed -nE 's/.*name":"(.*)","info_hash.*seeders":"(.*)",.*num.*/\2] \1/p')
sel=$(display "$size" "$name_seed" | menu_$os "Select Torrent: " | cut -d" " -f3-)
[ -z "$sel" ] && exit 0
magnet="magnet:?xt=urn:btih:$(printf "%s" "$data" | sed -nE 's/.*name":"(.*)","info_hash":"(.*)",.*leech.*/\2\t\1/p' | sed -n "s/\t$sel//p")"
torrent_$os "$magnet"