# wilcon.py # version 0.3.1 (aktualisiert) from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from sysinfo import get_hardware_info, set_debug_mode as set_sysinfo_debug_mode from netinf import get_network_info, set_debug_mode as set_netinf_debug_mode from proginfo import get_process_info, set_debug_mode as set_proginfo_debug_mode app = FastAPI( title="Wilcon Client Agent", description="API für Client-System-, Netzwerk- und Prozessinformationen.", version="0.3.1" ) # CORS-Konfiguration für wilcon.py (auf Port 8080) origins = [ "http://localhost:5500", # Für Live Server in VS Code "http://127.0.0.1:5500", # Für Live Server in VS Code "http://localhost:8080", # Wenn du später das Frontend direkt über Uvicorn ausliefern willst "http://127.0.0.1:8080", # Füge hier die IP-Adresse oder den Hostnamen deines Client-Rechners hinzu, # wenn du von einem anderen Gerät im Netzwerk zugreifen möchtest, z.B. "http://192.168.1.100:5500" ] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Optional: Setze den Debug-Modus für die importierten Module. # Dies wird die farbige CLI-Ausgabe in dem Terminal aktivieren, in dem uvicorn läuft. # Nützlich für die Entwicklung. # set_sysinfo_debug_mode(True) # set_netinf_debug_mode(True) # set_proginfo_debug_mode(True) @app.get("/sysinfo") async def get_sysinfo_endpoint(): # Umbenannt, um Konflikt mit importierter Funktion zu vermeiden """API-Endpunkt für Hardware- und Systeminformationen""" return get_hardware_info() @app.get("/netinfo") async def get_netinfo_endpoint(): # Umbenannt """API-Endpunkt für Netzwerkinformationen""" return get_network_info() @app.get("/procinfo") async def get_procinfo_endpoint(): # Umbenannt """API-Endpunkt für Prozessinformationen""" return get_process_info()