33800 Docs

← Retour
<?php // Webhook proxy - forwarde vers infra locale sans exposer IP // URL: https://nowhere84.com/webhooks/receive.php header("Content-Type: application/json"); // Configuration $local_endpoint = "http://82.65.119.221:5400/webhooks/incoming"; $log_file = "/home/deas8499/logs/webhooks.log"; // Récupérer payload $payload = file_get_contents("php://input"); $method = $_SERVER["REQUEST_METHOD"]; // Log $log = date("Y-m-d H:i:s") . " - " . $method . " - " . $_SERVER["REQUEST_URI"] . " - " . strlen($payload) . " bytes\n"; file_put_contents($log_file, $log, FILE_APPEND); // Si GET, retourner status if ($method === "GET") { echo json_encode(["status" => "ok", "service" => "webhook-proxy"]); exit; } // Forward POST $ch = curl_init($local_endpoint); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => $payload, CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "X-Forwarded-From: o2switch", "X-Webhook-Source: " . ($_SERVER["HTTP_X_WEBHOOK_SOURCE"] ?? "unknown"), "X-Original-Host: " . ($_SERVER["HTTP_HOST"] ?? "unknown") ], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30 ]); $response = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $error = curl_error($ch); curl_close($ch); // Log résultat $log = date("Y-m-d H:i:s") . " - Response: $code" . ($error ? " Error: $error" : "") . "\n"; file_put_contents($log_file, $log, FILE_APPEND); http_response_code($code ?: 200); echo $response ?: json_encode(["status" => "forwarded", "code" => $code]);