Advertisement
independentt

Proxy Studio v1.3 - by independent

Nov 26th, 2017
23,831
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 22.85 KB | None | 0 0
  1. ;Proxy & Socks Scanner by independent with nice dialogs & statistics.
  2. ;Will be updating this script from time to time.
  3. ;Thank you about keeping credits to me, the creator of this script.
  4. ;Skype independentt911 - /server irc-1.iownyour.biz +6697
  5.  
  6. dialog proxystudio {
  7.   title "Proxy Studio v1.3 by independent"
  8.   size -1 -1 975 641
  9.   option pixels notheme
  10.   tab "Scanner", 2, 3 1 963 629
  11.   tab "Working Proxys", 20
  12.   tab "Proxy files And Leecher", 30
  13.   box "Proxy to test", 4, 18 32 134 576, tab 2
  14.   edit "Add proxy here", 5, 26 50 124 552, tab 2 group autohs autovs multi return vsbar limit 0
  15.   radio "Connect Proxys", 6, 156 42 100 18, tab 2
  16.   radio "Socks 4 ", 7, 156 66 100 18, tab 2
  17.   radio "Socks 5", 8, 156 90 100 18, tab 2
  18.   button "Start Scanning", 9, 262 40 98 70, tab 2
  19.   box "Sockets", 10, 152 116 208 98, tab 2
  20.   text "Open:", 11, 156 132 190 16, tab 2
  21.   text "Working Proxys:", 12, 156 154 192 18, tab 2
  22.   box "Settings", 13, 364 80 104 122, tab 2
  23.   edit "172.86.120.218", 14, 366 116 100 20, tab 2
  24.   text "IRC Server test IP", 15, 368 98 96 16, tab 2
  25.   text "ms between threads", 16, 368 140 100 16, tab 2
  26.   edit "200", 17, 390 159 40 20, tab 2
  27.   box "Debug", 18, 164 216 506 404, tab 2
  28.   edit "Scan OUTPUT", 19, 172 234 424 378, tab 2 read autohs autovs multi return vsbar
  29.   box "Connect Proxys", 21, 188 32 168 580, tab 20
  30.   box "Socks 4", 22, 366 32 182 580, tab 20 result
  31.   box "Socks 5", 23, 570 32 194 580, tab 20 result
  32.   edit "", 24, 194 54 154 512, tab 20 result autohs autovs multi return vsbar
  33.   edit "", 25, 376 52 162 518, tab 20 autohs autovs multi return vsbar limit 0
  34.   edit "", 26, 576 54 182 516, tab 20 result autohs autovs multi return vsbar
  35.   button "Save", 27, 192 572 66 24, tab 20
  36.   button "Save", 28, 370 574 64 26, tab 20
  37.   button "Save", 29, 578 574 64 26, tab 20
  38.   link "www.pastebin.com/u/independentt", 45, 710 0 194 18, tab 20
  39.   link "www.pastebin.com/u/independentt", 46, 698 2 184 18, tab 2
  40.   link "www.pastebin.com/u/independentt", 47, 721 3 176 16, tab 30
  41.   text "This will scan the selected proxy lists from *.txt or *log", 31, 4 268 266 30, tab 30
  42.   button "Scan my files, NOW.", 32, 10 297 142 68, tab 30
  43.   radio "Connect Proxy", 33, 172 300 100 16, tab 30
  44.   radio "Socks 4", 34, 172 315 100 16, tab 30
  45.   radio "Socks 5", 35, 171 333 100 18, tab 30
  46.   button "Clear", 36, 644 574 64 26, tab 20
  47.   button "Filter", 37, 708 574 50 26, tab 20
  48.   button "Clear", 38, 434 574 66 26, tab 20
  49.   button "Filter", 39, 500 574 36 26, tab 20
  50.   button "Clear", 40, 258 572 66 24, tab 20
  51.   button "Filter", 41, 322 572 34 24, tab 20
  52.   box "MASS SCANNER", 42, 2 253 272 124, tab 30
  53.   box "Stats", 43, 14 34 146 530, tab 20
  54.   text "Total Proxys Scanned:", 44, 22 54 132 70, tab 20
  55.   text "Total Valid Proxys:", 48, 20 128 136 82, tab 20
  56.   text "Connection Errors:", 49, 18 218 136 92, tab 20
  57.   box "Proxy Leecher", 50, 276 48 531 572, tab 30
  58.   edit "http://www.vipsocks24.net/2017/11/16-11-17-vip-socks-5-servers-4150.html", 51, 285 104 384 434, tab 30 autohs autovs multi return hsbar
  59.   button "Leech", 52, 375 75 66 24, tab 30
  60.   button "Save", 53, 442 76 64 24, tab 30
  61.   button "Clear", 54, 506 75 64 24, tab 30
  62.   button "Load list", 55, 311 75 64 24, tab 30
  63.   box "Stats", 56, 668 146 127 319, tab 30
  64.   text "Number of Leeched lists:", 57, 667 160 128 92, tab 30
  65.   button "Stop scanner NOW!", 59, 366 38 100 40, tab 2
  66.   text "Number of Leechable Sites:", 60, 668 253 126 66, tab 30
  67.   text "Protocol", 64, 154 25 102 18, tab 2 center
  68.   box "WHOIS tool", 65, 772 35 169 368, tab 20 result
  69.   edit "", 66, 782 61 121 20, tab 20 limit 0
  70.   button "Whois IP", 67, 794 79 65 25, tab 20
  71.   button "Clear", 69, 597 235 65 369, tab 2
  72.   box "Blacklist Scanner", 70, 481 45 291 104, tab 2
  73.   text "Proxies filtered out", 71, 490 70 166 17, tab 2
  74.   box "WHOIS info", 79, 781 203 149 185, tab 20
  75.   edit "", 80, 788 222 134 159, tab 20 result multi return hsbar
  76.   text "Filter proxy before scanning ", 72, 489 98 267 38, tab 2
  77.   check "ENABLE", 73, 504 112 100 17, tab 2
  78.   button "Edit Blacklist", 74, 672 65 65 25, tab 2
  79.   menu "File", 1
  80.   item "STOP ALL", 63, 1
  81.   item "Item3", 3, 1
  82. }
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. on 1:dialog:proxystudio:sclick:9: {
  90.   hadd -m proxyset max $did(proxystudio,5,0).lines
  91.   .timerSCLICK -om $hget(proxyset,max) %interval pxys
  92.  
  93. }
  94. on 1:dialog:proxystudio:sclick:6: {
  95.   hadd -m proxyset ext pxy
  96. }
  97. on 1:dialog:proxystudio:sclick:7: {
  98.   hadd -m proxyset ext s4
  99. }
  100. on 1:dialog:proxystudio:sclick:8: {
  101.   hadd -m proxyset ext s5
  102. }
  103. on 1:dialog:proxystudio:sclick:33: {
  104.   hadd -m proxyset ext2 pxy
  105. }
  106. on 1:dialog:proxystudio:sclick:34: {
  107.   hadd -m proxyset ext2 s4
  108. }
  109. on 1:dialog:proxystudio:sclick:35: {
  110.   hadd -m proxyset ext2 s5
  111. }
  112. on 1:dialog:proxystudio:sclick:37: {
  113.   filterdiag 26
  114. }
  115. on 1:dialog:proxystudio:sclick:39: {
  116.   filterdiag 25
  117. }
  118. on 1:dialog:proxystudio:sclick:41: {
  119.   filterdiag 24
  120. }
  121. on 1:dialog:proxystudio:sclick:36: {
  122.   cleardiag 26
  123. }
  124. on 1:dialog:proxystudio:sclick:38: {
  125.   cleardiag 25
  126. }
  127. on 1:dialog:proxystudio:sclick:40: {
  128.   cleardiag 24
  129. }
  130.  
  131. on 1:dialog:proxystudio:sclick:58: {
  132.   abord
  133.  
  134. }
  135. on 1:dialog:proxystudio:sclick:59: {
  136.   abord
  137.  
  138. }
  139. on 1:dialog:proxystudio:sclick:69: {
  140.   cleardiag 19
  141. }
  142. on 1:dialog:proxystudio:sclick:52: {
  143.   leech
  144.  
  145. }
  146. on 1:dialog:proxystudio:sclick:54: {
  147.   cleardiag 51
  148. }
  149. on 1:dialog:proxystudio:sclick:55: {
  150.   loadbuf -oi proxystudio 51 leech.txt
  151.   did -a proxystudio 60 Number of Leechable Sites: $lines(leech.txt)
  152.  
  153. }
  154. on 1:dialog:proxystudio:sclick:53: {
  155.   savebuf -oi proxystudio 51 leech.txt
  156.   did -a proxystudio 60 Number of Leechable Sites: $lines(leech.txt)
  157.  
  158. }
  159. on 1:dialog:proxystudio:sclick:62: {
  160.   write leech.txt $did(proxystudio,61) $CRLF
  161.   loadbuf -oi proxystudio 51 leech.txt
  162.   did -a proxystudio 60 Number of Leechable Sites: $lines(leech.txt)
  163. }
  164. alias sortnumber {
  165.   return $iif($1 > $2, 1, $iif($1 == $2,0,-1))
  166. }
  167. alias filterdiag {
  168.   filter -iocsa proxystudio $1 proxystudio $1 sortnumber
  169. }
  170. alias cleardiag {
  171.   did -r proxystudio $1
  172. }
  173. on 1:dialog:proxystudio:sclick:27: {
  174.   %name = Valid.Proxys. $+ $ticks $+ .txt
  175.   savebuf -o proxystudio 24 %name
  176.   run %name
  177. }
  178. on 1:dialog:proxystudio:sclick:28: {
  179.   %name = Valid.socks4. $+ $ticks $+ .txt
  180.   savebuf -o proxystudio 25 %name
  181.   run %name
  182. }
  183. on 1:dialog:proxystudio:sclick:29: {
  184.   %name = Valid.socks5. $+ $ticks $+ .txt
  185.   savebuf -o proxystudio 26 %name
  186.   run %name
  187. }
  188. on 1:dialog:proxystudio:sclick:68: {
  189.   hadd -m proxyset max $did(proxystudio,24,0).lines
  190.   :loop
  191.   hinc -u5 proxyset inc
  192.  
  193.   if ($hget(proxyset,inc) < $hget(proxyset,max)) { resolve $gettok($did(proxystudio,24,$hget(proxyset,inc)),1,58) | goto loop }
  194. }
  195. on 1:dialog:proxystudio:sclick:32: {
  196.   if ($hget(proxyset,ext2) == pxy) selectmultiplefile
  197.   if ($hget(proxyset,ext2) == s4) selectmultiplefiles4
  198.   if ($hget(proxyset,ext2) == s5) selectmultiplefiles5
  199. }
  200. on 1:dialog:proxystudio:edit:17: {
  201.   did -a proxystudio 19 Interval changed to $did(proxystudio,17) $CRLF
  202.   set %interval $did(proxystudio,17)
  203. }
  204. on 1:dialog:proxystudio:edit:14: {
  205.   set %def.s $did(proxystudio,14)
  206.   did -a proxystudio 19 IRC server changed to $did(proxystudio,14) $crlf
  207. }
  208. on 1:dialog:proxystudio:edit:10: {
  209.   did -a proxystudio 19 Proxys added to scan: $did(proxystudio,10).len $crlf
  210. }
  211. on 1:dialog:proxystudio:sclick:38: {
  212.   hadd -m proxyset max $did(proxystudio,5,0).lines
  213.   .timerSCLICK -om $hget(proxyset,max) %interval pxys
  214.  
  215. }
  216.  
  217. on 1:dialog:proxystudio:sclick:67: {
  218.   resolve $did(proxystudio,66)
  219. }
  220. on 1:dialog:proxystudio:sclick:74: {
  221.   RUN NOTEPAD blacklist.txt
  222. }
  223.  
  224. alias pxys {
  225.   hinc -u5 proxyset inc
  226.  
  227.   if ($hget(proxyset,ext) == pxy) || (!$hget(proxyset,ext)) sc4n $did(proxystudio,5,$hget(proxyset,inc))
  228.   if ($hget(proxyset,ext) == s4) s4.scan $did(proxystudio,5,$hget(proxyset,inc))
  229.   if ($hget(proxyset,ext) == s5) s5.scan $did(proxystudio,5,$hget(proxyset,inc))
  230. }
  231.  
  232.  
  233.  
  234. alias -l htmlfree {
  235.   var %x, %i = $regsub($replace($1-,<td>,$chr(32),<tr>,$chr(20),<br>,$chr(20)),/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;)
  236.   return %x
  237. }
  238. ALIAS DEF.p { %z = $r(0,1) | if (%z) return %def.p | else return 6667 }
  239. ALIAS DEF.S { return %def.s }
  240. alias getiphost2 {
  241.   %var = /\b((?:(?:[a-z]+)\.)+(?:[a-z]+)[: ]\d{2,5})\b|\b((?:(?:(25[1-5]|2[1-4]\d|[01]?\d?\d))\.){3}(?3)[: ]\d{2,5})\b/i
  242.   if $regex(ip,$remove($1-,$chr(9)),%var) {
  243.     return $replace($regml(ip,1),:,$chr(32))
  244.   }
  245. }
  246. alias getsource {
  247.   %out = $shortfn($mircdirleech $+ . $+ $hget(proxyset,ext2) $+ . $+ $ctime $+ .txt)
  248.   if ($isfile(get.vbs)) .remove get.vbs
  249.   %a = write get.vbs
  250.   %a Dim FSO, dFile, sHTML
  251.  
  252.   %a sHTML = Get_HTML(" $+ $1 $+ ")
  253.  
  254.   %a Set FSO = CreateObject("Scripting.FileSystemObject")
  255.   %a Set dFile = FSO.CreateTextFile(" $+ %out $+ ", True)
  256.  
  257.   %a dFile.Write sHTML
  258.   %a dFile.Close
  259.  
  260.   %a Private Function Get_HTML (up_http)
  261.   %a  Dim xmlhttp
  262.   %a  Set xmlhttp = createobject("MSXML2.XMLHTTP")
  263.  
  264.   %a  xmlhttp.open "get", up_http, False
  265.   %a  xmlhttp.send
  266.   %a  Get_HTML = xmlhttp.responsetext
  267.  
  268.   %a  set xmlhttp = Nothing
  269.   %a End Function
  270.   run get.vbs
  271.   return %out
  272.   run %out
  273. }
  274. alias leech {
  275.   if (!%interval) %interval = 100
  276.   did -a proxystudio 19 $timestamp * Now leeching proxy-lists over the web. $crlf
  277.   set %site.max $lines(leech.txt)
  278.   set %site.inc 0
  279.   :GO
  280.   inc %site.inc
  281.   .timer -o 1 $calc(%site.inc *5) pxx %site.inc
  282.   if (%site.inc < %site.max) goto go
  283.   else { halt }
  284. }
  285. alias pxx { did -a proxystudio 19 Leeching...saving to: $getsource($read(leech.txt,$1)) %interval ms $crlf | did -a proxystudio 57 Number of Leeched lists: %site.inc }
  286. alias getURL {
  287.   noop $regex($1,/(((http(s)?\72(\57{2}))|(www\56{1}))+(\w*)+(\56{1})+(\w{2,3})\S*)/Sig))
  288.   return $regml(1)
  289. }
  290. alias sc5nfile { s5.scan $1- }
  291. alias sc4nfile { s4.scan $1- }
  292. alias sc4n {
  293.   hadd -m proxyset filtered $gettok($1,1-2,46) $+ *
  294.   if ($read(blacklist.txt,w,$hget(proxyset,filtered),1)) && ($did(proxystudio,73).enabled == $true) { did -a proxystudio 19 $1 $2 FILTERED/BLACKLIST Proxy $crlf | hinc -m proxyset filter | did -a proxystudio 71 Proxies filtered out: $hget(proxyset,filter) $CRLF | return }
  295.   if (*.*.*.*  iswm $1-) && ($1 != x) && ($2)  {
  296.     if ($read($pxy,w,* $+ $1 $+ *) != $null) { did -a proxystudio 19 $1 $2 Already in list, halted scan. $crlf | return }
  297.     did -a proxystudio 19 Scanning: $1 $2 $crlf
  298.     sockopen scan $+ $r(0,99999999999999) $1 $2
  299.     return
  300.   }
  301.   if ($getiphost2($1-)) {
  302.     if ($read($pxy,w,* $+ $gettok($getiphost2($1-),1,32) $+ *) != $null) { did -a proxystudio 19 $1 $+ : %+ $2 Already in list, halted scan. $crlf | goto next }
  303.     did -a proxystudio 19 Scanning: $getiphost2($1-) $crlf
  304.     sockopen scan $+ $r(0,99999999999999) $getiphost2($1-)
  305.     goto next
  306.   }
  307.   if (*.*.*.* !iswm $1-) goto next
  308.   if ($read($pxy,w,* $+ $wildtok($1-,*.*.*.*,1,32) $+ *) != $null) { did -a proxystudio 19 $wildtok($1-,*.*.*.*,1,32) Already in list, halted scan. $crlf | goto next }
  309.   :next
  310. }
  311. alias setinterval {
  312.   :restart
  313.   %interval = $?="Enter interval in milliseconds, 1 to 1000 "
  314.   if (!$!) || ($! >= 1000) goto restart
  315. }
  316. alias defaultset { %interval = 200 | %def.s = 172.86.120.218 | %def.p = 6667 }
  317. alias scan.win { inc %scan.start | if (%scan.start == 1) defaultset | if (%interval == $null) setinterval | if ($window(@proxyscan) == $null) { window -e @proxyscan | window -e @sock4 | window -e @sock5 } }
  318. alias selectmultiplefile { set %sfiles $nopath($shortfn($msfile($mircdir,CHOSE PROXY FILES,SCAN))) | :incthat | inc %sinc | if (%sinc > %sfiles) { unset %sinc | halt } | /pxyfile $shortfn($msfile(%sinc)) %interval | goto incthat }
  319. menu * {
  320.   [-Proxy Studio-]: dialog -m proxystudio proxystudio
  321. }
  322.  
  323. alias pxy return ValidProxy.txt
  324. alias abord { play stop | .timerleech off | .timerpl.* off | sockclose *scan* | sockclose *fl* | .timer*scan* off | hfreepxy | hfrees4 | hfrees5 }
  325. on *:INPUT:@Proxyscan:{
  326.   if ($getiphost2($1-)) {
  327.     hadd -m proxy pxy $+ $gettok($getiphost2($1-),1,32) $getiphost2($1-)
  328.     .timerscanfile -om 1 1 .pxyfile temp %interval
  329.     return
  330.   }
  331.   if (!$getiphost2($1-)) && ($wildtok($1-,*.*.*.*,1,32)) sc4n $wildtok($1-,*.*.*.*,1,32)
  332. }
  333. alias hfreepxy { hfree proxy }
  334. alias hfrees4 { hfree socks4 }
  335. alias hfrees5 { hfree socks5 }
  336. alias sk {
  337.   set -u1 %chkk $read($pxy,w,* $+ $sock($sockname).ip $+ *)
  338.   if (!%chkk) && (*9* iswm $1) write $pxy $sock($sockname).ip $+ : $+ $sock($sockname).port
  339. }
  340. on *:sockopen:scan*:{
  341.   hinc -m proxyset total
  342.   did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total)
  343.   hinc -u120 proxyset open
  344.   did -a proxystudio 11 Open: $hget(proxyset,open)
  345.   if ($sockerr > 0) { hinc -m proxyset conerr | did -a proxystudio 49 Connection Errors: $hget(proxyset,conerr) | hdec proxyset open | did -a proxystudio 11 Open: $hget(proxyset,open) | did -a proxystudio 19 $sock($sockname).ip $sock($sockname).port Error ( $+ $sock($sockname).wsmsg $+ ) $crlf }
  346.  
  347.  
  348.   sockwrite -tn $sockname CONNECT $def.s $+ :6667 HTTP/1.1 $crlf
  349.   sockwrite -tn $sockname $crlf
  350.   sockmark $sockname $ticks
  351.   did -a proxystudio 19 $sock($sockname).ip $sock($sockname).port Connecting ... $crlf
  352.  
  353. }
  354. alias success {
  355.   did -a proxystudio 19 $1- $crlf
  356.   sk $1
  357. }
  358. alias allpxy return ALL.txt
  359. alias portclose { sockclose $1 }
  360.  
  361. on *:SOCKREAD:scan*:{
  362.   sockread %fld
  363.   if (!$sock($sockname).mark) || ($sock($sockname).mark == c) sockmark $sockname $ctime
  364.   if (*http*200* iswm %fld) {
  365.     did -a proxystudio 24 $sock($sockname).ip $+ : $+ $sock($sockname).port $crlf
  366.     hinc proxyset work
  367.     did -a proxystudio 12 Working Proxys: $hget(proxyset,work)
  368.  
  369.     did -a proxystudio 48 Total Valid Proxys: $hget(proxyset,work)
  370.     sox $sockname
  371.     success * $sock($sockname).ip $+ : $+ $sock($sockname).port WORKING! Lag: $calc($ticks - $sock($sockname).mark) ms
  372.     sockmark $sockname $ctime
  373.  
  374.   }
  375. }
  376. on 1:sockclose:scan*:{ hdec proxyset open | did -a proxystudio 11 Open: $hget(proxyset,open) | did -a proxystudio 19 $sock($sockname).ip $+ : $+ $sock($sockname).port Connection Terminated. $crlf }
  377. alias pb return did -a proxystudio 19
  378. alias scanfile { sc4n $iif($getiphost2($1-),$getiphost2($1-),$2) }
  379. alias pxyfile {
  380.   if ($1 != temp) .timer -o 1 6 play -a scanfile @proxyscan $1 $2
  381.   else {
  382.     did -a proxystudio 19 Scanning $hfind(proxy,*,0,w) Proxys with %interval $+ ms interval to %def.s $crlf
  383.     .timerSCANpxy -om $hfind(proxy,*,0,w) %interval scann pxy
  384.   }
  385. }
  386. alias scann {
  387.   if ($1 == pxy) {
  388.     hinc -mu2 count hinc2
  389.     sc4n $hget(proxy,$hfind(proxy,*,$hget(count,hinc2),w))
  390.     .timerscanfileoff 1 5 .hfreepxy
  391.   }
  392.   if ($1 == s4) {
  393.     hinc -mu2 count hinc3
  394.     s4.scan $hget(socks4,$hfind(socks4,*,$hget(count,hinc3),w))
  395.     .timerscanfileoffs4 1 5 .hfrees4
  396.   }
  397.   if ($1 == s5) {
  398.     hinc -mu2 count hinc4
  399.     s5.scan $hget(socks5,$hfind(socks5,*,$hget(count,hinc4),w))
  400.     .timerscanfileoffs5 1 5 .hfrees5
  401.   }
  402. }
  403. alias s5.scan {
  404.   hadd -m proxyset filtered $gettok($1,1-2,46) $+ *
  405.   if ($read(blacklist.txt,w,$hget(proxyset,filtered),1)) && ($did(proxystudio,73).enabled == $true) { did -a proxystudio 19 $1 $2 FILTERED/BLACKLIST Proxy $crlf | hinc -m proxyset filter | did -a proxystudio 71 Proxies filtered out: $hget(proxyset,filter) $CRLF | return }
  406.   if (!$1) goto END
  407.   if ($read(sock5.txt,w,* $+ $gettok($1,1,58) $+ *) != $null) { did -a proxystudio 19 $gettok($1,1,58) $+ : $+ $gettok($1,2,58) Already in list. $crlf | goto END }
  408.   if (*.*.*.* iswm $1) && (*.*.*.*:* !iswm $1) {
  409.     if ($read(sock5.txt,w,* $+ $1 $+ *) == $null) {
  410.       sockopen s5chk $+ $r(0,9999999) $1 $2
  411.       did -a proxystudio 19  Scanning: $1 $2 $crlf
  412.     }
  413.   }
  414.   elseif (*.*.*.*:* iswm $1-) && ($read(sock5.txt,w,* $+ $getiphost2($1-) $+ *) == $null)  {
  415.     sockopen s5chk $+ $r(0,9999999) $getiphost2($1-)
  416.     did -a proxystudio 19 Scanning: $getiphost2($1-) $crlf
  417.   }
  418.   :END
  419. }
  420. alias selectmultiplefiles5 { set %sfiles $nopath($shortfn($msfile($mircdir,CHOSE SOCK5 FILES,SCAN))) | :incthat | inc %sinc | if (%sinc > %sfiles) { unset %sinc | halt } | /s5file $shortfn($msfile(%sinc)) %interval | goto incthat }
  421. alias selectmultiplefiles4 { set %sfiles $nopath($shortfn($msfile($mircdir,CHOSE SOCK4 FILES,SCAN))) | :incthat | inc %sinc | if (%sinc > %sfiles) { unset %sinc | halt } | /s4file $shortfn($msfile(%sinc)) %interval | goto incthat }
  422. alias s4.scan {
  423.   hadd -m proxyset filtered $gettok($1,1-2,46) $+ *
  424.   if ($read(blacklist.txt,w,$hget(proxyset,filtered),1)) && ($did(proxystudio,73).enabled) { did -a proxystudio 19 $1 $2 FILTERED/BLACKLIST Proxy $crlf | hinc -m proxyset filter | did -a proxystudio 71 Proxies filtered out: $hget(proxyset,filter) $CRLF | return }
  425.   if (!$1) goto END
  426.   if ($read(sock4.txt,w,* $+ $gettok($1,1,58) $+ *) != $null) { did -a proxystudio 19 $gettok($1,1,58) $+ : $+ $gettok($1,2,58) Already in list $crlf | goto END }
  427.   if (*.*.*.* iswm $1) && (*.*.*.*:* !iswm $1) {
  428.     if ($read(sock4.txt,w,* $+ $1 $+ *) == $null) {
  429.       sockopen s4chk $+ $r(0,9999999) $1 $2
  430.       did -a proxystudio 19  Scanning: $1 $2 $crlf
  431.     }
  432.   }
  433.   elseif (*.*.*.*:* iswm $1-) && ($read(sock4.txt,w,* $+ $getiphost2($1-) $+ *) == $null) {
  434.     sockopen s4chk $+ $r(0,9999999) $getiphost2($1-)
  435.     did -a proxystudio 19 Scanning: $getiphost2($1-) $crlf
  436.   }
  437.   :END
  438. }
  439. on *:sockopen:s5chk*:{
  440.   hinc -m proxyset total
  441.   did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total)
  442.   if ($sockerr) { hinc -m proxyset conerr | did -a proxystudio 49 Connection Errors: $hget(proxyset,conerr)  | did -a proxystudio 19 Error $sock($sockname).ip $+ : $+ $sock($sockname).port ( $+ $sock($sockname).wsmsg $+ ) $crlf | return }
  443.   hinc -m proxyset total
  444.   did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total)
  445.   hinc -u120 proxyset open
  446.   did -a proxystudio 11 Open: $hget(proxyset,open)
  447.  
  448.   .bset &bvar5 1 5 1 0
  449.   .sockwrite -n $sockname &bvar5
  450.   .bunset &bvar5
  451. }
  452. on *:sockread:s5chk*:{
  453.   if ($sockbr) { return }
  454.   .sockread &bsocks5
  455.   if ($bvar(&bsocks5,1,2) != 5 0) { return }
  456.   if ($bvar(&bsocks5,1,2) == 5 0) && ($bvar(&bsocks5,3) != 0) {
  457.  
  458.     sockmark $sockname $ticks
  459.     bset &socks5  1 5 1 0 1 $replace($def.s,.,$chr(32)) $gettok($longip(%def.p),3,46) $gettok($longip(%def.p),4,46)
  460.     .sockwrite -n $sockname &socks5
  461.     .bunset &socks5
  462.     hinc proxyset work
  463.     did -a proxystudio 12 Working Proxys: $hget(proxyset,work)
  464.     did -a proxystudio 26 $sock($sockname).ip $+ : $+ $sock($sockname).port $crlf
  465.     sox $sockname
  466.     suces5 $sock($sockname).ip $+ : $+ $sock($sockname).port Lag: $calc($ticks - $sock($sockname).mark) $+ ms
  467.  
  468.   }
  469. }
  470. on *:sockread:idle*:{
  471.   sockread %idle
  472.   if ($gettok(%idle,1,32) == PING) { sockwrite -nt $sockname PONG $gettok(%idle,2,32) | sox $sockname }
  473.   if (*nospoof* iswm $gettok(%idle,1,32)) { sockwrite -n $sockname NOTICE $remove($gettok($1,1,33),:) :NOSPOOF | sox $sockname }
  474.   if ($gettok(%idle,2,32) == 451) { sockwrite -nt $sockname PONG $gettok(%idle,2,32) | sox $sockname }
  475. }
  476. alias sox {
  477.   sockwrite -nt $sockname CAPS LS
  478.   hadd -mu30 socket $1 true
  479.   sockwrite -n $1 NICK pxy $+ $r(0,99999999)
  480.   sockwrite -n $1 USER PxY 0 0 :x " $+ $sock($1).ip $sock($1).port "
  481.   sockwrite -n $1 JOIN #unix
  482.   sockrename $1 idle $+ $r(0,999999999999999999)
  483. }
  484. on 1:SOCKREAD:chks5*:{
  485.   sockread %socks5
  486.   if ($chr(5) isin $gettok(%socks5,1-3,32)) {
  487.  
  488.   }
  489. }
  490. alias suces4 { did -a proxystudio 19 *work $1- $crlf | sk4 }
  491. alias suces5 { did -a proxystudio 19 *work $1- $crlf | sk5 }
  492. alias sk4 {
  493.   set -u3 %rady $read(sock4.txt,w,* $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ *)
  494.   if (!%rady) write sock4.txt $sock($sockname).ip $+ : $+ $sock($sockname).port
  495.  
  496. }
  497. alias sk5 {
  498.   set -u3 %redy $read(sock5.txt,w,* $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ *)
  499.   if (!%redy) write sock5.txt $sock($sockname).ip $+ : $+ $sock($sockname).port
  500. }
  501. on *:sockopen:s4chk*:{  
  502.   hinc -m proxyset total
  503.   did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total)
  504.   if ($sockerr) { hinc -m proxyset conerr | did -a proxystudio 49 Connection Errors: $hget(proxyset,conerr) | did -a proxystudio 19 * Error $sock($sockname).ip $+ : $+ $sock($sockname).port ( $+ $sock($sockname).wsmsg $+ ) $crlf | return }
  505.   hinc -u120 proxyset open
  506.   did -a proxystudio 11 Open: $hget(proxyset,open)
  507.  
  508.   sockmark $sockname $ticks
  509.   .bset &bvar4 1 4 1 $gettok($longip(%def.p),3,46) $gettok($longip(%def.p),4,46) $replace($def.s,.,$chr(32)) 0
  510.   .sockwrite $sockname &bvar4
  511.   .bunset &bvar4
  512. }
  513. ON *:SOCKREAD:s4chk*:{
  514.   .sockread &bsocks4
  515.   if ($bvar(&bsocks4,2) != 90) { echo 4 @sock4 Bad $sock($sockname).ip $+ : $+ $sock($sockname).port return $bvar(&bsocks4,2-) | return }
  516.   if ($bvar(&bsocks4,2) == 90) {
  517.     did -a proxystudio 25 $sock($sockname).ip $+ : $+ $sock($sockname).port $crlf
  518.     hinc proxyset work
  519.     did -a proxystudio 12 Working Proxys: $hget(proxyset,work)
  520.     sox $sockname
  521.     suces4 $sock($sockname).ip $+ : $+ $sock($sockname).port $calc($ticks - $sock($sockname).mark)) $+ ms
  522.  
  523.  
  524.   }
  525. }
  526. on 1:SOCKCLOSE:s5*:{ hdec proxyset open | did -a proxystudio 11 Open: $hget(proxyset,open) | did -a proxystudio 19 * $sock($sockname).ip $+ : $+ $sock($sockname).port Connection Terminated. $crlf | return }
  527. on 1:SOCKCLOSE:s4*:{ hdec proxyset open | did -a proxystudio 11 Open: $hget(proxyset,open) | did -a proxystudio 19 * $sock($sockname).ip $+ : $+ $sock($sockname).port Connection Terminated. $crlf | return }
  528. alias scans4file { s4.scan $getiphost2($1-) }
  529. alias s4file {
  530.   if ($1 != temp.s4) .timer -o 1 6 play -a scans4file @sock4 $1-
  531.   else {
  532.     did -a proxystudio 19  Scanning $hfind(socks4,*,0,w) Socks4 with %interval $+ ms interval to %def.s $crlf
  533.     .timerSCANs4 -om $hfind(socks4,*,0,w) %interval scann s4
  534.   }
  535. }
  536. alias scans5file { s5.scan $getiphost2($1-) }
  537. alias s5file {
  538.   if ($1 != temp.s5) .timer -o 1 6 play -a scans5file @sock5 $1-
  539.   else {
  540.     did -a proxystudio 19 Scanning $hfind(socks5,*,0,w) Socks5 with %interval $+ ms interval to %def.s $crlf
  541.     .timerSCANs5 -om $hfind(socks5,*,0,w) %interval scann s5
  542.   }
  543. }
  544. alias resolve {
  545.   hadd -m resolve ip $1
  546.   sockopen resolve.ip_ $+ $r(0,89999) ipinfo.io 80
  547. }
  548. on *:sockopen:resolve.ip*: {
  549.   var %a = sockwrite -n $sockname
  550.   var %b = / $+ $hget(resolve,ip)
  551.   %a GET %b HTTP/1.0
  552.   %a Host: ipinfo.io
  553.   %a User-Agent: ProxyStudio by independent
  554.   %a Accept: application/json, text/javascript, */*; q=0.01
  555.   %a Connection: keep-alive
  556.   %a Referer: http://www.iplocation.net/
  557.   %a Origin: http://www.iplocation.net/
  558.   %a $crlf
  559.  
  560. }
  561. on *:sockread:resolve.ip*: {
  562.   :read
  563.   sockread %sockread
  564.   if (!$sockbr) return
  565.   if (*Hostname*:* iswm %sockread) did -a proxystudio 80 %sockread $crlf
  566.   if (*ISP*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf }
  567.   if (*Country*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf }
  568.   if (*City*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf }
  569.   if (*org*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf }
  570.   if (*loc*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf }
  571.   if (*region*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf }
  572.   if (*postal*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf }
  573.   goto read
  574. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement