ui drop down("Threads", "10,20,30,40,50", #INPUT Threads) 
ui stat monitor("Threads (Active/Total):", "<b>{#THREADS Active}/{#THREADS 
Max}</b>") 
ui stat monitor("COUNT:", #COUNT) 
set(#FOLDER Root, $special folder("Application"), "Global") 
set(#THREADS Max, #INPUT Threads, "Global") 
clear table(&RESULTS) 
add list to table as row(&RESULTS, 0, 0, $list from text("Proxy 
Used,IP,Proxy,City,Country,ISP,STATUS", ",")) 
set(#RESULTS ROW, 1, "Global") 
clear list(%PROXIES) 
add list to list(%PROXIES, $list from file("{#FOLDER Root}proxies.txt"), 
"Delete", "Global") 
set(#PROXIES ROW, 0, "Global") 
set(#COUNT, $list total(%PROXIES), "Global") 
if($comparison(#THREADS Max, ">", #COUNT)) { 
then { 
alert("You need to have more proxies than threads.") 
stop script 
} 
else { 
} 
} 
comment("Reset counter to 0.") 
set(#THREADS Active, $plugin function("Threads Counter.dll", "threads counter", 
"reset"), "Global") 
comment("Main Threading Loop") 
loop while($comparison(#COUNT, ">", 0)) { 
if($comparison($plugin function("Threads Counter.dll", "threads counter", 
"read"), "<", #THREADS Max)) { 
then { 
comment("Increment Number Of Threads And Store Value to UBot 
Variable.") 
set(#THREADS Active, $plugin function("Threads Counter.dll", 
"threads counter", "increment"), "Global") 
if($comparison(#PROXIES ROW, ">=", $list total(%PROXIES))) { 
then { 
set(#PROXIES ROW, 0, "Global") 
} 
else { 
} 
} 
THREAD START(#PROXIES ROW, #RESULTS ROW) 
increment(#PROXIES ROW) 
increment(#RESULTS ROW) 
decrement(#COUNT) 
} 
else { 
wait(0.2) 
} 
} 
} 
comment("Thread Command") 
define THREAD START(#PROXIES ROW, #RESULTS ROW) { 
thread { 
in new browser { 
CHANGE PROXY(#PROXIES ROW) 
SCRAPE WHATSMYIP(#PROXIES ROW, #RESULTS ROW) 
} 
set(#THREADS Active, $plugin function("Threads Counter.dll", "threads 
counter", "decrement"), "Global") 
} 
} 
comment("Wait For Threads To Close")
set(#THREADS Active, $plugin function("Threads Counter.dll", "threads counter", 
"read"), "Global") 
loop while($comparison(#THREADS Active, ">", 0)) { 
set(#THREADS Active, $plugin function("Threads Counter.dll", "threads 
counter", "read"), "Global") 
wait(2) 
} 
save to file("{#FOLDER Root}results.csv", &RESULTS) 
stop script 
define CHANGE PROXY(#PROXIES ROW) { 
clear list(%PROXY) 
add list to list(%PROXY, $list from text($list item(%PROXIES, #PROXIES ROW), 
":"), "Don't Delete", "Global") 
if($comparison($list total(%PROXY), "=", 4)) { 
then { 
set proxy credentials($list item(%PROXY, 2), $list item(%PROXY, 3)) 
change proxy("{$list item(%PROXY, 0)}:{$list item(%PROXY, 1)}") 
} 
else if($comparison($list total(%PROXY), "=", 2)) { 
change proxy("{$list item(%PROXY, 0)}:{$list item(%PROXY, 1)}") 
} 
else { 
alert("Proxy on row #{#PROXIES ROW} is invalid.") 
stop script 
} 
} 
} 
define SCRAPE WHATSMYIP(#PROXIES ROW, #RESULTS ROW) { 
navigate("http://www.whatismyip.com/", "Wait") 
wait for browser event("DOM Ready", "") 
wait for element(<class="the-ip">, "", "Appear") 
if($exists(<class="the-ip">)) { 
then { 
set table cell(&RESULTS, #RESULTS ROW, 0, $list item(%PROXIES, 
#PROXIES ROW)) 
set table cell(&RESULTS, #RESULTS ROW, 1, $scrape 
attribute(<class="the-ip">, "innertext")) 
set table cell(&RESULTS, #RESULTS ROW, 2, $scrape 
attribute(<class="the-proxy">, "innertext")) 
set table cell(&RESULTS, #RESULTS ROW, 3, $scrape 
attribute(<class="the-city">, "innertext")) 
set table cell(&RESULTS, #RESULTS ROW, 4, $scrape 
attribute(<class="the-country">, "innertext")) 
set table cell(&RESULTS, #RESULTS ROW, 5, $scrape 
attribute(<class="the-isp">, "innertext")) 
set table cell(&RESULTS, #RESULTS ROW, 6, "SUCCESS") 
} 
else { 
set table cell(&RESULTS, #RESULTS ROW, 6, "FAIL") 
} 
} 
}

Threading

  • 1.
    ui drop down("Threads","10,20,30,40,50", #INPUT Threads) ui stat monitor("Threads (Active/Total):", "<b>{#THREADS Active}/{#THREADS Max}</b>") ui stat monitor("COUNT:", #COUNT) set(#FOLDER Root, $special folder("Application"), "Global") set(#THREADS Max, #INPUT Threads, "Global") clear table(&RESULTS) add list to table as row(&RESULTS, 0, 0, $list from text("Proxy Used,IP,Proxy,City,Country,ISP,STATUS", ",")) set(#RESULTS ROW, 1, "Global") clear list(%PROXIES) add list to list(%PROXIES, $list from file("{#FOLDER Root}proxies.txt"), "Delete", "Global") set(#PROXIES ROW, 0, "Global") set(#COUNT, $list total(%PROXIES), "Global") if($comparison(#THREADS Max, ">", #COUNT)) { then { alert("You need to have more proxies than threads.") stop script } else { } } comment("Reset counter to 0.") set(#THREADS Active, $plugin function("Threads Counter.dll", "threads counter", "reset"), "Global") comment("Main Threading Loop") loop while($comparison(#COUNT, ">", 0)) { if($comparison($plugin function("Threads Counter.dll", "threads counter", "read"), "<", #THREADS Max)) { then { comment("Increment Number Of Threads And Store Value to UBot Variable.") set(#THREADS Active, $plugin function("Threads Counter.dll", "threads counter", "increment"), "Global") if($comparison(#PROXIES ROW, ">=", $list total(%PROXIES))) { then { set(#PROXIES ROW, 0, "Global") } else { } } THREAD START(#PROXIES ROW, #RESULTS ROW) increment(#PROXIES ROW) increment(#RESULTS ROW) decrement(#COUNT) } else { wait(0.2) } } } comment("Thread Command") define THREAD START(#PROXIES ROW, #RESULTS ROW) { thread { in new browser { CHANGE PROXY(#PROXIES ROW) SCRAPE WHATSMYIP(#PROXIES ROW, #RESULTS ROW) } set(#THREADS Active, $plugin function("Threads Counter.dll", "threads counter", "decrement"), "Global") } } comment("Wait For Threads To Close")
  • 2.
    set(#THREADS Active, $pluginfunction("Threads Counter.dll", "threads counter", "read"), "Global") loop while($comparison(#THREADS Active, ">", 0)) { set(#THREADS Active, $plugin function("Threads Counter.dll", "threads counter", "read"), "Global") wait(2) } save to file("{#FOLDER Root}results.csv", &RESULTS) stop script define CHANGE PROXY(#PROXIES ROW) { clear list(%PROXY) add list to list(%PROXY, $list from text($list item(%PROXIES, #PROXIES ROW), ":"), "Don't Delete", "Global") if($comparison($list total(%PROXY), "=", 4)) { then { set proxy credentials($list item(%PROXY, 2), $list item(%PROXY, 3)) change proxy("{$list item(%PROXY, 0)}:{$list item(%PROXY, 1)}") } else if($comparison($list total(%PROXY), "=", 2)) { change proxy("{$list item(%PROXY, 0)}:{$list item(%PROXY, 1)}") } else { alert("Proxy on row #{#PROXIES ROW} is invalid.") stop script } } } define SCRAPE WHATSMYIP(#PROXIES ROW, #RESULTS ROW) { navigate("http://www.whatismyip.com/", "Wait") wait for browser event("DOM Ready", "") wait for element(<class="the-ip">, "", "Appear") if($exists(<class="the-ip">)) { then { set table cell(&RESULTS, #RESULTS ROW, 0, $list item(%PROXIES, #PROXIES ROW)) set table cell(&RESULTS, #RESULTS ROW, 1, $scrape attribute(<class="the-ip">, "innertext")) set table cell(&RESULTS, #RESULTS ROW, 2, $scrape attribute(<class="the-proxy">, "innertext")) set table cell(&RESULTS, #RESULTS ROW, 3, $scrape attribute(<class="the-city">, "innertext")) set table cell(&RESULTS, #RESULTS ROW, 4, $scrape attribute(<class="the-country">, "innertext")) set table cell(&RESULTS, #RESULTS ROW, 5, $scrape attribute(<class="the-isp">, "innertext")) set table cell(&RESULTS, #RESULTS ROW, 6, "SUCCESS") } else { set table cell(&RESULTS, #RESULTS ROW, 6, "FAIL") } } }