basic commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import std/[random, strutils, os, net, locks, httpclient, json]
|
||||
|
||||
proc status(targetIP: string): bool {.gcsafe.}=
|
||||
var client = newSocket()
|
||||
try:
|
||||
client.connect(targetIP, Port(25565), 1500)
|
||||
client.send($((char)0xFE))
|
||||
if (client.recv(256, 1000)[0] == (char)0xFF):
|
||||
return true
|
||||
except Exception:
|
||||
return false
|
||||
finally:
|
||||
client.close()
|
||||
|
||||
proc GenerateIP(): string {.gcsafe.} =
|
||||
randomize()
|
||||
var
|
||||
ip0 = rand(255)
|
||||
ip1 = rand(255)
|
||||
ip2 = rand(255)
|
||||
ip3 = rand(255)
|
||||
return (join([$ip0, $ip1, $ip2, $ip3], "."))
|
||||
|
||||
proc hit(host: string) {.gcsafe.} =
|
||||
echo "[+] Hit on ", host
|
||||
var client = newHttpClient()
|
||||
try:
|
||||
client.headers = newHttpHeaders({"Content-Type": "application/json"})
|
||||
let body = %*{
|
||||
"server": host
|
||||
}
|
||||
let res = client.request("http://localhost:9000/server", HttpPost, $body)
|
||||
discard res
|
||||
except Exception as e:
|
||||
echo e.msg
|
||||
discard
|
||||
|
||||
proc main(): void {.thread.} =
|
||||
while true:
|
||||
var ip = GenerateIP()
|
||||
var ping = status(ip)
|
||||
if ping:
|
||||
hit(ip)
|
||||
discard
|
||||
|
||||
var cmd = os.execShellCmd("clear")
|
||||
var cLock: Lock
|
||||
initLock(cLock)
|
||||
var thread: Thread[void]
|
||||
|
||||
for i in 0..300:
|
||||
createThread[void](thread, main)
|
||||
|
||||
joinThreads(thread)
|
||||
@@ -0,0 +1 @@
|
||||
--threads:on
|
||||
Reference in New Issue
Block a user