Загрузка данных


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import os
import sys
import time
import random
from datetime import datetime

# ANSI colors
M = "\033[35m"
LM = "\033[95m"
R = "\033[31m"
LR = "\033[91m"
B = "\033[34m"
LB = "\033[94m"
G = "\033[32m"
LG = "\033[92m"
Y = "\033[93m"
RST = "\033[0m"

BANNER = r"""
  ███████╗███████╗ ██████╗██████╗ ███████╗████████╗     █████╗ ████████╗████████╗ █████╗  ██████╗██╗  ██╗
  ██╔════╝██╔════╝██╔════╝██╔════╝██╔════╝╚══██╔══╝    ██╔══██╗╚══██╔══╝╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝
  ███████╗█████╗  ██║     ██║     █████╗     ██║       ███████║   ██║      ██║   ███████║██║     █████╔╝
  ╚════██║██╔══╝  ██║     ██║     ██╔══╝     ██║       ██╔══██║   ██║      ██║   ██╔══██║██║     ██╔═██╗
  ███████║███████╗╚██████╗╚██████╗███████╗   ██║       ██║  ██║   ██║      ██║   ██║  ██║╚██████╗██║  ██╗
  ╚══════╝╚══════╝ ╚═════╝ ╚═════╝╚══════╝   ╚═╝       ╚═╝  ╚═╝   ╚═╝      ╚═╝   ╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝
"""

PROXIES = [
    "103.51.205.168:8080","174.138.119.88:80","121.170.165.60:27557","45.74.31.30:19403",
    "183.111.179.185:26123","195.20.17.203:1080","38.172.160.16:999","45.74.31.30:4025",
    "151.233.50.238:1080","8.209.96.245:18080","154.217.253.30:1080","45.74.31.42:4302",
    "103.138.145.150:1999","27.75.158.197:1080","159.65.221.25:80","45.74.31.42:19517",
    "45.145.12.40:1080","103.115.198.39:5678","184.174.126.69:6361","41.33.219.140:1976",
    "172.237.11.129:3128","5.129.231.232:1080","145.223.46.59:5609","103.227.210.95:8443",
    "160.22.22.85:5678","45.74.31.42:11516","150.107.104.18:80","45.74.31.30:9535",
    "45.74.31.42:4663","203.192.217.6:8080","47.238.130.212:8008","123.200.7.11:8080",
    "103.18.79.108:8080","8.211.42.167:8081","223.25.110.37:8199","45.74.31.41:11209",
    "190.110.226.122:80","72.207.33.64:4145","117.236.124.166:3128","45.3.49.161:3129",
    "176.37.107.86:11111","27.68.175.42:1080","47.252.18.37:8083","45.74.31.30:10974",
    "174.64.199.82:4145","200.36.152.6:999","110.235.247.206:1080","178.159.52.208:8080",
    "45.74.31.42:11516","103.51.205.168:8080"
]

def clear():
    os.system("cls" if os.name == "nt" else "clear")

def print_banner():
    clear()
    colors = [M, LM, LR, R, LM, M, B, LB]
    for i, line in enumerate(BANNER.strip("\n").split("\n")):
        print(colors[i % len(colors)] + line + RST)
    print(LM + " " * 45 + "instagram snos3r gue" + RST)
    print(LM + " " * 35 + "[ Educational testing only ]" + RST)
    print(LB + "=" * 110 + RST)

def log_line(ip):
    return f"{ip} - - [{datetime.now().strftime('%d.%m.%Y')}]"

def attack(profile, count):
    print(LB + f"\n[*] Target: {profile}")
    print(LB + f"[*] Sessions: {count}")
    print(LB + "[*] Starting attack...\n" + RST)
    time.sleep(0.5)
    used = (PROXIES * ((count // len(PROXIES)) + 1))[:count]
    for proxy in used:
        ip = proxy.split(":")[0]
        c = random.choice([LM, M, LR, R, LB])
        print(c + log_line(ip) + RST)
        time.sleep(random.uniform(0.05, 0.15))
    print(LG + f"\n[+] Done. {count} sessions sent." + RST)
    input(Y + "\nPress Enter to return to menu..." + RST)

def readme():
    print_banner()
    print(LM + "\n=== README ===\n" + RST)
    print("Secret Attack - instagram snos3r gue")
    print("------------------------------------")
    print("Educational tool for local testing only.")
    print("Simulates attack logs, does not send real requests.\n")
    input(Y + "Press Enter to return to menu..." + RST)

def menu():
    while True:
        print_banner()
        print(LB + "  [1] " + LM + "Web Support attack")
        print(LB + "  [2] " + LM + "Meta Support")
        print(LB + "  [3] " + LM + "Readme")
        print(LB + "  [0] " + LM + "Exit")
        choice = input(Y + "\n  > " + RST).strip()
        if choice in ("1", "2"):
            profile = input(Y + "  Enter profile link: " + RST).strip()
            count_input = input(Y + "  Enter sessions count (50 session): " + RST).strip()
            try:
                count = int(count_input)
            except ValueError:
                count = 50
            attack(profile, count)
        elif choice == "3":
            readme()
        elif choice == "0":
            print(LR + "\n  Exit..." + RST)
            sys.exit(0)
        else:
            print(R + "  Invalid choice." + RST)
            time.sleep(1)

if __name__ == "__main__":
    try:
        menu()
    except KeyboardInterrupt:
        print(R + "\nInterrupted." + RST)
        sys.exit(0)