first commit
This commit is contained in:
55
wilcon.py
Normal file
55
wilcon.py
Normal file
@ -0,0 +1,55 @@
|
||||
# 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()
|
||||
Reference in New Issue
Block a user