add registrator.py

This commit is contained in:
2026-02-14 09:30:29 +01:00
parent 3ae7c8687f
commit 052b20393a

59
scripts/registrator.py Normal file
View File

@@ -0,0 +1,59 @@
import socket
import requests
import logging
from datetime import datetime
# Configuration des logs
logging.basicConfig(filename='/sdsat/logs/registrator.log', level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s')
ip='69.69.69.69'
def get_hostname():
try:
host = socket.gethostname()
print (host)
logging.info(f"Hostname recupere : {host}")
return host
except Exception as e:
logging.error(f"Erreur lors de la recuperation du hostname : {e}")
return None
def get_public_ip():
try:
response = requests.get('https://httpbin.org/ip')
ip = response.json().get('origin')
logging.info(f"Adresse IP publique recuperee : {ip}")
return ip.split(",")[0] # En cas d'adresses multiples, on prend la premiere
except Exception as e:
logging.error(f"Erreur lors de la recuperation de l'IP publique : {e}")
ip='69.69.69.69'
return ip
def send_to_api(host, IP):
url = "http://api.sdsat.fr:8000/registrator"
data = {
"host": host,
"IP": ip,
"Date_registration": datetime.now().isoformat()
}
try:
response = requests.post(url, json=data)
if response.status_code == 200:
logging.info(f"Donnees envoyees avec succes a l'API : {data}")
else:
logging.error(f"Erreur lors de l'envoi a l'API. Code: {response.status_code}, Message: {response.text}")
except Exception as e:
logging.error(f"Erreur lors de l'envoi a l'API : {e}")
if __name__ == '__main__':
host = get_hostname()
ip = get_public_ip()
print(f"Hostname: {host}")
print(f"IP Publique: {ip}")
if host and ip:
send_to_api(host, ip)