Advertisement
calvarr

pirate-cli

Mar 13th, 2013
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.63 KB | None | 0 0
  1. #!/usr/bin/env bash
  2. torrent=rtorrent #alegeti managerul de torente, implicit este rtorrent
  3. loctorrent=$HOME/watch/ #locatia unde vor fi adunate fisierele de tip torrent, pentru rtorrent configurati ~/.rtorrentrc
  4. #################################################################################
  5. #culori:
  6. negru='\E[1;30m' rosu='\e[1;31m' verde='\e[1;32m' verdes='\e[0;32m' verdef='\e[0;30;42m' galben='\e[1;33m' albastru='\e[1;34m' purpuriu='\e[1;35m' cyan='\e[1;36m' alb='\e[1;37m' esc='\e[0m'
  7. ccautare=$verde cnr=$verde ctitlu=$verde cdate=$verdes cseed=$cyan cleecher=$albastru clinie=$galben cmagnet=$verdef$alb
  8. ###################################################################################
  9. #modalitati de sortare:
  10. #dupa peers:
  11. type1="13" name="1" se="7" le="9"
  12. sortare=$se #sortare dupa seederi
  13. #dupa continut:
  14. if [[ "$1" = "-all" ]];then continut="0" #all
  15. elif [[ "$1" = "-a" ]];then continut="100" #audio
  16. elif [[ "$1" = "-v" ]];then continut="200" #video
  17. elif [[ "$1" = "-apps" ]];then continut="300" #applications
  18. elif [[ "$1" = "-g" ]];then continut="400" #games
  19. elif [[ "$1" = "-o" ]];then continut="600" #other
  20. elif [[ "$1" = "-h" ]];then
  21. echo -e $verde "A tool for searching and downloading torrents on piratebay.se in CLI"$verdes
  22. echo -e "-all [all]"
  23. echo -e "-a [audio]"
  24. echo -e "-v [video]"
  25. echo -e "-apps [applications]"
  26. echo -e "-g [games]"
  27. echo -e "-o [other]"
  28. echo -e "-h [help]"$verde
  29. echo -e '[ex. pirate-cli -v "Matrix Reloaded"]' $esc
  30. exit
  31. else
  32. echo -e $verdes "Wrong option for help: pirate-cli -h"$esc
  33. exit
  34. fi
  35. #######################################################################################
  36. linie () {
  37. cols=`tput cols`
  38. echo -e $clinie
  39. for c in `seq 1 $cols` ; do
  40. printf %s = #deseneaza linia
  41. done
  42. echo -e $esc
  43. }
  44. #######################################################################################
  45.  
  46. titlu=$2
  47. prima=0
  48. pagina=$prima
  49. mkdir -p /tmp/pirate;chmod 775 /tmp/pirate #unele distributii nu permit scrierea in /tmp
  50. while :;do
  51. clear
  52. while :;do
  53. echo -e $ccautare
  54. echo ' .-""-.';echo '/ _ _ \';echo '|(_)(_)| Page: ' $pagina;echo '(_ /\ _)';echo ' |wwww|';echo " '-..-'";echo
  55. sleep 1
  56. ###############################################################################
  57. wget -qO - http://thepiratebay.se/search/$titlu/$pagina/$sortare/$continut|sed -n '/Search results/,/sky-banner/ p'|sed 's/ / /g;s/%40/@/g;s/%5B/[/g;s/%5D/]/g;s/%28/(/g;s/%29/)/g;s/&tr//g;s/%2C/,/g;s/%26/&/g;s/%2B/+/g;s/%2F/\//g;s/%3A/:/g;s/%3B/\;/g;s/%7B/\{/g;s/%7D/\}/g' > /tmp/pirate/pirate
  58. test2=`cat /tmp/pirate/pirate|grep "magnet:"`
  59. if [ $? != 0 ]; then linie
  60. echo -e $verdes "No results found..."
  61. linie
  62. echo -e $esc;
  63. rm -rf /tmp/pirate
  64. exit;fi;
  65. ################################################################################
  66. bucla=`cat /tmp/pirate/pirate|grep "magnet:"|wc -l`
  67. i=2
  68. for p in `seq 1 $bucla` ; do
  69. linie
  70. d=$(( i++ ))
  71. rezultat=`cat /tmp/pirate/pirate|grep "magnet:"|sed 's/=/ /g'|awk '{print $5}'|sed -n "${p}p"|sed 's/+/ /g'`
  72. date1=`cat /tmp/pirate/pirate|grep "detDesc"|sed 's/<[^>]*>/ /g'|sed -n "${p}p"`
  73. seeder=`cat /tmp/pirate/pirate|grep '"right"'|sed 's/<[^>]*>/ /g'|sed -n "${p}p"`
  74. leecher=`cat /tmp/pirate/pirate|grep '"right"'|sed 's/<[^>]*>/ /g'|sed -n "${d}p"`
  75. echo -e $cnr $p". ||" $ctitlu $rezultat|column -t
  76. echo -e $cdate $date1|column -t
  77. echo -e $cseed "seeder: " $seeder $cleecher "leecher: " $leecher|column -t
  78. done
  79. linie
  80. #################################################################################
  81. echo -e $ccautare
  82. > /tmp/pirate/pagini
  83. pagini=`cat /tmp/pirate/pirate|grep next.gif|tr -s ' ' '\n'|grep -c search`
  84. for d in `seq 0 $pagini` ; do
  85. printf %s $d"p " >> /tmp/pirate/pagini
  86. done
  87. ####################################################################################
  88. linie
  89. echo -e $ccautare"Numbers of pages: "
  90. if [[ "$pagina" = "0" ]];then
  91. colorpage1='\\e[1;33m'0p'\\e[0;32m'
  92. echo -e `cat /tmp/pirate/pagini|sed "s/0p/$colorpage1/"`
  93. else
  94. echo -e $pagcurent
  95. fi
  96. linie
  97. #####################################################################################
  98. read -p "Select numbers or 'q'uit: " magnetnr
  99. if [[ "$magnetnr" = "q" ]];then rm -rf /tmp/pirate;exit
  100. elif [[ "$magnetnr" =~ "p" ]]; then
  101. colorpage='\\e[1;33m'$magnetnr'\\e[0;32m'
  102. pagina=`echo $magnetnr|sed 's/p//'`
  103. pagcurent=$(echo `cat /tmp/pirate/pagini|sed "s/$magnetnr/$colorpage/"`)
  104. break
  105. elif [[ "$magnetnr" = *[[:digit:]]* ]];then
  106. for m in $magnetnr ; do
  107. magnet=`wget -qO - http://thepiratebay.se/search/$titlu/$pagina/$sortare/$continut|grep "magnet:"|sed 's/"/ /g'|awk '{print $3}'|sed -n "${m}p"`
  108. linie
  109. echo -e $cmagnet $magnet $esc
  110. linie
  111. printf %s $magnet' '>> /tmp/pirate/magnet
  112. echo $magnet>> /tmp/pirate/magnet2
  113. done
  114. else
  115. echo -e $verdes"Wrong option, try again..."$esc
  116. fi
  117. ####################################################################################
  118. link=`cat /tmp/pirate/magnet`
  119. OPTIUNE="start_torrent_manager_with_magnet_links convert_magnet_links_and_start_torrent_manager quit"
  120. select opt in $OPTIUNE;do
  121. if [[ "$opt" = "start_torrent_manager_with_magnet_links" ]];then
  122. $torrent $link;exit
  123. elif [[ "$opt" = "convert_magnet_links_and_start_torrent_manager" ]];then
  124. magnetnr2=`echo $magnetnr|wc -w`
  125. for t in `seq 1 $magnetnr2` ; do
  126. #rakshasa http://libtorrent.rakshasa.no/ticket/2100
  127. link2=`cat /tmp/pirate/magnet2|sed -n "${t}p"`
  128. [[ "$link2" =~ xt=urn:btih:([^&/]+) ]]|| exit;
  129. echo "d10:magnet-uri${#link2}:${link2}e" > $loctorrent"meta-${BASH_REMATCH[1]}.torrent";done;$torrent;rm -rf /tmp/pirate;exit
  130. elif [[ "$opt" = "quit" ]];then rm -rf /tmp/pirate;exit;
  131. else echo -e $verdes"Wrong option, try again..."$esc
  132. fi;done;
  133. echo -e $esc;rm -rf /tmp/pirate
  134. done;done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement