Display information about the host

This commit is contained in:
Xeryus Stokkel 2022-02-02 13:27:46 +01:00
parent 85036cfa76
commit ed16a494f2
Signed by: Xeryus Stokkel
GPG Key ID: 7023C2C891DDE681
2 changed files with 26 additions and 0 deletions

25
main.py
View File

@ -1,9 +1,20 @@
import platform
import socket
from fastapi import FastAPI, Header, Request
import netifaces
app = FastAPI()
@app.get("/")
def root(request: Request):
interfaces = {}
for interface in netifaces.interfaces():
interfaces[interface] = []
for link in netifaces.ifaddresses(interface).values():
for group in link:
interfaces[interface].append(group['addr'])
return {
"method": request.method,
"url": {
@ -18,4 +29,18 @@ def root(request: Request):
"ip-address": request.client.host,
"port": request.client.port,
},
"host": {
"hostname": platform.node(),
"fqdn": socket.getfqdn(),
"python": platform.python_version(),
"os": {
"system": platform.system(),
"release": platform.release(),
"version": platform.version(),
"distro": platform.freedesktop_os_release(),
},
"ip-addresses": interfaces,
}
}

View File

@ -6,6 +6,7 @@ gunicorn==20.1.0
h11==0.13.0
httptools==0.3.0
idna==3.3
netifaces==0.11.0
pydantic==1.9.0
python-dotenv==0.19.2
PyYAML==6.0