Advertisement
mruno

(URLInf.) URL Informer

Nov 30th, 2013
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 25.93 KB | None | 0 0
  1. ;(URLInf.) URL Informer
  2. ;By Spoofing
  3. ;edited by mruno
  4. ;http://www.hawkee.com/scripts/12828336/
  5.  
  6. alias urlinf.depositfiles {
  7.   if ($sock($1).addr == depositfiles.com) {
  8.     if ($prop == sockopen) {
  9.       if (*/files/?* iswm $gettok($sock($1).mark,8,32)) {
  10.         if (/?*/files/?* iswm $v2) sockwrite -n $1 POST $+(/ru/,$gettok($v2,2-,47)) HTTP/1.0
  11.         else sockwrite -n $1 POST $+(/ru,$gettok($sock($1).mark,8,32)) HTTP/1.0
  12.         sockwrite -n $1 Content-Type: application/x-www-form-urlencoded
  13.         sockwrite -n $1 Content-Length: 16
  14.         sockwrite -n $1 Host: $sock($1).addr
  15.         sockwrite -n $1
  16.         sockwrite -n $1 gateway_result=1
  17.         return $sock($1).sent
  18.       }
  19.     }
  20.     if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  21.     var %offset = $bfind($+(&,$1),1,13 10 13 10), %name, %size, %link
  22.     if ($prop == name) {
  23.       if ($bfind($+(&,$1),%offset,<b title=")) {
  24.         var %> = $bfind($+(&,$1),$v1,>) + 1, %name = $bvar($+(&,$1),%>,$calc($bfind($+(&,$1),%>,<) - %>)).text
  25.         if ($isutf(%name)) var %name = $utfdecode(%name)
  26.       }
  27.       return %name
  28.     }
  29.     if ($prop == size) {
  30.       if ($bfind($+(&,$1),%offset,<span class="nowrap">)) var %> = $bfind($+(&,$1),$v1,<b>) + 3, %size = $replace($bvar($+(&,$1),%>,$calc($bfind($+(&,$1),%>,<) - %>)).text,&nbsp;,$chr(32))
  31.       return %size
  32.     }
  33.     if ($prop == link) {
  34.       if ($bfind($+(&,$1),%offset,id="download_url")) {
  35.         if ($bfind($+(&,$1),$v1,<form action=")) var %" = $bfind($+(&,$1),$v1,") + 1, %link = $bvar($+(&,$1),%",$calc($bfind($+(&,$1),%",") - %")).text
  36.       }
  37.       return %link
  38.     }
  39.     if ($bfind($+(&,$1),%offset,class="no_download_msg">)) return no_download_msg
  40.     if (*/files/?* iswm $gettok($sock($1).mark,8,32)) return $bvar($+(&,$1),0)
  41.   }
  42. }
  43. alias urlinf.bashorg {
  44.   if ($sock($1).addr == www.bash.org.ru) || ($sock($1).addr == bash.org.ru) {
  45.     if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  46.     var %offset = $bfind($+(&,$1),1,13 10 13 10), %quote
  47.     if ($prop == quote) {
  48.       if ($bfind($+(&,$1),%offset,<div>)) {
  49.         var %div = $v1 + 5
  50.         if ($bfind($+(&,$1),%div,</div>)) return $bvar($+(&,$1),%div,$calc($v1 - %div)).text
  51.       }
  52.       return
  53.     }
  54.     return %offset
  55.   }
  56. }
  57. alias urlinf.youtube {
  58.   return
  59.   if ($sock($1).addr == www.youtube.com) || ($sock($1).addr == youtube.com) {
  60.     if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  61.     var %offset = $bfind($+(&,$1),1,13 10 13 10), %request = $gettok($sock($1).mark,8,32)
  62.     if (/watch?v=?* iswm %request) {
  63.       var %title, %author, %date, %duration = 0, %view = 0, %rate = 0, %rates = 0, %download
  64.       if ($prop == title) {
  65.         if ($bfind($+(&,$1),%offset,'VIDEO_TITLE':)) {
  66.           var %' = $bfind($+(&,$1),$calc($v1 + 14),') + 1, %title = $bvar($+(&,$1),%',$calc($bfind($+(&,$1),%',') - %')).text
  67.           if ($isutf(%title)) var %title = $utfdecode(%title)
  68.         }
  69.         return %title
  70.       }
  71.       if ($prop == author) {
  72.         if ($bfind($+(&,$1),%offset,href="/user/)) var %/ = $bfind($+(&,$1),$calc($v1 + 10),/) + 1, %author = $bvar($+(&,$1),%/,$calc($bfind($+(&,$1),%/,") - %/)).text
  73.         return %author
  74.       }
  75.       if ($prop == date) {
  76.         if ($bfind($+(&,$1),%offset,post-date">)) var %> = $bfind($+(&,$1),$v1,>) + 1, %date = $bvar($+(&,$1),%>,$calc($bfind($+(&,$1),%>,<) - %>)).text
  77.         return %date
  78.       }
  79.       if ($prop == duration) {
  80.         if ($bfind($+(&,$1),%offset,"length_seconds":)) var %" = $bfind($+(&,$1),$calc($v1 + 18),") + 1, %duration = $bvar($+(&,$1),%",$calc($bfind($+(&,$1),%",") - %")).text
  81.         return %duration
  82.       }
  83.       if ($prop == view) {
  84.         if ($bfind($+(&,$1),%offset,watch-view-count">)) var %> = $bfind($+(&,$1),$v1,>) + 1, %view = $bvar($+(&,$1),%>,$calc($bfind($+(&,$1),%>,<) - %>)).text
  85.         return %view
  86.       }
  87.       if ($prop == rate) {
  88.         if ($bfind($+(&,$1),%offset,ratingL-)) var %- = $bfind($+(&,$1),$v1,-) + 1, %rate = $bvar($+(&,$1),%-,$calc($bfind($+(&,$1),%-,") - %-)).text
  89.         return %rate
  90.       }
  91.       if ($prop == rates) {
  92.         if ($bfind($+(&,$1),%offset,ratingL-)) var %- = $bfind($+(&,$1),$v1,-) + 1, %: = $bfind($+(&,$1),%-,:) + 2, %rates = $bvar($+(&,$1),%:,$calc($bfind($+(&,$1),%:,<) - %:)).text
  93.         return %rates
  94.       }
  95.       if ($prop == download) {
  96.         if ($bfind($+(&,$1),%offset,"fmt_url_map":)) {
  97.           var %" = $bfind($+(&,$1),$calc($v1 + 15),") + 1, %i = 255, %download = $bvar($+(&,$1),%",$calc($bfind($+(&,$1),%",") - %")).text
  98.           while (%i) var %download = $replace(%download,$+(%,$base(%i,10,16,2)),$chr(%i)), %i = %i - 1
  99.         }
  100.         return $gettok($gettok(%download,2,124),1,44)
  101.       }
  102.       return $bvar($+(&,$1),0)
  103.     }
  104.   }
  105. }
  106. alias urlinf.tinyurl {
  107.   if ($sock($1).addr == tinyurl.com) || ($sock($1).addr == www.tinyurl.com) {
  108.     if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  109.     var %offset = $bfind($+(&,$1),1,13 10 13 10), %request = $gettok($sock($1).mark,8,32)
  110.     if ($prop == redirect) {
  111.       if ($bfind($+(&,$1),1,Location:)) && ($v1 < %offset) return $bvar($+(&,$1),$calc($v1 + 10),$calc($bfind($+(&,$1),$v1,13 10) - $v1 - 10)).text
  112.       return
  113.     }
  114.     if ($prop == error) {
  115.       if ($bfind($+(&,$1),%offset,<br />)) {
  116.         var %offset = $v1
  117.         if ($bfind($+(&,$1),%offset,</h1)) {
  118.           var %h1 = $bfind($+(&,$1),%offset,<h1) + 4
  119.           return $bvar($+(&,$1),%h1,$calc($v1 - %h1)).text
  120.         }
  121.       }
  122.       return
  123.     }
  124.     if (/#* iswm %request) || (. isin %request) return
  125.     return $bvar($+(&,$1),0)
  126.   }
  127. }
  128. alias urlinf.txt {
  129.   if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  130.   if ($bfind($+(&,$1),1,13 10 13 10 239 187 191)) return UTF-8
  131.   if ($bfind($+(&,$1),1,13 10 13 10 255 254)) return UTF-16 Little Endian
  132.   if ($bfind($+(&,$1),1,13 10 13 10 254 255)) return UTF-16 Big Endian
  133.   if ($bfind($+(&,$1),1,13 10 13 10 255 254 0 0)) return UTF-32 Little Endian
  134.   if ($bfind($+(&,$1),1,13 10 13 10 0 0 254 255)) return UTF-32 Big Endian
  135. }
  136. alias urlinf.jpeg {
  137.   if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  138.   var %offset = $bfind($+(&,$1),1,13 10 13 10) + 4, %dimensions, %i = 1, %exif
  139.   if ($prop == dimensions) {
  140.     if ($sock($1).rcvd > $calc(32 * 1024)) || ($bvar($+(&,$1),$calc($sock($1).rcvd - 1),2) == 255 217) {
  141.       while ($bfind($+(&,$1),%offset,255)) {
  142.         var %offset = $v1 + 1
  143.         if ($bvar($+(&,$1),%offset,1) isnum 192-195) var %dimensions = %offset
  144.       }
  145.     }
  146.     return %dimensions
  147.   }
  148.   if ($prop == width) return $base($+($base($bvar($+(&,$1),$calc($2 + 6),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 7),1),10,16,2)),16,10)
  149.   if ($prop == height) return $base($+($base($bvar($+(&,$1),$calc($2 + 4),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 5),1),10,16,2)),16,10)
  150.   if ($prop == exif) {
  151.     return
  152.     while ($bfind($+(&,$1),%i,0)) {
  153.       var %i = $v1 + 1, %data = $bvar($+(&,$1),%i,$calc($bfind($+(&,$1),%i,0) - %i)).text
  154.       while ($left(%data,1)) && ($v1 !isalnum) var %data = $right(%data,-1)
  155.       while ($right(%data,1)) && ($v1 !isalnum) var %data = $left(%data,-1)
  156.       if (%data == Ducky) || (%data == Adobe) || (%data == JFIF) || (%data == Exif) continue
  157.       if ($len(%data) > 3) {
  158.         var %data = $urlinf.char(%data)
  159.         if ($remove(%data,:,.,-,$chr(32),$chr(44)) isalnum) var %exif = %exif $+ ; %data
  160.         if ($numtok(%data,59) > 3) || (*:*:* iswm %data) return $mid(%exif,2)
  161.       }
  162.     }
  163.   }
  164.   return $bfind($+(&,$1),1,13 10 13 10 255 216 255)
  165. }
  166. alias urlinf.gif {
  167.   if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  168.   var %offset = $bfind($+(&,$1),1,13 10 13 10) + 4
  169.   if ($prop == dimensions) {
  170.     if ($bfind($+(&,$1),1,13 10 13 10 71 73 70 56 57 97)) return $v1
  171.     if ($bfind($+(&,$1),1,13 10 13 10 71 73 70 56 55 97)) return $v1
  172.   }
  173.   if ($prop == width) return $base($+($base($bvar($+(&,$1),$calc(%offset + 7),1),10,16,2),$base($bvar($+(&,$1),$calc(%offset + 6),1),10,16,2)),16,10)
  174.   if ($prop == height) return $base($+($base($bvar($+(&,$1),$calc(%offset + 9),1),10,16,2),$base($bvar($+(&,$1),$calc(%offset + 8),1),10,16,2)),16,10)
  175.   return $bfind($+(&,$1),1,13 10 13 10 71 73 70)
  176. }
  177. alias urlinf.png {
  178.   if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  179.   var %offset = $bfind($+(&,$1),1,13 10 13 10) + 4
  180.   if ($prop == dimensions) {
  181.     if ($bfind($+(&,$1),%offset,73 72 68 82)) return $v1
  182.   }
  183.   if ($prop == width) return $base($+($base($bvar($+(&,$1),$calc($2 + 4),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 5),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 6),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 7),1),10,16,2)),16,10)
  184.   if ($prop == height) return $base($+($base($bvar($+(&,$1),$calc($2 + 8),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 9),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 10),1),10,16,2),$base($bvar($+(&,$1),$calc($2 + 11),1),10,16,2)),16,10)
  185.   return $bfind($+(&,$1),1,13 10 13 10 137 80 78 71 13 10 26 10)
  186. }
  187. alias urlinf.flv {
  188.   if ($hget(urlinf.sockets,$1,$+(&,$1)) = 0) return
  189.   var %offset = $bfind($+(&,$1),1,13 10 13 10) + 4
  190.   if ($prop) return $doublelong($bvar($+(&,$1),$calc($bfind($+(&,$1),%offset,$prop) + $len($prop) + 1),8))
  191.   return $bfind($+(&,$1),1,13 10 13 10 70 76 86)
  192. }
  193. alias urlinf.char {
  194.   var %i = 32, %str = $1
  195.   while (%i) var %str = $replace(%str,$chr(%i),$chr(32)), %i = %i - 1
  196.   return %str
  197. }
  198. alias urlinf.unicode {
  199.   if ($1 < 128) return $chr($1)
  200.   if ($1 < 2048) return $+($chr($calc(192 + $int($calc($1 / 64)))),$chr($calc(128 + ($1 % 64))))
  201.   if ($1 < 65536) return $+($chr($calc(224 + $int($calc($1 / 4096)))),$chr($calc(128 + ($int($calc($1 / 64)) % 64))),$chr($calc(128 + ($1 % 64))))
  202.   if ($1 < 2097152) return $+($chr($calc(240 + $int($calc($1 / 262144)))),$chr($calc(128 + ($int($calc($1 / 4096)) % 64))),$chr($calc(128 + ($int($calc($1 / 64)) % 64))),$chr($calc(128 + ($1 % 64))))
  203.   return ?
  204. }
  205. alias urlinf.win2koi return $replacex($1,à,Þ,á,À,â,Á,ã,Ö,ä,Ä,å,Å,¸,Å,æ,Ô,ç,Ã,è,Õ,é,È,ê,É,ë,Ê,ì,Ë,í,Ì,î,Í,ï,Î,ð,Ï,ñ,ß,ò,Ð,ó,Ñ,ô,Ò,õ,Ó,ö,Æ,÷,Â,ø,Ü,ù,Û,ý,Ù,û,Ø,þ,×,ÿ,Ú,ú,Ç,ü,Ý)
  206. alias urlinf.koi2win return $replacex($1,Þ,à,À,á,Á,â,Ö,ã,Ä,ä,Å,å,Ô,æ,Ã,ç,Õ,è,È,é,É,ê,Ê,ë,Ë,ì,Ì,í,Í,î,Î,ï,Ï,ð,ß,ñ,Ð,ò,Ñ,ó,Ò,ô,Ó,õ,Æ,ö,Â,÷,Ü,ø,Û,ù,Ù,ý,Ø,û,×,þ,Ú,ÿ,Ç,ú,Ý,ü)
  207. alias urlinf.html {
  208.   var %str = $remove($1,><,> <)
  209.   while (<![*[*]]> iswm %str) var %str = $mid(%str,$calc($pos(%str,[,2) + 1),-3)
  210.   while ($pos(%str,<)) var %str = $remove(%str,$mid(%str,$v1,$calc($pos(%str,>) - $v1 + 1)))
  211.   if (*&#*;* iswm %str) var %str = $regsubex(%str,/&#(\d+?);/g,$urlinf.unicode(\1))
  212.   return $replacex(%str,&amp;,&,&mdash;,-,&quot;,",&lt;,<,&gt;,>,&laquo;,<<,&raquo;,>>,&bull;,*,&nbsp;,$chr(32))
  213. }
  214. alias urlinf.idna {
  215.   if ($lof(dlls/idna.dll)) return $dll(dlls/idna.dll,encode,$1)
  216.   return $1
  217. }
  218. alias urlinf.space {
  219.   tokenize 32 $1
  220.   return $1-
  221. }
  222. alias urlinf.urlencode {
  223.   var %i = 128, %str = $1
  224.   while (%i <= 255) var %str = $replace(%str,$chr(%i),$+(%,$base(%i,10,16,2))), %i = %i + 1
  225.   return %str
  226. }
  227. alias urlinf.urldecode {
  228.   var %i = 255, %str = $1
  229.   while (%i) var %str = $replace(%str,$+(%,$base(%i,10,16,2)),$chr(%i)), %i = %i - 1
  230.   return %str
  231. }
  232. alias urlinf.size {
  233.   return $bytes($1).suf
  234. }
  235. alias urlinf.database {
  236.   if ($1 == load) {
  237.     if ($lof(channels/urlinf.txt)) {
  238.       if ($fopen(urlinf)) .fclose $v1
  239.       .fopen urlinf channels/urlinf.txt
  240.       while (!$feof) {
  241.         var %read = $fread(urlinf)
  242.         if (* iswm %read) {
  243.           var %database = $mid($v2,2,-1)
  244.           if ($hget(%database)) hdel -w %database *
  245.           else hmake %database
  246.         }
  247.         else hadd %database %read
  248.       }
  249.       .fclose urlinf
  250.     }
  251.   }
  252.   elseif ($1 == save) {
  253.     if ($fopen(urlinf)) .fclose $v1
  254.     .fopen -no urlinf channels/urlinf.txt
  255.     var %i = 1
  256.     while ($hget(%i)) {
  257.       var %database = $v1, %o = 1, %i = %i + 1
  258.       if (urlinf* iswm %database) {
  259.         .fwrite -n urlinf $+(,%database,)
  260.         while ($hget(%database,%o).item) {
  261.           .fwrite -n urlinf $v1 $hget(%database,$v1)
  262.           inc %o
  263.         }
  264.       }
  265.     }
  266.     .fclose urlinf
  267.   }
  268. }
  269. on *:START: {
  270.   urlinf.database load
  271.   if ($hget(urlinf,created)) return
  272.   hmake urlinf
  273.   hmake urlinf.sockets
  274.   hadd urlinf created $ctime
  275.   urlinf.database save
  276. }
  277. on *:TEXT:*:#: {
  278.   tokenize 32 $strip($1-)
  279.   while ($0) {
  280.     var %id = $ticks, %scheme, %user, %pass, %ssl = $false, %address = $1, %request = /
  281.     if ($pos(%address,://)) {
  282.       var %address = $mid(%address,$calc($v1 + 3))
  283.       if ($v1 > 1) {
  284.         var %scheme = $mid($1,1,$calc($v1 - 1))
  285.         if (*s iswm %scheme) var %ssl = $true, %scheme = $left(%scheme,-1)
  286.       }
  287.     }
  288.     if ($pos(%address,/)) var %request = $gettok($mid(%address,$v1),1,35)
  289.     var %address = $gettok(%address,1,47)
  290.     if (*?:?*@* iswm %address) {
  291.       var %user = $gettok(%address,1,58)
  292.       var %pass = $gettok($gettok(%address,2,58),1,64)
  293.     }
  294.     if ($pos(%address,@)) var %address = $mid(%address,$calc($v1 + 1))
  295.     var %host = $gettok(%address,1,58)
  296.  
  297.     if (youtube.com isin %host) || (youtu.be isin %host) return
  298.  
  299.     if (www.* iswm %host) var %scheme = http
  300.     elseif (ftp.* iswm %host) var %scheme = ftp
  301.     elseif (irc.* iswm %host) var %scheme = irc
  302.     var %port = $gettok(%address,2,58)
  303.     if (%scheme == http) {
  304.       if ($sock($+(urlinf.,%scheme,.,%id))) sockclose $v1
  305.       sockopen $iif(%ssl,-e) $+(urlinf.,%scheme,.,%id) $urlinf.idna(%host) $iif(%port isnum,$v1,$iif(%ssl,443,80))
  306.       sockmark $+(urlinf.,%scheme,.,%id) $ticks $ctime $network # $nick $address $+(%user,:,%pass) $urlinf.urlencode($utfencode(%request))
  307.     }
  308.     tokenize 32 $2-
  309.   }
  310. }
  311. on *:SOCKOPEN:urlinf.*: {
  312.   tokenize 32 $sock($sockname).mark
  313.   if ($sockerr) msg $4 $+([,$sock($sockname).addr,:,$sock($sockname).port,]) $sock($sockname).wsmsg
  314.   elseif (urlinf.http.* iswm $sockname) {
  315.     if ($urlinf.depositfiles($sockname).sockopen) return
  316.     sockwrite -n $sockname GET $8 HTTP/1.0
  317.     sockwrite -n $sockname User-Agent: Mozilla/??
  318.     sockwrite -n $sockname Host: $+($sock($sockname).addr,$iif($sock($sockname).port != 80,$+(:,$v1)))
  319.     sockwrite -n $sockname Accept: */*
  320.     if ($sock($sockname).addr == vkontakte.ru) sockwrite -n $sockname Cookie: remixsid=be06679f9f3c9a4c95a91a37d398a77f69d9cb94c9e36f6279b5198c
  321.     if (*?:?* iswm $7) sockwrite -n $sockname Authorization: Basic $encode($7,m)
  322.     sockwrite -n $sockname
  323.   }
  324. }
  325. on *:SOCKREAD:urlinf.*: {
  326.   tokenize 32 $sock($sockname).mark
  327.   if ($sockerr) {
  328.     REM msg $3 $+([,$sock($sockname).addr,:,$sock($sockname).port,]) $sock($sockname).wsmsg
  329.     hdel urlinf.sockets $sockname
  330.   }
  331.   elseif (urlinf.http.* iswm $sockname) {
  332.     sockread $+(&packet.,$sockname)
  333.     if ($sockbr = 0) return
  334.     bcopy $+(&,$sockname) $calc($hget(urlinf.sockets,$sockname,$+(&,$sockname)) + 1) $+(&packet.,$sockname) 1 -1
  335.     bunset $+(&packet.,$sockname)
  336.     hadd -b urlinf.sockets $sockname $+(&,$sockname)
  337.     if ($bfind($+(&,$sockname),1,13 10 13 10)) {
  338.       var %offset = $v1 + 4, %filename = $mkfn($urlinf.urldecode($nopath($8)))
  339.       if ($bfind($+(&,$sockname),1,Location:)) && ($v1 < %offset) {
  340.         var %location = $urlinf.char($urlinf.space($bvar($+(&,$sockname),$calc($v1 + 10),$calc($bfind($+(&,$sockname),$v1,13 10) - $v1 - 10)).text))
  341.       }
  342.       if ($bfind($+(&,$sockname),1,Content-Type:)) && ($v1 < %offset) {
  343.         var %type = $urlinf.char($urlinf.space($bvar($+(&,$sockname),$calc($v1 + 14),$calc($bfind($+(&,$sockname),$v1,13 10) - $v1 - 14)).text))
  344.         if ($pos(%type,;)) var %type = $mid(%type,1,$calc($v1 - 1))
  345.       }
  346.       if ($bfind($+(&,$sockname),1,Content-Length:)) && ($v1 < %offset) {
  347.         var %length = $urlinf.char($urlinf.space($bvar($+(&,$sockname),$calc($v1 + 16),$calc($bfind($+(&,$sockname),$v1,13 10) - $v1 - 16)).text))
  348.       }
  349.     }
  350.     elseif ($sock($sockname).rcvd > $calc(16 * 1024)) {
  351.       hdel urlinf.sockets $sockname
  352.       sockclose $sockname
  353.       return
  354.     }
  355.     else {
  356.       return
  357.     }
  358.   }
  359.   if ($bvar($+(&,$sockname),0) = 0) return
  360.   if ($urlinf.youtube($sockname)) {
  361.     if ($urlinf.youtube($sockname).view) {
  362.       if ($3 == Jabber::) {
  363.  
  364.       }
  365.       else {
  366.         msg $4 [01,00You00,04Tube]: Title: $+(,$urlinf.youtube($sockname).title,) $(|) By: $+(,$urlinf.youtube($sockname).author,) (uploaded on $urlinf.youtube($sockname).date $+ ) $(|) Duration: $+(,$duration($urlinf.youtube($sockname).duration,3),) $(|) Views: $+(,$urlinf.youtube($sockname).view,) $(|) Rating: $+(,$urlinf.youtube($sockname).rate,) ( $+ $+(,$urlinf.youtube($sockname).rates,) ratings)
  367.         msg $4 Downloading the video... $+(14,$urlinf.youtube($sockname).download,)
  368.       }
  369.       hdel urlinf.sockets $sockname
  370.       sockclose $sockname
  371.     }
  372.   }
  373.   elseif ($urlinf.tinyurl($sockname)) {
  374.     if ($urlinf.tinyurl($sockname).redirect) {
  375.       if ($3 == Jabber::) {
  376.         REM jabber $4 TinyURL ( $+ $+(http://tinyurl.com,$8) $+ ) redirects to: $urlinf.char($urlinf.tinyurl($sockname).redirect)
  377.       }
  378.       else {
  379.         msg $4 00,02TinyURL ( $+ $+(http://tinyurl.com,$8) $+ ) redirects to: $+(,$urlinf.char($urlinf.tinyurl($sockname).redirect),)
  380.       }
  381.       hdel urlinf.sockets $sockname
  382.       sockclose $sockname
  383.     }
  384.     elseif ($urlinf.tinyurl($sockname).error) {
  385.       if ($3 == Jabber::) {
  386.         REM jabber $4 TinyURL $urlinf.tinyurl($sockname).error
  387.       }
  388.       else {
  389.         msg $4 00,02TinyURL $urlinf.tinyurl($sockname).error
  390.       }
  391.       hdel urlinf.sockets $sockname
  392.       sockclose $sockname
  393.     }
  394.   }
  395.   elseif ($urlinf.depositfiles($sockname)) {
  396.     if ($v1 == no_download_msg) {
  397.       if ($3 == Jabber::) {
  398.         REM jabber $4 [depositfiles]: $utfencode(Òàêîãî ôàéëà íå ñóùåñòâóåò èëè îí áûë óäàëåí èç-çà íàðóøåíèÿ àâòîðñêèõ ïðàâ.)
  399.       }
  400.       else {
  401.         msg $4 [01,00de05,00p04,00o01,00sit14,00files]: Òàêîãî ôàéëà íå ñóùåñòâóåò èëè îí áûë óäàëåí èç-çà íàðóøåíèÿ àâòîðñêèõ ïðàâ.
  402.       }
  403.       hdel urlinf.sockets $sockname
  404.       sockclose $sockname
  405.     }
  406.     elseif ($urlinf.depositfiles($sockname).link) {
  407.       if ($3 == Jabber::) {
  408.         REM jabber $4 [depositfiles]: $urlinf.depositfiles($sockname).name ( $+ $urlinf.depositfiles($sockname).size $+ ) @ $urlinf.depositfiles($sockname).link
  409.       }
  410.       else {
  411.         msg $4 [01,00de05,00p04,00o01,00sit14,00files]: $+(,$urlinf.depositfiles($sockname).name,) ( $+ $urlinf.depositfiles($sockname).size $+ ) @ $+(14,$urlinf.depositfiles($sockname).link,)
  412.       }
  413.       hdel urlinf.sockets $sockname
  414.       sockclose $sockname
  415.     }
  416.   }
  417.   elseif ($urlinf.bashorg($sockname)) {
  418.     if ($urlinf.bashorg($sockname).quote) {
  419.       var %i = 1, %quote = $urlinf.html($replace($v1,<br>,$chr(1)))
  420.       while ($gettok(%quote,%i,1)) {
  421.         msg $4 14> $v1
  422.         inc %i
  423.       }
  424.       hdel urlinf.sockets $sockname
  425.       sockclose $sockname
  426.     }
  427.   }
  428.   elseif ($urlinf.jpeg($sockname)) {
  429.     if ($urlinf.jpeg($sockname,%length).dimensions) {
  430.       var %dimensions = $v1, %exif
  431.       if ($urlinf.jpeg($sockname).exif) var %exif = (Exif: $v1 $+ )
  432.       if ($3 == Jabber::) {
  433.         REM jabber $4 PIC: $+(JPEG[,%type,]) $+(w:,$urlinf.jpeg($sockname,%dimensions).width) $+(h:,$urlinf.jpeg($sockname,%dimensions).height) %exif @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  434.       }
  435.       else {
  436.         msg $4 PIC: $+(JPEG[,%type,]) $+(w:,$urlinf.jpeg($sockname,%dimensions).width) $+(h:,$urlinf.jpeg($sockname,%dimensions).height) %exif @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  437.         ;msg $4 Image: Format: $+(JPEG[,%type,]) :: Dimensions: $+($urlinf.jpeg($sockname,%dimensions).width,x,$urlinf.jpeg($sockname,%dimensions).height) px. @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  438.       }
  439.       hdel urlinf.sockets $sockname
  440.       sockclose $sockname
  441.     }
  442.     elseif ($sock($sockname).rcvd > $calc(64 * 1024)) {
  443.       hdel urlinf.sockets $sockname
  444.       sockclose $sockname
  445.     }
  446.   }
  447.   elseif ($urlinf.gif($sockname)) {
  448.     if ($urlinf.gif($sockname).dimensions) {
  449.       if ($3 == Jabber::) {
  450.         REM jabber $4 PIC: $+(GIF[,%type,]) $+(w:,$urlinf.gif($sockname,%dimensions).width) $+(h:,$urlinf.gif($sockname,%dimensions).height) @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  451.       }
  452.       else {
  453.         msg $4 PIC: $+(GIF[,%type,]) $+(w:,$urlinf.gif($sockname).width) $+(h:,$urlinf.gif($sockname).height) @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  454.         ;msg $4 Image: Format: $+(GIF[,%type,]) :: Dimensions: $+($urlinf.gif($sockname,%dimensions).width,x,$urlinf.gif($sockname,%dimensions).height) px. @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  455.       }
  456.       hdel urlinf.sockets $sockname
  457.       sockclose $sockname
  458.     }
  459.     elseif ($sock($sockname).rcvd > $calc(4 * 1024)) {
  460.       hdel urlinf.sockets $sockname
  461.       sockclose $sockname
  462.     }
  463.   }
  464.   elseif ($urlinf.png($sockname)) {
  465.     if ($urlinf.png($sockname).dimensions) {
  466.       var %dimensions = $v1
  467.       if ($3 == Jabber::) {
  468.         REM jabber $4 PIC: $+(PNG[,%type,]) $+(w:,$urlinf.png($sockname,%dimensions).width) $+(h:,$urlinf.png($sockname,%dimensions).height) @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  469.       }
  470.       else {
  471.         msg $4 PIC: $+(PNG[,%type,]) $+(w:,$urlinf.png($sockname,%dimensions).width) $+(h:,$urlinf.png($sockname,%dimensions).height) @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  472.         ;msg $4 Image: Format: $+(PNG[,%type,]) :: Dimensions: $+($urlinf.png($sockname,%dimensions).width,x,$urlinf.png($sockname,%dimensions).height) px. @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  473.       }
  474.       hdel urlinf.sockets $sockname
  475.       sockclose $sockname
  476.     }
  477.     elseif ($sock($sockname).rcvd > $calc(16 * 1024)) {
  478.       hdel urlinf.sockets $sockname
  479.       sockclose $sockname
  480.     }
  481.   }
  482.   elseif ($urlinf.txt($sockname)) {
  483.     if ($urlinf.txt($sockname).codepage) {
  484.       if ($3 == Jabber::) {
  485.         REM jabber $4 TEXT: $+([,%type,]) $urlinf.txt($sockname).codepage @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  486.       }
  487.       else {
  488.         msg $4 TEXT: $+([,%type,]) $urlinf.txt($sockname).codepage @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  489.       }
  490.       hdel urlinf.sockets $sockname
  491.       sockclose $sockname
  492.     }
  493.     elseif ($sock($sockname).rcvd > $calc(2 * 1024)) {
  494.       hdel urlinf.sockets $sockname
  495.       sockclose $sockname
  496.     }
  497.   }
  498.   elseif ($urlinf.flv($sockname)) {
  499.     if ($bvar($+(&,$sockname),0) < 8192) return
  500.     if ($3 == Jabber::) {
  501.       REM jabber $4 VIDEO: $+(FLV[,%type,]) $+(w:,$urlinf.flv($sockname).width) $+(h:,$urlinf.flv($sockname).height) @ $int($urlinf.flv($sockname).framerate) FPS, $duration($urlinf.flv($sockname).duration,3) (Videocodec: $replacex($urlinf.flv($sockname).videocodecid,0,H.264,2,Sorenson H.263,3,Macromedia Screen Video,4,VP6-E,5,VP6-S,6,Macromedia Screen Video 2) $+ , $int($urlinf.flv($sockname).videodatarate) $+(kbit/s,;) Audiocodec: $replacex($urlinf.flv($sockname).audiocodecid,0,RAW (PCM),1,ADPCM,2,MP3,6,Nellymoser,11,Speex) $+ , $int($urlinf.flv($sockname).audiodatarate) kbit/s) @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  502.     }
  503.     else {
  504.       msg $4 VIDEO: $+(FLV[,%type,]) $+(w:,$urlinf.flv($sockname).width) $+(h:,$urlinf.flv($sockname).height) @ $int($urlinf.flv($sockname).framerate) FPS, $duration($urlinf.flv($sockname).duration,3) (Videocodec: $replacex($urlinf.flv($sockname).videocodecid,0,H.264,2,Sorenson H.263,3,Macromedia Screen Video,4,VP6-E,5,VP6-S,6,Macromedia Screen Video 2) $+ , $int($urlinf.flv($sockname).videodatarate) $+(kbit/s,;) Audiocodec: $replacex($urlinf.flv($sockname).audiocodecid,0,RAW (PCM),1,ADPCM,2,MP3,6,Nellymoser,11,Speex) $+ , $int($urlinf.flv($sockname).audiodatarate) kbit/s) @ $iif(%length,$urlinf.size($v1),[rcvd] $urlinf.size($sock($sockname).rcvd))
  505.     }
  506.     hdel urlinf $sockname
  507.     sockclose $sockname
  508.   }
  509.   elseif ($bfind($+(&,$sockname),%offset,<html)) {
  510.     if ($bfind($+(&,$sockname),%offset,<title)) {
  511.       var %> = $bfind($+(&,$sockname),$v1,>) + 1, %</ = 4096, %lost = ... (packet lost)
  512.       if ($bfind($+(&,$sockname),%>,</)) {
  513.         var %</ = $v1 - %>, %lost
  514.         if (%</ > 4096) var %</ = $v2
  515.       }
  516.       if ($bvar($+(&,$sockname),%>,%</).text) {
  517.         var %title = $urlinf.html($urlinf.char($v1)), %rutracker
  518.         if ($isutf(%title)) var %title = $utfdecode(%title)
  519.         if ($len(%title) > 256) var %title = $left(%title,128) ... (over 256 byte, truncated to 128)
  520.         if (*rutracker.org iswm $sock($sockname).addr) {
  521.           if (/forum/viewtopic.php?t=* iswm $8) var %rutracker = @ $+(12,http://dl.rutracker.org/forum/dl.php?t=,$gettok($gettok($8,2,61),1,38),)
  522.         }
  523.         if ($3 == Jabber::) {
  524.           REM jabber $4 URL: %title %lost %rutracker
  525.         }
  526.         else {
  527.           msg $4 URL: %title %lost %rutracker
  528.         }
  529.       }
  530.       else {
  531.         if ($3 == Jabber::) {
  532.           REM jabber $4 URL: (title is empty)
  533.         }
  534.         else {
  535.           ;msg $4 URL: (title is empty)
  536.         }
  537.       }
  538.       hdel urlinf.sockets $sockname
  539.       sockclose $sockname
  540.     }
  541.     elseif ($sock($sockname).rcvd > $calc(16 * 1024)) || (%length == $calc($v1 - %offset + 1)) || ($bfind($+(&,$sockname),%offset,</html)) {
  542.       if ($3 == Jabber::) {
  543.         REM jabber $4 URL: (no title found in this page)
  544.       }
  545.       else {
  546.         ;msg $4 URL: (no title found in this page)
  547.       }
  548.       hdel urlinf.sockets $sockname
  549.       sockclose $sockname
  550.     }
  551.   }
  552.   elseif ($sock($sockname).rcvd > %offset) {
  553.     hdel urlinf.sockets $sockname
  554.     sockclose $sockname
  555.   }
  556. }
  557. on *:SOCKCLOSE:urlinf.*: {
  558.   hdel urlinf.sockets $sockname
  559. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement