💾 Archived View for ait.place › dot › bin › 1337x.txt captured on 2022-07-16 at 13:48:04.
-=-=-=-=-=-=-
#!/bin/sh baseurl="https://1337x.to" cachedir="${XDG_CACHE_HOME:-$HOME/.cache}/1337x" query=$@ #Make temp dir mkdir -p $cachedir #Prompt user if no query given [ -z "$query" ] && query=$(printf "" | dmenu -p "Search 1337x:") #exit if input is empty [ -z "$query" ] && exit 1 query="$(echo $query | sed 's/ /+/g')" #curl -s https://1337x.to/category-search/$query/Movies/1/ > $cachedir/tmp.html curl -s "https://1337x.to/search/$query/1/" > $cachedir/tmp.html # Get Titles grep -o '<a href="/torrent/.*</a>' $cachedir/tmp.html | sed 's/<[^>]*>//g' > $cachedir/titles.bw result_count=$(wc -l $cachedir/titles.bw | awk '{print $1}') [ "$result_count" -lt 1 ] && echo nothing found && exit 1 # Seeders and Leechers grep -o '<td class="coll-2 seeds.*</td>\|<td class="coll-3 leeches.*</td>' $cachedir/tmp.html | sed 's/<[^>]*>//g' | sed 'N;s/\n/ /' > $cachedir/seedleech.bw # Size grep -o '<td class="coll-4 size.*</td>' $cachedir/tmp.html | sed 's/<span class="seeds">.*<\/span>//g' | sed -e 's/<[^>]*>//g' > $cachedir/size.bw # Links grep -E '/torrent/' $cachedir/tmp.html | sed -E 's#.*(/torrent/.*)/">.*/#\1#' | sed 's/td>//g' > $cachedir/links.bw # Clearning up some data to display sed 's/\./ /g; s/\-/ /g' $cachedir/titles.bw | sed 's/[^A-Za-z0-9 ]//g' | tr -s " " > $cachedir/tmp && \ mv $cachedir/tmp $cachedir/titles.bw awk '{print NR " - ["$0"]"}' $cachedir/size.bw > $cachedir/tmp && \ mv $cachedir/tmp $cachedir/size.bw awk '{print "[S:"$1 ", L:"$2"]" }' $cachedir/seedleech.bw > $cachedir/tmp && \ mv $cachedir/tmp $cachedir/seedleech.bw # Getting the line number LINE=$(paste -d\ $cachedir/size.bw $cachedir/seedleech.bw $cachedir/titles.bw | dmenu -i -l 25 | cut -d\- -f1) [ -z "$LINE" ] && exit 1 for line in $LINE; do url=$(head -n $line $cachedir/links.bw | tail -n +$line) # Requesting page for magnet link curl -s "${baseurl}${url}/" > $cachedir/tmp.html magnet=$(grep -Po "magnet:\?xt=urn:btih:[a-zA-Z0-9]*" $cachedir/tmp.html | head -n 1) case "$(printf "mpv\\ntransadd\\ncopy" | dmenu -i -p "Current: $line ")" in mpv) setsid mpv "$magnet" >/dev/null 2>&1 & ;; transadd) transadd "$magnet" >/dev/null 2>&1 & ;; copy) echo "$magnet" | xclip -selection clipboard ;; esac done