diff --git a/lib/OperatingSystems/DefaultOs.php b/lib/OperatingSystems/DefaultOs.php index cbe69691..77c59c47 100644 --- a/lib/OperatingSystems/DefaultOs.php +++ b/lib/OperatingSystems/DefaultOs.php @@ -166,13 +166,16 @@ public function getNetworkInterfaces(): array { $iface['ipv6'] = shell_exec('ip -o -6 addr show ' . $iface['interface'] . ' | sed -e \'s/^.*inet6 \([^ ]\+\).*/\1/\''); if ($iface['interface'] !== 'lo') { $iface['status'] = shell_exec('cat /sys/class/net/' . $iface['interface'] . '/operstate'); - $iface['speed'] = shell_exec('cat /sys/class/net/' . $iface['interface'] . '/speed'); - if (isset($iface['speed']) && $iface['speed'] !== '') { - $iface['speed'] = $iface['speed'] . 'Mbps'; + $iface['speed'] = (int)shell_exec('cat /sys/class/net/' . $iface['interface'] . '/speed'); + if (isset($iface['speed']) && $iface['speed'] > 0) { + if ($iface['speed'] >= 1000) { + $iface['speed'] = $iface['speed'] / 1000 . ' Gbps'; + } else { + $iface['speed'] = $iface['speed'] . ' Mbps'; + } } else { $iface['speed'] = 'unknown'; } - $duplex = shell_exec('cat /sys/class/net/' . $iface['interface'] . '/duplex'); if (isset($duplex) && $duplex !== '') { $iface['duplex'] = 'Duplex: ' . $duplex;