-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
92 lines (81 loc) · 3.65 KB
/
main.py
File metadata and controls
92 lines (81 loc) · 3.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import os
import sys
import subprocess
from platform import system
import colorama
# Liste des bibliothèques nécessaires
required_libraries = []
# Vérifiez si chaque bibliothèque est installée
missing_libraries = [lib for lib in required_libraries if not subprocess.call(["pip", "show", lib]) == 0]
# Installez les bibliothèques manquantes
if missing_libraries:
print("Installation des bibliothèques nécessaires...")
for lib in missing_libraries:
subprocess.call(["pip", "install", lib])
colorama.init()
CLEAR_SCREEN = "\033[2J"
RED = "\033[31m"
RESET = "\033[0m"
GREEN = "\033[32m"
YELLOW = "\033[33m"
MAGENTA = "\033[35m"
CYAN = "\033[36m"
WHITE = "\033[37m"
YELLOW = "\033[33m"
os.system('cls' if os.name == 'nt' else 'clear')
logo = '''
_____ _____ _ ______ _ _ _____ _
|_ _| |_ _| | | | ___ \ | | (_) |_ _| | |
| | _ __ | | ___ ___ | |___ ______ | |_/ /_ __ ___ __ _| | ___ _ __ __ _| | ___ ___| |__
| || '_ \ | |/ _ \ / _ \| / __| |______| | ___ \ '__/ _ \/ _` | |/ / | '_ \ / _` | |/ _ \/ __| '_ \
_| || |_) | | | (_) | (_) | \__ \ | |_/ / | | __/ (_| | <| | | | | (_| | | __/ (__| | | |
\___/ .__/ \_/\___/ \___/|_|___/ \____/|_| \___|\__,_|_|\_\_|_| |_|\__, \_/\___|\___|_| |_|
| | __/ | V1.0
|_| |___/
'''
intro = '''
La boite à outils IP par Breakingtech.fr
'''
titre = '''\nMenu Principal'''
choixmenu = '''
--------------------------------------------------------------------
1) Supprimer les doublons de lignes dans un fichier .txt
2) Obtenir les adresses IP appartenant à un ou plusieurs domaines
3) Vérifier un ou plusieurs domaines en ligne
4) Scan des ports d'une Ip
5) Whois une IP ou un nom de domaine
6) Afficher votre IP aux formats IPV4 et IPV6
7) Quitter le programme
--------------------------------------------------------------------
'''
while True:
try:
os.system('cls' if os.name == 'nt' else 'clear')
print(RED + logo + YELLOW + intro + WHITE + titre + GREEN + choixmenu + RESET)
choice = input('Entrer un choix : ')
if choice.isdigit():
if choice == '1':
subprocess.call(["python3", "Scripts/1-doublon.py"])
elif choice == '2':
subprocess.call(["python3", "Scripts/2-ipdudomaine.py"])
elif choice == '3':
subprocess.call(["python3", "Scripts/3-verifliveip.py"])
elif choice == '4':
subprocess.call(["python3", "Scripts/4-scanportsip.py"])
elif choice == '5':
subprocess.call(["python3", "Scripts/5-whois.py"])
elif choice == '6':
subprocess.call(["python3", "Scripts/6-monip.py"])
elif choice == '7':
print(f"{MAGENTA}\nMerci d'avoir utilisé notre programme, à bientôt !{RESET}")
sys.exit()
else:
print(f"{RED}Choix invalide. Veuillez entrer un numéro valide.{RESET}\n")
else:
print(f"{RED}Choix invalide. Veuillez entrer un numéro valide.{RESET}\n")
if choice not in ['1', '2', '3', '4', '5', '6', '7', '8']:
input('\nAppuyez sur Entrée pour faire un nouveau choix.')
choice = ''
except KeyboardInterrupt:
print(f"{MAGENTA}\nMerci d'avoir utilisé notre programme, à bientôt !{RESET}")
sys.exit()