/
Stormsidee
/
PentestBotPY
Обзор
Документация
Войти
/
Stormsidee
/
PentestBotPY
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
components/utils.py
124 строки
5 KB
Stormsidee
upd: fixed ddos func
17 окт 2025, 10:55
17 окт 2025, 10:55
cb349ee
Код
Авторство
О чём код?
import socket import socket import subprocess import platform import random from components.config import bot from components.keyboards import create_main_keyboard def cfg_vpn(message): if message.text == "VLESS": bot.send_message(message.chat.id, "vless://8ec906b7-0ce9-44a6-bc45-011bc5398e77@stormvpn.work.gd:443?type=tcp&security=reality&pbk=f1lVklfEXIiMTqDJBQyidoGqq83kiLnqH4q-yAP3O1U&fp=firefox&sni=python.org&sid=59&spx=%2F&flow=xtls-rprx-vision#stormvpn",reply_markup=create_main_keyboard()) elif message.text == "WireGuard": cfg_msg = """ [Interface] PrivateKey = YL1klS9LdIsIIDg/99kqSC2DrrF6+ywTd+qIBZhqrFk= Address = 10.0.0.2/32 DNS = 1.1.1.1, 1.0.0.1 MTU = 1280 # Plazma VPN-1 [Peer] PublicKey = dDQBHSxbqPd22o33Bj8Sbp2EK2gwhGMulPy+RVpyQWU= AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = stormvpn.work.gd:65531 """ bot.send_message(message.chat.id, cfg_msg ,reply_markup=create_main_keyboard()) def random_func(message): value = random.randint(1,100) bot.send_message(message.chat.id, f"🎯 Случайное число: {value}") def ping_ip(message): ip = message.text.strip() try: # Определяем ОС для правильной команды ping param = "-n" if platform.system().lower() == "windows" else "-c" # Выполняем ping result = subprocess.run( ["ping", param, "4", ip], capture_output=True, text=True, timeout=10 ) if result.returncode == 0: # Парсим время ответа lines = result.stdout.split('\n') for line in lines: if "time=" in line: bot.send_message(message.chat.id, f"✅ {ip} доступен!\n{line}") return bot.send_message(message.chat.id, f"✅ {ip} доступен!") else: bot.send_message(message.chat.id, f"❌ {ip} недоступен") except subprocess.TimeoutExpired: bot.send_message(message.chat.id, f"⏰ Таймаут пинга {ip}") except Exception as e: bot.send_message(message.chat.id, f"❌ Ошибка: {e}") def check_port(message): try: text = message.text.strip() if ' ' in text: target, port = text.split(' ') port = int(port) else: bot.send_message(message.chat.id, "❌ Формат: 192.168.1.1 80") return bot.send_message(message.chat.id, f"🔍 Проверяю {target}:{port}...") # Определяем IP try: socket.inet_aton(target) ip = target except socket.error: ip = socket.gethostbyname(target) # Пробуем подключиться sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(8) # Увеличиваем таймаут result = sock.connect_ex((ip, port)) if result == 0: # Если порт "открыт" - проверяем, не локальный ли это IP if ip.startswith(('192.168.', '10.', '172.16.', '127.')): bot.send_message(message.chat.id, f"⚠️ Порт {port} открыт в ЛОКАЛЬНОЙ сети\n" f"Но из интернета он может быть закрыт!\n" f"IP: {ip}") else: # Пробуем получить баннер для подтверждения try: sock.send(b"HEAD / HTTP/1.1\r\n\r\n") banner = sock.recv(1024).decode('utf-8', errors='ignore') if banner: bot.send_message(message.chat.id, f"✅ Порт {port} ОТКРЫТ и отвечает!\n" f"IP: {ip}\n" f"Ответ: {banner[:100]}...") else: bot.send_message(message.chat.id, f"✅ Порт {port} ОТКРЫТ (но нет ответа)\n" f"IP: {ip}") except: bot.send_message(message.chat.id, f"✅ Порт {port} ОТКРЫТ (но сервис не отвечает)\n" f"IP: {ip}") else: bot.send_message(message.chat.id, f"❌ Порт {port} ЗАКРЫТ или недоступен\n" f"IP: {ip}\n" f"Код ошибки: {result}") sock.close() except socket.timeout: bot.send_message(message.chat.id, f"⏰ Таймаут - порт {port} фильтруется или недоступен") except Exception as e: bot.send_message(message.chat.id, f"❌ Ошибка: {e}")