diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerUpdate.php b/emhttp/plugins/dynamix.docker.manager/include/DockerUpdate.php index ee0233318..1951baf26 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerUpdate.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerUpdate.php @@ -14,8 +14,9 @@ &1|grep -o 'OK'")=='OK'; +$ncsi = check_network_connectivity(); $DockerTemplates = new DockerTemplates(); if ($ncsi) $DockerTemplates->downloadTemplates(); $DockerTemplates->getAllInfo($ncsi,$ncsi); diff --git a/emhttp/plugins/dynamix.plugin.manager/include/PluginHelpers.php b/emhttp/plugins/dynamix.plugin.manager/include/PluginHelpers.php index fdbc1a029..25e797083 100644 --- a/emhttp/plugins/dynamix.plugin.manager/include/PluginHelpers.php +++ b/emhttp/plugins/dynamix.plugin.manager/include/PluginHelpers.php @@ -11,6 +11,9 @@ */ ?> &1|grep -o 'OK'"); + if ($ncsi===null) $ncsi = check_network_connectivity(); return $ncsi ? plugin('check',$arg) : false; } diff --git a/emhttp/plugins/dynamix.plugin.manager/scripts/checkall b/emhttp/plugins/dynamix.plugin.manager/scripts/checkall index 7c46a8ed5..e4e7e2096 100755 --- a/emhttp/plugins/dynamix.plugin.manager/scripts/checkall +++ b/emhttp/plugins/dynamix.plugin.manager/scripts/checkall @@ -44,7 +44,7 @@ function write(...$messages){ } write(_("Checking connectivity")." ...\n"); -if (exec("wget --spider --no-check-certificate -nv -T10 -t1 https://www.msftncsi.com/ncsi.txt 2>&1|grep -om1 'OK'")) { +if (check_network_connectivity()) { $check = popen('plugin checkall','r'); while (!feof($check)) write(fgets($check)); pclose($check); diff --git a/emhttp/plugins/dynamix/include/Wrappers.php b/emhttp/plugins/dynamix/include/Wrappers.php index e362ae679..115801216 100644 --- a/emhttp/plugins/dynamix/include/Wrappers.php +++ b/emhttp/plugins/dynamix/include/Wrappers.php @@ -192,4 +192,13 @@ function http_get_contents(string $url, array $opts = [], array &$getinfo = NULL } return $out; } +/** + * Detect network connectivity via Network Connectivity Status Indicator + * @return bool + */ +function check_network_connectivity(): bool { + $url = 'http://www.msftncsi.com/ncsi.txt'; + $out = http_get_contents($url); + return ($out=="Microsoft NCSI"); +} ?>