From 4508aed9ca2f35adda14f318d4f5972b6f0a390c Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 21 Aug 2025 23:44:56 +0300 Subject: [PATCH] add router.php --- openvpn-monitor/api/router.php | 43 ++++++++++++++++++++++++++++++++++ openvpn-monitor/clients.php | 1 + 2 files changed, 44 insertions(+) create mode 100644 openvpn-monitor/api/router.php diff --git a/openvpn-monitor/api/router.php b/openvpn-monitor/api/router.php new file mode 100644 index 0000000..6f60a0d --- /dev/null +++ b/openvpn-monitor/api/router.php @@ -0,0 +1,43 @@ +getConnectedClients()); + break; + + case (preg_match('/^client\/(.+)$/', $path, $matches) ? true : false): + $clientName = urldecode($matches[1]); + echo json_encode($monitor->getClientDetails($clientName)); + break; + + case 'tls-errors': + echo json_encode($monitor->getTlsErrors()); + break; + + case 'stats': + echo json_encode($monitor->getStats()); + break; + + case 'health': + echo json_encode([ + 'status' => 'ok', + 'uptime' => $monitor->getUptime(), + 'clients' => count($monitor->getConnectedClients()) + ]); + break; + + default: + http_response_code(404); + echo json_encode(['error' => 'Unknown endpoint']); +} \ No newline at end of file diff --git a/openvpn-monitor/clients.php b/openvpn-monitor/clients.php index de5747f..ea84bd8 100644 --- a/openvpn-monitor/clients.php +++ b/openvpn-monitor/clients.php @@ -6,3 +6,4 @@ $monitor = new OpenVPNMonitor(); header('Content-Type: application/json; charset=utf-8'); echo json_encode($monitor->getClientList(), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); +
  • API Router
  • \ No newline at end of file