0% ont trouvé ce document utile (0 vote)
38 vues3 pages

Message 1

Le document est un script Python qui collecte des informations système, telles que le nom d'utilisateur, l'espace disque, la mémoire RAM, et les adresses IP, puis les envoie à un webhook Discord. Il vérifie également la disponibilité d'Internet avant d'envoyer les données et inclut des alertes pour un usage élevé de la RAM ou du CPU. Le script installe les modules nécessaires et demande une confirmation à l'utilisateur avant d'envoyer les informations.

Transféré par

xpqz9ffmvg
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues3 pages

Message 1

Le document est un script Python qui collecte des informations système, telles que le nom d'utilisateur, l'espace disque, la mémoire RAM, et les adresses IP, puis les envoie à un webhook Discord. Il vérifie également la disponibilité d'Internet avant d'envoyer les données et inclut des alertes pour un usage élevé de la RAM ou du CPU. Le script installe les modules nécessaires et demande une confirmation à l'utilisateur avant d'envoyer les informations.

Transféré par

xpqz9ffmvg
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

import subprocess

import sys
import psutil
import GPUtil
import socket
import platform
import getpass
import pyttsx3
import importlib
import requests
import shutil
import threading
from datetime import datetime

DISCK =
"[Link]
5VIVWO94zaz4IcR3iB_yBJCPVJRcMgL2FQUi150"

def install_modules():
modules = ['requests', 'psutil', 'GPUtil']
for module in modules:
if [Link].find_spec(module) is None:
subprocess.check_call([[Link], '-m', 'pip', 'install', module])

def get_system_info():
inf = {}
try:
# Nom de l'utilisateur
inf["Nom de l'utilisateur"] = [Link]()

# Nom de l'ordinateur
inf["Nom de l'ordinateur"] = [Link]()

# Système d'exploitation
inf["Système d'exploitation"] = f"{[Link]()} {[Link]()}"

# Version de Python
inf["Version de Python"] = platform.python_version()

# Mémoire RAM
mem = psutil.virtual_memory()
inf["Mémoire RAM"] = f"{[Link] // (1024 ** 3)} GB"

# Espace disque
total, used, free = shutil.disk_usage("/")
inf["Espace Disque Total"] = f"{total // (1024 ** 3)} GB"
inf["Espace Disque Utilisé"] = f"{used // (1024 ** 3)} GB"
inf["Espace Disque Libre"] = f"{free // (1024 ** 3)} GB"

# Batterie (si applicable)


battery = psutil.sensors_battery()
inf["Batterie"] = f"{[Link]}%" if battery else "Aucune information
de batterie"

# Temps de démarrage du système


boot_time = [Link](psutil.boot_time())
inf["Temps de démarrage"] = boot_time.strftime("%Y-%m-%d %H:%M:%S")
uptime = [Link]() - boot_time
inf["Temps depuis le démarrage"] = str(uptime)
# IP publique
try:
inf["IP publique"] = [Link]('[Link]
except Exception as e:
inf["IP publique"] = f"Erreur: {e}"

# IPv4
inf["IPv4"] = [Link]([Link]())

# IPv6
ipv6_info = [Link]([Link](), None, socket.AF_INET6)
inf["IPv6"] = [info[4][0] for info in ipv6_info] if ipv6_info else "Aucune
adresse IPv6"

# IP privée
inf["IP privée"] = []
for iface, addrs in psutil.net_if_addrs().items():
for addr in addrs:
if [Link] == socket.AF_INET:
inf["IP privée"].append([Link])
if not inf["IP privée"]:
inf["IP privée"] = "Aucune adresse IP privée trouvée"

# Adresse MAC
inf["Adresse MAC"] = []
for iface, addrs in psutil.net_if_addrs().items():
for addr in addrs:
if [Link] == psutil.AF_LINK:
inf["Adresse MAC"].append([Link])
if not inf["Adresse MAC"]:
inf["Adresse MAC"] = "Aucune adresse MAC trouvée"

# CPU
inf["CPU"] = [Link]()

# GPU
gpus = [Link]()
inf["GPU"] = ", ".join([[Link] for gpu in gpus]) if gpus else "Aucun GPU
détecté"

# Processus actifs (top 5 consommateurs de CPU)


inf["Processus actifs (top 5)"] = []
for proc in sorted(psutil.process_iter(['pid', 'name', 'cpu_percent',
'memory_percent']),
key=lambda p: [Link]['cpu_percent'], reverse=True)[:5]:
inf["Processus actifs (top 5)"].append(
f"{[Link]['name']} (PID: {[Link]['pid']}, CPU:
{[Link]['cpu_percent']}%, RAM: {[Link]['memory_percent']}%)"
)

# Informations réseau (vitesse)


try:
net_io = psutil.net_io_counters()
inf["Vitesse Réseau"] = f"Upload: {net_io.bytes_sent / (1024 ** 2):.2f}
MB, Download: {net_io.bytes_recv / (1024 ** 2):.2f} MB"
except Exception as e:
inf["Vitesse Réseau"] = f"Erreur: {e}"
# Alerte si usage CPU/RAM élevé
if [Link] > 80:
inf["Alerte RAM"] = f"Usage RAM élevé: {[Link]}%"
if psutil.cpu_percent(interval=1) > 80:
inf["Alerte CPU"] = f"Usage CPU élevé: {psutil.cpu_percent(interval=1)}
%"

except Exception as e:
inf["Erreur globale"] = f"Erreur lors de la récupération des infos système:
{e}"

return inf

def is_internet_available():
try:
[Link]('[Link] timeout=5)
return True
except [Link]:
return False

def send_info_to_discord(inf):
content = "\n".join(f"{key}: {value}" for key, value in [Link]())
payload = {"content": f"# INFOS SYSTEME\n{content}"}
if is_internet_available():
try:
[Link](DISCK, json=payload)
except Exception as e:
print(f"Erreur lors de l'envoi des données à Discord: {e}")
else:
print("Pas de connexion Internet. Les données n'ont pas été envoyées.")

def async_send_info(inf):
[Link](target=send_info_to_discord, args=(inf,)).start()

def confirm_and_send():
confirmation = input("Voulez-vous envoyer les informations à Discord ? (o/n) :
").lower()
if confirmation == 'o':
inf = get_system_info()
async_send_info(inf)
else:
print("Envoi annulé.")

# Installation des modules requis et exécution


install_modules()
confirm_and_send()

Vous aimerez peut-être aussi