This ThePirateBay.se torrent search script is based on the quite modular Torrentz.eu one I've made a while ago. You can find it on my GitHub as will be usual for all of my future scripts and stuff, so don't forget to add me to your watch list :).
This deprecates the old TPB search script.
I'll greatly appreciate any feedback, so don't hesitate to leave a comment if you'd like to. Improvement ideas are also welcome ;).
You can also modify and reuse all my scripts listed in the repo if you feel like it as they're licensed under GPLv3.
Showing posts with label transmission. Show all posts
Showing posts with label transmission. Show all posts
ThePirateBay.se search script
Tags:
/bin/sh,
api,
git,
github,
linux,
pirate,
piratebay,
repo,
repository,
script,
scripting,
scripts,
search,
shell,
terminal,
thepiratebay,
torrent,
torrents,
transmission
My shell scripts #4 - ThePirateBay.org search API
NOTE: This script is now deprecated. Continue to the new version.
A command-line interface for ThePirateBay.org! Usage is simple:
./tpb.sh [search string]You can easily change transmission to any other torrent client (which supports adding torrents by URL via CLI). The dirty sed magic can be optimized, but it works as is, so why bother? ;) Enjoy!
![]() |
| tpb.sh script in action via PuTTY |
The code:
#!/bin/ash
search() {
q="$*"
q=`echo $q | tr ' ' '+'`
results=`wget -U Mozilla -qO - "http://thepiratebay.org/search/$q/0/7/0" \
| egrep -o '(http\:\/\/.*\.torrent)|(Size\ .*B\,)|([[:digit:]]*)' \
| sed 's///g' \
| sed 's/<\/td>//g' \
| sed 's/Size\ //g' \
| sed 's/\ \;//g' \
| sed 's/\,//g' \
| sed 's!http://torrents.thepiratebay.org!!g' \
| sed ':a;N;$!ba;s/\n/\ /g' \
| sed 's!\ \/!\n\/!g' \
| sed 's/MiB\ /M\ /g' \
| sed 's/GiB\ /G\ /g' \
| sed 's/KiB\ /K\ /g' \
| cat`
IFS=$'\n'
longest=0
for line in $results
do
length=`echo "$line" | awk '{print $1}' | wc -L`
if [ $length -gt $longest ]
then
longest=$length
fi
done
nth=0
for line in $results
do
whites=""
length=`echo $line | awk '{print $1}' | wc -L`
nth=`echo "$nth + 1" | bc -l`
spaces=`echo "$longest + 1 - $length" | bc -l`
for i in `seq 1 $spaces`
do
whites=`echo "$whites "`
done
torrent=`echo $line | awk '{print $1}' | sed 's!\/[[:digit:]]*\/!!' | sed 's!\.[[:digit:]]*\.TPB\.torrent!!' | sed 's/_/\ /g'`
size=`echo $line | awk '{print $2}'`
size=`printf '%10s' "$size"`
seeds=`echo $line | awk '{print $3}'`
seeds=`printf '%5s' "$seeds"`
peers=`echo $line | awk '{print $4}'`
peers=`printf '%5s' "$peers"`
if [ $nth -lt 10 ]
then
nth=" $nth"
fi
echo -e "$nth $torrent$whites\033[1;34m$size\t\033[1;31m$seeds\t\033[1;32m$peers\033[0m"
done
}
download() {
echo -n "Download? "
read num
if [ $num -eq 0 ]
then
exit 1
else
i=0
for line in $results
do
i=`echo "$i + 1" | bc -l`
if [ $i -eq $num ]
then
link=`echo "$line" | awk '{print $1}'`
echo "Downloading torrent file."
transmission-remote -a "http://torrents.thepiratebay.org$link"
echo "Torrent added."
exit 0
fi
done
fi
}
search $*
download
unset IFS
exit 0
Subscribe to:
Posts (Atom)

