SRU

URL Fetcher (Start script)

SRU
Apr 13th, 2013
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 8.25 KB | None | 0 0
  1. ;************************************************************************************************************************************************************************
  2. ;*** #     # ######  #                                                                      #######                                          
  3. ;*** #     # #     # #            ##    ####     # #    #    ##### # ##### #      ######    #       ###### #####  ####  #    # ###### #####  
  4. ;*** #     # #     # #           #  #  #         # ##   #      #   #   #   #      #         #       #        #   #    # #    # #      #    #
  5. ;*** #     # ######  #          #    #  ####     # # #  #      #   #   #   #      #####     #####   #####    #   #      ###### #####  #    #
  6. ;*** #     # #   #   #          ######      #    # #  # #      #   #   #   #      #         #       #        #   #      #    # #      #####  
  7. ;*** #     # #    #  #          #    # #    #    # #   ##      #   #   #   #      #         #       #        #   #    # #    # #      #   #  
  8. ;***  #####  #     # #######    #    #  ####     # #    #      #   #   #   ###### ######    #       ######   #    ####  #    # ###### #    #
  9. ;************************************************************************************************************************************************************************
  10. ;*** URL / Title fetcher
  11. on $*:TEXT:/(http(s)\072\/\/.*|w{3}\..*)/iS:#: { URL.lookup $regml(1) }
  12. on $*:TEXT:/(http\072\/\/.*|w{3}\..*)/iS:#: { URL.lookup $regml(1) }
  13. ;*****************************************************************************************************************************************************************************************************************
  14. alias URL.lookup {
  15.   ;*** Other sh*t that shouldn't be lookedup ******************************************************************************************
  16.   ;if (pastebin.com isin $regml(1)) ||
  17.   if (/listen.pls isin $regml(1)) || (.pdf isin $regml(1)) || (.torrent isin $regml(1)) { return }
  18.   ;************************************************************************************************************************************
  19.   var %id = $ticks, %scheme, %user, %pass, %ssl = $false, %address = $replacex($remove($regml(1),feature=player_embedded&),youtu.be/,www.youtube.com/watch?v=,Ã,$+($chr(37),C3),¥,$+($chr(37),A5)), %request = /
  20.   $iif($chr(32) isin %address,set -u1 %address $mid(%address,1,$pos(%address,$chr(32))))
  21.   ;************************************************************************************************************************************
  22.   if ($pos(%address,://)) { var %address = $mid(%address,$calc($v1 + 3)) | if ($v1 > 1) { var %scheme = $mid($1,1,$calc($v1 - 1)) } }
  23.   if ($pos(%address,/)) { var %request = $gettok($mid(%address,$v1),1,35) }
  24.   var %address = $gettok(%address,1,47)
  25.   ;************************************************************************************************************************************
  26.   ;*** Status message
  27.   $iif($chan == #Coders,msg # Adress/Host: %address Request: %request)
  28.   ;************************************************************************************************************************************
  29.   ;*** SockOPEN
  30.   sockopen $iif(%ssl,-e) $+(dSocket,%scheme,.,%id) %address $iif(%port isnum,$v1,$iif(%ssl,443,80))
  31.   sockmark $+(dSocket,%scheme,.,%id) $ticks $ctime $network # $nick $address $+(%user,:,%pass) %request
  32.   ;************************************************************************************************************************************
  33. }
  34. ;*************************************************************************************************************************************************************************************************************************
  35.  
  36.  
  37. ;************************************************************************************************************************************
  38. on *:sockopen:dSocket*: { tokenize 32 $sock($sockname).mark
  39.   if ($sockerr) { msg $4 $+([,$sock($sockname).addr,:,$sock($sockname).port,]) $sock($sockname).wsmsg | sockclose $sockname | return }
  40.   sockwrite -n $sockname GET $8 HTTP/1.0
  41.   sockwrite -n $sockname User-Agent: Mozilla/??
  42.   sockwrite -n $sockname Host: $+($sock($sockname).addr,$iif($sock($sockname).port != 80,$+(:,$v1)))
  43.   sockwrite -n $sockname Accept: */*
  44.   if ($sock($sockname).addr == vkontakte.ru) sockwrite -n $sockname Cookie: remixsid=be06679f9f3c9a4c95a91a37d398a77f69d9cb94c9e36f6279b5198c
  45.   if (*?:?* iswm $7) sockwrite -n $sockname Authorization: Basic $encode($7,m)
  46.   sockwrite -n $sockname
  47. }
  48. on *:sockclose:dSocket*: { hfree $sockname }
  49. on *:sockread:dSocket*: { tokenize 32 $sock($sockname).mark | var %xSOCK | sockread %xSOCK
  50.   if ($sockerr) { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
  51.   ;*** Status messages (Used for testing)
  52.   elseif (%xSOCK != $null) { echo -st 4-> $v1 }
  53.   ;*** Exclude
  54.   elseif (*Accept-Ranges:* iswm %xSOCK) || (*X-Src-Webcache:* iswm %xSOCK) || (*Connection:* iswm %xSOCK) || (*TCN:* iswm %xSOCK) || (*Keep-Alive:* iswm %xSOCK) || (*X-Powered-By:* iswm %xSOCK) { return }
  55.   ;************************************************************************************************************************************
  56.   ;*** Re-Directs
  57.   if ($regex(%xSock,/Location: (.*)/)) { tokenize 32 $sock($sockname).mark
  58.     ;*** If link isn't the same as the one posted
  59.     if ($right($regml(1),$len($8)) != $8) { set -u3 %Redirect 15Re-14Directs | sockclose $sockname
  60.       if (pastebin.com isin $regml(1)) || (/listen.pls isin $regml(1)) || (.pdf isin $regml(1)) || (.torrent isin $regml(1)) { halt }
  61.       ;************************************************************************************************************************************
  62.       var %id = $ticks, %scheme, %user, %pass, %ssl = $false, %address = $replacex($remove($regml(1),feature=player_embedded&),youtu.be/,www.youtube.com/watch?v=,Ã,$+($chr(37),C3),¥,$+($chr(37),A5)), %request = /
  63.       $iif($chr(32) isin %address,set -u1 %address $mid(%address,1,$pos(%address,$chr(32))))
  64.       ;************************************************************************************************************************************
  65.       if ($pos(%address,://)) { var %address = $mid(%address,$calc($v1 + 3)) | if ($v1 > 1) { var %scheme = $mid($1,1,$calc($v1 - 1)) } }
  66.       if ($pos(%address,/)) { var %request = $gettok($mid(%address,$v1),1,35) }
  67.       var %address = $gettok(%address,1,47)
  68.       ;*** Status message *****************************************************************************************************************
  69.       ;echo 4 -at Adress/Host: %address Request: %request 9vs. $regml(1)
  70.       ;************************************************************************************************************************************
  71.       hadd -m $+(dSocket,%scheme,.,%id) KeyW $regml(1)
  72.       ;*** SockOPEN
  73.       sockopen $iif(%ssl,-e) $+(dSocket,%scheme,.,%id) %address $iif(%port isnum,$v1,$iif(%ssl,443,80))
  74.       sockmark $+(dSocket,%scheme,.,%id) $1-
  75.       ;************************************************************************************************************************************
  76.     }
  77.   }
  78.   ;*** Keywords
  79.   elseif ($between(%xSock,<meta name="keywords" content=",">,1)) || ($between(%xSock,<meta name="keywords" content="," />,1)) || ($regex(%xSock,/\<meta name="keywords" content=\"(.*)/i) || ($regex(%xSock,/'keywords' content='(.+)"/))) { hadd -m $sockname KeyW $remove($regml(1)," />,">)
  80.     if ($hget($sockname,Title)) { tokenize 32 $sock($sockname).mark | $+(.timer,$sockname) off
  81.       msg $4 Title: $+(7,$hget($sockname,Title),) $iif($hget($sockname,KeyW),$+($chr(40),$v1,$chr(41)))
  82.       sockclose $sockname
  83.     }
  84.   }
  85.   ;*** Title
  86.   elseif ($between(%xSock,<title>,</title>,1)) { hadd -m $sockname Title $regml(1)
  87.     if ($hget($sockname,KeyW)) {
  88.       msg $4 Title: $+(7,$hget($sockname,Title),) $iif($hget($sockname,KeyW),$+($chr(40),$v1,$chr(41)))
  89.       sockclose $sockname
  90.     }
  91.     else { echo 7 -at $hget($sockname,Title)
  92.       $+(.timer,$sockname) 1 1 { msg $4 Title: $+(7,$hget($sockname,Title),) $iif($hget($sockname,KeyW),$+($chr(40),$v1,$chr(41))) | sockclose $sockname }
  93.     }
  94.   }
  95. }
  96. ;*** Between alias by Gummo
  97. alias BeTween { noop $regex($1,/\Q $+ $2 $+ \E(.*?)\Q $+ $3 $+ \E/gi) | return $regml($4) }
Advertisement
Add Comment
Please, Sign In to add comment