diff --git a/data/users.json b/data/users.json new file mode 100644 index 0000000..ca26070 --- /dev/null +++ b/data/users.json @@ -0,0 +1 @@ +{"users": {"admin": "14910ed21c660593256286cb49e038d78f16869a5e5576edfde0ef5e4a3785ef"}} \ No newline at end of file diff --git a/server.log b/server.log index de421d5..9e476b3 100644 --- a/server.log +++ b/server.log @@ -7,3 +7,71 @@ INFO: 127.0.0.1:45996 - "GET / HTTP/1.1" 200 OK INFO: 127.0.0.1:46010 - "GET / HTTP/1.1" 200 OK INFO: 127.0.0.1:51612 - "GET / HTTP/1.1" 200 OK INFO: 127.0.0.1:51616 - "GET / HTTP/1.1" 200 OK +INFO: 192.168.5.30:61482 - "GET / HTTP/1.1" 200 OK +INFO: 192.168.5.30:63590 - "GET /favicon.ico HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /favicon.ico HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "POST /api/setup/test-http HTTP/1.1" 200 OK +2026-02-20 18:18:15,427 - fan_controller - INFO - Loaded config from /home/devmatrix/projects/fan-controller-v2/data/config.json +2026-02-20 18:18:15,428 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json +2026-02-20 18:18:15,600 - fan_controller - INFO - Connected to IPMI at 192.168.5.191 +2026-02-20 18:18:15,601 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888 +/home/devmatrix/projects/fan-controller-v2/web_server.py:152: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + self._sessions[token] = (username, datetime.utcnow() + timedelta(days=7)) +INFO: 192.168.5.30:60302 - "POST /api/setup HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET / HTTP/1.1" 200 OK +/home/devmatrix/projects/fan-controller-v2/web_server.py:159: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). + if datetime.utcnow() > expiry: +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK +INFO: 192.168.5.30:60302 - "GET /api/status HTTP/1.1" 200 OK diff --git a/web_server.py b/web_server.py index 5fcd9d9..e83c87a 100644 --- a/web_server.py +++ b/web_server.py @@ -476,11 +476,11 @@ def get_html(theme="dark"):
-

IPMI Controller

+

IPMI Controller

- - - + + +