Proxy Studio v1.3-ALPHA by independent


SUBMITTED BY: independent

DATE: Nov. 30, 2017, 1:16 a.m.

FORMAT: Text only

SIZE: 23.4 kB

HITS: 89513

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

comments powered by Disqus