;Proxy & Socks Scanner by independent with nice dialogs & statistics. ;Will be updating this script from time to time. ;Thank you about keeping credits to me, the creator of this script. ;Skype independentt911 - /server irc-1.iownyour.biz +6697 dialog proxystudio { title "Proxy Studio v1.3-ALPHA by independent" size -1 -1 975 641 option pixels notheme tab "Scanner", 2, 3 1 963 629 tab "Working Proxys", 20 tab "Proxy files And Leecher", 30 box "Proxy to test", 4, 18 32 134 576, tab 2 edit "Add proxy here", 5, 26 50 124 552, tab 2 group autohs autovs multi return vsbar limit 0 radio "Connect Proxys", 6, 156 42 100 18, tab 2 radio "Socks 4 ", 7, 156 66 100 18, tab 2 radio "Socks 5", 8, 156 90 100 18, tab 2 button "Start Scanning", 9, 262 40 98 70, tab 2 box "Sockets", 10, 152 116 208 98, tab 2 text "Open:", 11, 156 132 190 16, tab 2 text "Working Proxys:", 12, 156 154 192 18, tab 2 box "Settings", 13, 364 80 104 122, tab 2 edit "172.86.120.218", 14, 366 116 100 20, tab 2 text "IRC Server test IP", 15, 368 98 96 16, tab 2 text "ms between threads", 16, 368 140 100 16, tab 2 edit "200", 17, 390 159 40 20, tab 2 box "Debug", 18, 164 216 506 404, tab 2 edit "Scan OUTPUT", 19, 172 234 424 378, tab 2 read autohs autovs multi return vsbar box "Connect Proxys", 21, 188 32 168 580, tab 20 box "Socks 4", 22, 366 32 182 580, tab 20 result box "Socks 5", 23, 570 32 194 580, tab 20 result edit "", 24, 194 54 154 512, tab 20 result autohs autovs multi return vsbar edit "", 25, 376 52 162 518, tab 20 autohs autovs multi return vsbar limit 0 edit "", 26, 576 54 182 516, tab 20 result autohs autovs multi return vsbar button "Save", 27, 192 572 66 24, tab 20 button "Save", 28, 370 574 64 26, tab 20 button "Save", 29, 578 574 64 26, tab 20 link "www.pastebin.com/u/independentt", 45, 710 0 194 18, tab 20 link "www.pastebin.com/u/independentt", 46, 698 2 184 18, tab 2 link "www.pastebin.com/u/independentt", 47, 721 3 176 16, tab 30 text "This will scan the selected proxy lists from *.txt or *log", 31, 4 268 266 30, tab 30 button "Scan my files, NOW.", 32, 10 297 142 68, tab 30 radio "Connect Proxy", 33, 172 300 100 16, tab 30 radio "Socks 4", 34, 172 315 100 16, tab 30 radio "Socks 5", 35, 171 333 100 18, tab 30 button "Clear", 36, 644 574 64 26, tab 20 button "Filter", 37, 708 574 50 26, tab 20 button "Clear", 38, 434 574 66 26, tab 20 button "Filter", 39, 500 574 36 26, tab 20 button "Clear", 40, 258 572 66 24, tab 20 button "Filter", 41, 322 572 34 24, tab 20 box "MASS SCANNER", 42, 2 253 272 124, tab 30 box "Stats", 43, 14 34 146 530, tab 20 text "Total Proxys Scanned:", 44, 22 54 132 70, tab 20 text "Total Valid Proxys:", 48, 20 128 136 82, tab 20 text "Connection Errors:", 49, 18 218 136 92, tab 20 box "Proxy Leecher", 50, 276 48 531 572, tab 30 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 button "Leech", 52, 375 75 66 24, tab 30 button "Save", 53, 442 76 64 24, tab 30 button "Clear", 54, 506 75 64 24, tab 30 button "Load list", 55, 311 75 64 24, tab 30 box "Stats", 56, 668 146 127 319, tab 30 text "Number of Leeched lists:", 57, 667 160 128 92, tab 30 button "Stop scanner NOW!", 59, 366 38 100 40, tab 2 text "Number of Leechable Sites:", 60, 668 253 126 66, tab 30 text "Protocol", 64, 154 25 102 18, tab 2 center box "WHOIS tool", 65, 772 35 169 368, tab 20 result edit "", 66, 782 61 121 20, tab 20 limit 0 button "Whois IP", 67, 794 79 65 25, tab 20 button "Clear", 69, 597 235 65 369, tab 2 box "Blacklist Scanner", 70, 481 45 291 104, tab 2 text "Proxies filtered out", 71, 490 70 166 17, tab 2 box "WHOIS info", 79, 781 203 149 185, tab 20 edit "", 80, 788 222 134 159, tab 20 result multi return hsbar text "Filter proxy before scanning ", 72, 489 98 267 38, tab 2 check "ENABLE", 73, 504 112 100 17, tab 2 button "Edit Blacklist", 74, 672 65 65 25, tab 2 menu "File", 1 item "STOP ALL", 63, 1 item "Item3", 3, 1 } on 1:dialog:proxystudio:sclick:9: { hadd -m proxyset max $did(proxystudio,5,0).lines .timerSCLICK -om $hget(proxyset,max) %interval pxys } on 1:dialog:proxystudio:sclick:6: { hadd -m proxyset ext pxy } on 1:dialog:proxystudio:sclick:7: { hadd -m proxyset ext s4 } on 1:dialog:proxystudio:sclick:8: { hadd -m proxyset ext s5 } on 1:dialog:proxystudio:sclick:33: { hadd -m proxyset ext2 pxy } on 1:dialog:proxystudio:sclick:34: { hadd -m proxyset ext2 s4 } on 1:dialog:proxystudio:sclick:35: { hadd -m proxyset ext2 s5 } on 1:dialog:proxystudio:sclick:37: { filterdiag 26 } on 1:dialog:proxystudio:sclick:39: { filterdiag 25 } on 1:dialog:proxystudio:sclick:41: { filterdiag 24 } on 1:dialog:proxystudio:sclick:36: { cleardiag 26 } on 1:dialog:proxystudio:sclick:38: { cleardiag 25 } on 1:dialog:proxystudio:sclick:40: { cleardiag 24 } on 1:dialog:proxystudio:sclick:58: { abord } on 1:dialog:proxystudio:sclick:59: { abord } on 1:dialog:proxystudio:sclick:69: { cleardiag 19 } on 1:dialog:proxystudio:sclick:52: { leech } on 1:dialog:proxystudio:sclick:54: { cleardiag 51 } on 1:dialog:proxystudio:sclick:55: { loadbuf -oi proxystudio 51 leech.txt did -a proxystudio 60 Number of Leechable Sites: $lines(leech.txt) } on 1:dialog:proxystudio:sclick:53: { savebuf -oi proxystudio 51 leech.txt did -a proxystudio 60 Number of Leechable Sites: $lines(leech.txt) } on 1:dialog:proxystudio:sclick:62: { write leech.txt $did(proxystudio,61) $CRLF loadbuf -oi proxystudio 51 leech.txt did -a proxystudio 60 Number of Leechable Sites: $lines(leech.txt) } alias sortnumber { return $iif($1 > $2, 1, $iif($1 == $2,0,-1)) } alias filterdiag { filter -iocsa proxystudio $1 proxystudio $1 sortnumber } alias cleardiag { did -r proxystudio $1 } on 1:dialog:proxystudio:sclick:27: { %name = Valid.Proxys. $+ $ticks $+ .txt savebuf -o proxystudio 24 %name run %name } on 1:dialog:proxystudio:sclick:28: { %name = Valid.socks4. $+ $ticks $+ .txt savebuf -o proxystudio 25 %name run %name } on 1:dialog:proxystudio:sclick:29: { %name = Valid.socks5. $+ $ticks $+ .txt savebuf -o proxystudio 26 %name run %name } on 1:dialog:proxystudio:sclick:68: { hadd -m proxyset max $did(proxystudio,24,0).lines :loop hinc -u5 proxyset inc if ($hget(proxyset,inc) < $hget(proxyset,max)) { resolve $gettok($did(proxystudio,24,$hget(proxyset,inc)),1,58) | goto loop } } on 1:dialog:proxystudio:sclick:32: { if ($hget(proxyset,ext2) == pxy) selectmultiplefile if ($hget(proxyset,ext2) == s4) selectmultiplefiles4 if ($hget(proxyset,ext2) == s5) selectmultiplefiles5 } on 1:dialog:proxystudio:edit:17: { did -a proxystudio 19 Interval changed to $did(proxystudio,17) $CRLF set %interval $did(proxystudio,17) } on 1:dialog:proxystudio:edit:14: { set %def.s $did(proxystudio,14) did -a proxystudio 19 IRC server changed to $did(proxystudio,14) $crlf } on 1:dialog:proxystudio:edit:10: { did -a proxystudio 19 Proxys added to scan: $did(proxystudio,10).len $crlf } on 1:dialog:proxystudio:sclick:38: { hadd -m proxyset max $did(proxystudio,5,0).lines .timerSCLICK -om $hget(proxyset,max) %interval pxys } on 1:dialog:proxystudio:sclick:67: { resolve $did(proxystudio,66) } on 1:dialog:proxystudio:sclick:74: { RUN NOTEPAD blacklist.txt } alias pxys { hinc -u5 proxyset inc if ($hget(proxyset,ext) == pxy) || (!$hget(proxyset,ext)) sc4n $did(proxystudio,5,$hget(proxyset,inc)) if ($hget(proxyset,ext) == s4) s4.scan $did(proxystudio,5,$hget(proxyset,inc)) if ($hget(proxyset,ext) == s5) s5.scan $did(proxystudio,5,$hget(proxyset,inc)) } alias -l htmlfree { var %x, %i = $regsub($replace($1-,,$chr(32),,$chr(20),
,$chr(20)),/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) return %x } ALIAS DEF.p { %z = $r(0,1) | if (%z) return %def.p | else return 6667 } ALIAS DEF.S { return %def.s } alias getiphost2 { %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 if $regex(ip,$remove($1-,$chr(9)),%var) { return $replace($regml(ip,1),:,$chr(32)) } } alias getsource { %out = $shortfn($mircdirleech $+ . $+ $hget(proxyset,ext2) $+ . $+ $ctime $+ .txt) if ($isfile(get.vbs)) .remove get.vbs %a = write get.vbs %a Dim FSO, dFile, sHTML %a sHTML = Get_HTML(" $+ $1 $+ ") %a Set FSO = CreateObject("Scripting.FileSystemObject") %a Set dFile = FSO.CreateTextFile(" $+ %out $+ ", True) %a dFile.Write sHTML %a dFile.Close %a Private Function Get_HTML (up_http) %a Dim xmlhttp %a Set xmlhttp = createobject("MSXML2.XMLHTTP") %a xmlhttp.open "get", up_http, False %a xmlhttp.send %a Get_HTML = xmlhttp.responsetext %a set xmlhttp = Nothing %a End Function run get.vbs return %out run %out } alias leech { if (!%interval) %interval = 100 did -a proxystudio 19 $timestamp * Now leeching proxy-lists over the web. $crlf set %site.max $lines(leech.txt) set %site.inc 0 :GO inc %site.inc .timer -o 1 $calc(%site.inc *5) pxx %site.inc if (%site.inc < %site.max) goto go else { halt } } 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 } alias getURL { noop $regex($1,/(((http(s)?\72(\57{2}))|(www\56{1}))+(\w*)+(\56{1})+(\w{2,3})\S*)/Sig)) return $regml(1) } alias sc5nfile { s5.scan $1- } alias sc4nfile { s4.scan $1- } alias sc4n { hadd -m proxyset filtered $gettok($getiphost2($1-),1-2,46) $+ * 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 } if (*.*.*.* iswm $1-) && ($1 != x) && ($2) { if ($read($pxy,w,* $+ $1 $+ *) != $null) { did -a proxystudio 19 $1 $2 Already in list, halted scan. $crlf | return } did -a proxystudio 19 Scanning: $1 $2 $crlf sockopen scan $+ $r(0,99999999999999) $1 $2 return } if ($getiphost2($1-)) { if ($read($pxy,w,* $+ $gettok($getiphost2($1-),1,32) $+ *) != $null) { did -a proxystudio 19 $1 $+ : %+ $2 Already in list, halted scan. $crlf | goto next } did -a proxystudio 19 Scanning: $getiphost2($1-) $crlf sockopen scan $+ $r(0,99999999999999) $getiphost2($1-) goto next } if (*.*.*.* !iswm $1-) goto next 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 } :next } alias setinterval { :restart %interval = $?="Enter interval in milliseconds, 1 to 1000 " if (!$!) || ($! >= 1000) goto restart } alias defaultset { %interval = 200 | %def.s = 172.86.120.218 | %def.p = 6667 } 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 } } 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 } menu * { [-Proxy Studio-]: dialog -m proxystudio proxystudio } alias pxy return ValidProxy.txt alias abord { play stop | .timerleech off | .timerpl.* off | sockclose *scan* | sockclose *fl* | .timer*scan* off | hfreepxy | hfrees4 | hfrees5 } on *:INPUT:@Proxyscan:{ if ($getiphost2($1-)) { hadd -m proxy pxy $+ $gettok($getiphost2($1-),1,32) $getiphost2($1-) .timerscanfile -om 1 1 .pxyfile temp %interval return } if (!$getiphost2($1-)) && ($wildtok($1-,*.*.*.*,1,32)) sc4n $wildtok($1-,*.*.*.*,1,32) } alias hfreepxy { hfree proxy } alias hfrees4 { hfree socks4 } alias hfrees5 { hfree socks5 } alias sk { set -u1 %chkk $read($pxy,w,* $+ $sock($sockname).ip $+ *) if (!%chkk) && (*9* iswm $1) write $pxy $sock($sockname).ip $+ : $+ $sock($sockname).port } on *:sockopen:scan*:{ hinc -m proxyset total did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total) hinc -u120 proxyset open did -a proxystudio 11 Open: $hget(proxyset,open) 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 } sockwrite -tn $sockname CONNECT $def.s $+ :6667 HTTP/1.1 $crlf sockwrite -tn $sockname $crlf sockmark $sockname $ticks did -a proxystudio 19 $sock($sockname).ip $sock($sockname).port Connecting ... $crlf } alias success { did -a proxystudio 19 $1- $crlf sk $1 } alias allpxy return ALL.txt alias portclose { sockclose $1 } on *:SOCKREAD:scan*:{ sockread %fld if (!$sock($sockname).mark) || ($sock($sockname).mark == c) sockmark $sockname $ctime if (*http*200* iswm %fld) { did -a proxystudio 24 $sock($sockname).ip $+ : $+ $sock($sockname).port $crlf hinc proxyset work did -a proxystudio 12 Working Proxys: $hget(proxyset,work) did -a proxystudio 48 Total Valid Proxys: $hget(proxyset,work) sox $sockname success * $sock($sockname).ip $+ : $+ $sock($sockname).port WORKING! Lag: $calc($ticks - $sock($sockname).mark) ms sockmark $sockname $ctime } } 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 } alias pb return did -a proxystudio 19 alias scanfile { sc4n $iif($getiphost2($1-),$getiphost2($1-),$2) } alias pxyfile { if ($1 != temp) .timer -o 1 6 play -a scanfile @proxyscan $1 $2 else { did -a proxystudio 19 Scanning $hfind(proxy,*,0,w) Proxys with %interval $+ ms interval to %def.s $crlf .timerSCANpxy -om $hfind(proxy,*,0,w) %interval scann pxy } } alias scann { if ($1 == pxy) { hinc -mu2 count hinc2 sc4n $hget(proxy,$hfind(proxy,*,$hget(count,hinc2),w)) .timerscanfileoff 1 5 .hfreepxy } if ($1 == s4) { hinc -mu2 count hinc3 s4.scan $hget(socks4,$hfind(socks4,*,$hget(count,hinc3),w)) .timerscanfileoffs4 1 5 .hfrees4 } if ($1 == s5) { hinc -mu2 count hinc4 s5.scan $hget(socks5,$hfind(socks5,*,$hget(count,hinc4),w)) .timerscanfileoffs5 1 5 .hfrees5 } } alias s5.scan { hadd -m proxyset filtered $gettok($getiphost2($1-),1-2,46) $+ * 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 } if (!$1) goto END 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 } if (*.*.*.* iswm $1) && (*.*.*.*:* !iswm $1) { if ($read(sock5.txt,w,* $+ $1 $+ *) == $null) { sockopen s5chk $+ $r(0,9999999) $1 $2 did -a proxystudio 19 Scanning: $1 $2 $crlf } } elseif (*.*.*.*:* iswm $1-) && ($read(sock5.txt,w,* $+ $getiphost2($1-) $+ *) == $null) { sockopen s5chk $+ $r(0,9999999) $getiphost2($1-) did -a proxystudio 19 Scanning: $getiphost2($1-) $crlf } :END } 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 } 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 } alias s4.scan { hadd -m proxyset filtered $gettok($getiphost2($1-),1-2,46) $+ * 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 } if (!$1) goto END 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 } if (*.*.*.* iswm $1) && (*.*.*.*:* !iswm $1) { if ($read(sock4.txt,w,* $+ $1 $+ *) == $null) { sockopen s4chk $+ $r(0,9999999) $1 $2 did -a proxystudio 19 Scanning: $1 $2 $crlf } } elseif (*.*.*.*:* iswm $1-) && ($read(sock4.txt,w,* $+ $getiphost2($1-) $+ *) == $null) { sockopen s4chk $+ $r(0,9999999) $getiphost2($1-) did -a proxystudio 19 Scanning: $getiphost2($1-) $crlf } :END } on *:sockopen:s5chk*:{ hinc -m proxyset total did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total) 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 } hinc -m proxyset total did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total) hinc -u120 proxyset open did -a proxystudio 11 Open: $hget(proxyset,open) .bset &bvar5 1 5 1 0 .sockwrite -n $sockname &bvar5 .bunset &bvar5 } on *:sockread:s5chk*:{ if ($sockbr) { return } .sockread &bsocks5 if ($bvar(&bsocks5,1,2) != 5 0) { return } if ($bvar(&bsocks5,1,2) == 5 0) && ($bvar(&bsocks5,3) != 0) { sockmark $sockname $ticks bset &socks5 1 5 1 0 1 $replace($def.s,.,$chr(32)) $gettok($longip(%def.p),3,46) $gettok($longip(%def.p),4,46) .sockwrite -n $sockname &socks5 .bunset &socks5 hinc proxyset work did -a proxystudio 12 Working Proxys: $hget(proxyset,work) did -a proxystudio 26 $sock($sockname).ip $+ : $+ $sock($sockname).port $crlf sox $sockname suces5 $sock($sockname).ip $+ : $+ $sock($sockname).port Lag: $calc($ticks - $sock($sockname).mark) $+ ms } } on *:sockread:idle*:{ sockread %idle if ($gettok(%idle,1,32) == PING) { sockwrite -nt $sockname PONG $gettok(%idle,2,32) | sox $sockname } if (*nospoof* iswm $gettok(%idle,1,32)) { sockwrite -n $sockname NOTICE $remove($gettok($1,1,33),:) :NOSPOOF | sox $sockname } if ($gettok(%idle,2,32) == 451) { sockwrite -nt $sockname PONG $gettok(%idle,2,32) | sox $sockname } } alias sox { sockwrite -nt $sockname CAPS LS hadd -mu30 socket $1 true sockwrite -n $1 NICK pxy $+ $r(0,99999999) sockwrite -n $1 USER PxY 0 0 :x " $+ $sock($1).ip $sock($1).port " sockwrite -n $1 JOIN #unix sockrename $1 idle $+ $r(0,999999999999999999) } on 1:SOCKREAD:chks5*:{ sockread %socks5 if ($chr(5) isin $gettok(%socks5,1-3,32)) { } } alias suces4 { did -a proxystudio 19 *work $1- $crlf | sk4 } alias suces5 { did -a proxystudio 19 *work $1- $crlf | sk5 } alias sk4 { set -u3 %rady $read(sock4.txt,w,* $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ *) if (!%rady) write sock4.txt $sock($sockname).ip $+ : $+ $sock($sockname).port } alias sk5 { set -u3 %redy $read(sock5.txt,w,* $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ *) if (!%redy) write sock5.txt $sock($sockname).ip $+ : $+ $sock($sockname).port } on *:sockopen:s4chk*:{ hinc -m proxyset total did -a proxystudio 44 Total Proxys Scanned: $hget(proxyset,total) 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 } hinc -u120 proxyset open did -a proxystudio 11 Open: $hget(proxyset,open) sockmark $sockname $ticks .bset &bvar4 1 4 1 $gettok($longip(%def.p),3,46) $gettok($longip(%def.p),4,46) $replace($def.s,.,$chr(32)) 0 .sockwrite $sockname &bvar4 .bunset &bvar4 } ON *:SOCKREAD:s4chk*:{ .sockread &bsocks4 if ($bvar(&bsocks4,2) != 90) { echo 4 @sock4 Bad $sock($sockname).ip $+ : $+ $sock($sockname).port return $bvar(&bsocks4,2-) | return } if ($bvar(&bsocks4,2) == 90) { did -a proxystudio 25 $sock($sockname).ip $+ : $+ $sock($sockname).port $crlf hinc proxyset work did -a proxystudio 12 Working Proxys: $hget(proxyset,work) sox $sockname suces4 $sock($sockname).ip $+ : $+ $sock($sockname).port $calc($ticks - $sock($sockname).mark)) $+ ms } } 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 } 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 } alias scans4file { s4.scan $getiphost2($1-) } alias s4file { if ($1 != temp.s4) .timer -o 1 6 play -a scans4file @sock4 $1- else { did -a proxystudio 19 Scanning $hfind(socks4,*,0,w) Socks4 with %interval $+ ms interval to %def.s $crlf .timerSCANs4 -om $hfind(socks4,*,0,w) %interval scann s4 } } alias scans5file { s5.scan $getiphost2($1-) } alias s5file { if ($1 != temp.s5) .timer -o 1 6 play -a scans5file @sock5 $1- else { did -a proxystudio 19 Scanning $hfind(socks5,*,0,w) Socks5 with %interval $+ ms interval to %def.s $crlf .timerSCANs5 -om $hfind(socks5,*,0,w) %interval scann s5 } } alias resolve { hadd -m resolve ip $1 sockopen resolve.ip_ $+ $r(0,89999) ipinfo.io 80 } on *:sockopen:resolve.ip*: { var %a = sockwrite -n $sockname var %b = / $+ $hget(resolve,ip) %a GET %b HTTP/1.0 %a Host: ipinfo.io %a User-Agent: ProxyStudio by independent %a Accept: application/json, text/javascript, */*; q=0.01 %a Connection: keep-alive %a Referer: http://www.iplocation.net/ %a Origin: http://www.iplocation.net/ %a $crlf } on *:sockread:resolve.ip*: { :read sockread %sockread if (!$sockbr) return if (*Hostname*:* iswm %sockread) did -a proxystudio 80 %sockread $crlf if (*ISP*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf } if (*Country*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf } if (*City*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf } if (*org*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf } if (*loc*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf } if (*region*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf } if (*postal*:* iswm %sockread) { did -a proxystudio 80 %sockread $crlf } goto read }