'Missing required parameter: domain']); return; } $certFile = "/etc/letsencrypt/live/$domain/fullchain.pem"; if (!file_exists($certFile)) { http_response_code(404); echo json_encode(['error' => 'SSL certificate not found']); return; } $certData = openssl_x509_parse(file_get_contents($certFile)); if (!$certData || !isset($certData['validTo_time_t'])) { http_response_code(500); echo json_encode(['error' => 'Failed to parse SSL certificate']); return; } $expiryTimestamp = $certData['validTo_time_t']; $expiryDate = date('Y-m-d', $expiryTimestamp); $daysRemaining = ceil(($expiryTimestamp - time()) / 86400); echo json_encode([ 'ssl_expiry' => $expiryDate, 'ssl_remaining' => $daysRemaining ]); } }