Advertisement
Guest User

gettorent for rutracker v0.1-alpha

a guest
Mar 23rd, 2011
908
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.01 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Gettorrent Script by alxrt
  4. # Version 0.1-alpha
  5.  
  6. # Синтаксис:
  7. #   ./gettorrent TOPIC_ID [-h HOST] [-u USERNAME] [-p PASSWORD] [-o filepath]
  8. #   TOPIC_ID: Идентификатор топика, к которому относится торент.
  9. #   -h HOST: Хост трекера. Обычно rutracker.org или pornolab.net ;-)
  10. #   -u USERNAME: Имя пользователя
  11. #   -p PASSWORD: Пароль пользователя
  12. #   -o filepath: Имя сохраняемого файла
  13.  
  14. # Настройки
  15.  
  16. TR_HOST="rutracker.org"
  17. TR_USER=""
  18. TR_PASSWORD=""
  19.  
  20. SC_COOKIE="/tmp/gt-$TR_HOST-$TR_USER.ck"
  21. SC_UA="Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.10 (maverick) Firefox/3.6.15"
  22. SC_FILEPATH=""
  23.  
  24.  
  25. #Functions
  26.  
  27. die() {
  28. echo "Синтаксис:"
  29. echo    "./gettorrent TOPIC_ID [-h HOST] [-u USERNAME] [-p PASSWORD] [-o filepath]"
  30. echo    "TOPIC_ID: Идентификатор топика, к которому относится торент."
  31. echo    "-h HOST: Хост трекера. Обычно rutracker.org или pornolab.net ;-)"
  32. echo    "-u USERNAME: Имя пользователя"
  33. echo    "-p PASSWORD: Пароль пользователя"
  34. echo    "-o filepath: Имя сохраняемого файла"
  35. }
  36.  
  37. waitf() {
  38.     PERIOD="1."`head -n 1 /dev/urandom |md5sum |cut -d " " -f1|sed -e "s/[a-zA-Z\s].//g"`
  39.     sleep 1.$period
  40. }
  41.  
  42. check_auth() {
  43.     if [ -w $SC_COOKIE ]; then
  44.     cookie_data=`cat $SC_COOKIE`
  45.     result=`curl -s -b $SC_COOKIE -c $SC_COOKIE -A "$SC_UA" "http://$TR_HOST/forum/index.php"|grep '<form method="post" action="http://login.rutracker.org/forum/login.php">'`
  46.     if [ -z "$result" ]; then return `true`; else return `false`; fi
  47.     else
  48.     return `false`
  49.     fi
  50.  
  51.  
  52. }
  53.  
  54. make_auth(){
  55.     if [ -w $SC_COOKIE ]; then
  56.     cookie_data=`cat $SC_COOKIE`
  57.     curl -s -b $SC_COOKIE -c $SC_COOKIE -A "$SC_UA" -d "login_username=$TR_USER" -d "login_password=$TR_PASSWORD" --data-binary "login=%C2%F5%EE%E4"  "http://login.$TR_HOST/forum/login.php">/dev/null
  58.     else
  59.     curl -s -c $SC_COOKIE -A "$SC_UA" -d "login_username=$TR_USER" -d "login_password=$TR_PASSWORD" --data-binary "login=%C2%F5%EE%E4"  "http://login.$TR_HOST/forum/login.php">/dev/null
  60.     fi
  61. }
  62.  
  63. get_torrent(){
  64.     if [ -z "$SC_FILEPATH" ]; then
  65.     curl -s -d "" -b $SC_COOKIE -c $SC_COOKIE -A "$SC_UA" -o "[$TR_HOST].t$SC_TOPICID.torrent"  -e "http://$TR_HOST/forum/viewtopic.php?t=$SC_TOPICID" "http://dl.$TR_HOST/forum/dl.php?t=$SC_TOPICID"
  66.     else
  67.     curl -s -d "" -b $SC_COOKIE -c $SC_COOKIE -A "$SC_UA" -o $SC_FILEPATH -e "http://$TR_HOST/forum/viewtopic.php?t=$SC_TOPICID" "http://dl.$TR_HOST/forum/dl.php?t=$SC_TOPICID"
  68.     fi
  69. }
  70.  
  71.  
  72. SC_TOPICID=$1||die
  73.  
  74. while shift; do
  75.     case $1 in
  76.     -h)
  77.         shift&&TR_HOST=$1||die
  78.     ;;
  79.     -u)
  80.         shift&&TR_USER=$1||die
  81.     ;;
  82.     -p)
  83.         shift&&TR_PASSWORD=$1||die
  84.     ;;
  85.     -o)
  86.         shift&&SC_FILEPATH=$1||die
  87.     ;;
  88.     esac
  89. done
  90.  
  91.  
  92. if check_auth; then
  93.     waitf
  94.     get_torrent
  95. else
  96.     waitf
  97.     make_auth
  98.     waitf
  99.     get_torrent
  100. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement