From bd6242cd766f8fa81bbc1920341a93f86824a033 Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Mon, 27 Apr 2026 01:58:04 +0200 Subject: [PATCH] sdsds --- modules/pihole/pages/api.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/modules/pihole/pages/api.php b/modules/pihole/pages/api.php index 69d3c98..4a08703 100644 --- a/modules/pihole/pages/api.php +++ b/modules/pihole/pages/api.php @@ -330,13 +330,25 @@ $detectApi = function (array $instance) use ($v6Auth, $v6RequestAny, $v5Request, if (($authRes['ok'] ?? false) && !empty($authRes['sid'])) { $sid = (string)$authRes['sid']; - $probe = $v6RequestAny($instance, ['dns/blocking', 'stats/summary', 'summary'], 'GET', [], $sid); + $probe = $v6RequestAny($instance, ['stats/summary', 'summary'], 'GET', [], $sid); + if (!($probe['ok'] ?? false)) { + $versionProbe = $v6RequestAny($instance, ['dns/blocking'], 'GET', [], $sid); + if (($versionProbe['ok'] ?? false) || in_array((int)($versionProbe['http_code'] ?? 0), [401, 403], true)) { + $probe = $versionProbe; + } + } if (!(empty($authRes['cached'])) && in_array((int)($probe['http_code'] ?? 0), [401, 403], true)) { $clearSessionCache($instance); $authRes = $v6Auth($instance); if (($authRes['ok'] ?? false) && !empty($authRes['sid'])) { $sid = (string)$authRes['sid']; - $probe = $v6RequestAny($instance, ['dns/blocking', 'stats/summary', 'summary'], 'GET', [], $sid); + $probe = $v6RequestAny($instance, ['stats/summary', 'summary'], 'GET', [], $sid); + if (!($probe['ok'] ?? false)) { + $versionProbe = $v6RequestAny($instance, ['dns/blocking'], 'GET', [], $sid); + if (($versionProbe['ok'] ?? false) || in_array((int)($versionProbe['http_code'] ?? 0), [401, 403], true)) { + $probe = $versionProbe; + } + } } } return ['version' => 6, 'sid' => $sid, 'probe' => $probe, 'auth' => $authRes]; @@ -348,7 +360,7 @@ $detectApi = function (array $instance) use ($v6Auth, $v6RequestAny, $v5Request, } } - $probe = $v6RequestAny($instance, ['dns/blocking', 'stats/summary', 'summary'], 'GET', [], $sid); + $probe = $v6RequestAny($instance, ['stats/summary', 'summary', 'dns/blocking'], 'GET', [], $sid); if ($probe['ok'] || in_array((int)($probe['http_code'] ?? 0), [401, 403], true)) { return ['version' => 6, 'sid' => $sid, 'probe' => $probe, 'auth' => $authRes]; }