load(); } $apiUrl = $_ENV['WAZUH_API_URL'] ?? 'https://127.0.0.1:55000'; $apiUser = $_ENV['WAZUH_API_USER'] ?? 'wazuh-wui'; $apiPass = $_ENV['WAZUH_API_PASSWORD'] ?? 'wazuh-wui'; // 1. Get Token $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apiUrl . '/security/user/authenticate'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, "$apiUser:$apiPass"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode !== 200) { die("Auth failed: $response"); } $token = json_decode($response, true)['data']['token'] ?? null; if (!$token) die("No token"); echo "Token: OK\n"; // 2. Get Agents $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apiUrl . '/agents?limit=2'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $token"]); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec($ch); curl_close($ch); echo "Agents:\n" . substr($response, 0, 500) . "...\n"; // 3. Get Hardware $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apiUrl . '/syscollector/hardware'); // Does this work globally? curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $token"]); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec($ch); curl_close($ch); echo "Hardware:\n" . substr($response, 0, 500) . "...\n";