fetch a magnet link with a search term
magnet.sh
33 lines 1.0 kB view raw
1#!/usr/bin/env bash 2 3[ -z "$1" ] && echo "Usage: $0 \"search query\"" >&2 && exit 1 4 5curl -s "https://piratebay.party/search/$(printf '%s' "$*" | jq -sRr @uri)/1/99/0" | awk -v query="$*" ' 6/title="Details for/ { 7 match($0, /Details for [^"]+/) 8 name = substr($0, RSTART + 12, RLENGTH - 12) 9 gsub(/&nbsp;/, " ", name); gsub(/&gt;/, ">", name); gsub(/&lt;/, "<", name) 10 found = 1 11} 12found && /magnet:\?/ && !mag { 13 match($0, /magnet:\?[^"]+/) 14 mag = substr($0, RSTART, RLENGTH) 15} 16found && /<td align="right">[0-9.]+&nbsp;[GMK]iB/ && !size { 17 match($0, /[0-9.]+&nbsp;[GMK]iB/) 18 size = substr($0, RSTART, RLENGTH) 19 gsub(/&nbsp;/, " ", size) 20} 21found && /<td align="right">[0-9]+</ && !se { 22 match($0, /[0-9]+/) 23 se = substr($0, RSTART, RLENGTH) 24} 25found && /<td align="right">[0-9]+</ && se && !le { 26 match($0, /[0-9]+/) 27 le = substr($0, RSTART, RLENGTH) 28 print name " | SE: " se " LE: " le " | " size 29 print mag 30 exit 31} 32END { if (!found) { print "Error: cannot find " query > "/dev/stderr"; exit 1 } } 33'