$docroot ??= ($_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp'); // add translations $_SERVER['REQUEST_URI'] = 'settings'; require_once "$docroot/webGui/include/Translations.php"; function port($eth) { $sys = "/sys/class/net"; $x = preg_replace('/[^0-9]/','',$eth); return file_exists("$sys/br{$x}") ? "br${x}" : (file_exists("$sys/bond{$x}") ? "bond{$x}" : "eth{$x}"); } exec("grep -Po 'nameserver \K.*' /etc/resolv.conf",$ns); $eth = $_POST['port']; $vlan = $_POST['vlan']; $port = port($eth).($vlan ? ".$vlan" : ""); $v6on = @file_get_contents("/proc/sys/net/ipv6/conf/$port/disable_ipv6")!=1; $none = _('None'); $error = ""._('Missing').""; $note = $eth=='eth0' && !$vlan ? $error : $none; $link = _(ucfirst(exec("ethtool $eth | awk '$1==\"Link\" {print $3;exit}'")))." (".exec("ethtool $eth | grep -Pom1 '^\s+Port: \K.*'").")"; $speed = _(preg_replace(['/^(\d+)/','/!/'],['$1 ',''],exec("ethtool $eth | awk '$1==\"Speed:\" {print $2;exit}'"))); $ipv4 = array_filter(explode(' ',exec("ip -4 -br addr show scope global $port | awk '{\$1=\$2=\"\";print;exit}' | sed -r 's/ metric [0-9]+//g; s/\/[0-9]+//g'"))); $gw4 = exec("ip -4 route show default dev $port | awk '{print \$3;exit}'") ?: $note; $dns4 = array_filter($ns,function($ns){return strpos($ns,':')===false;}); $domain = exec("grep -Pom1 'domain \K.*' /etc/resolv.conf") ?: '---'; if ($v6on) { $ipv6 = array_filter(explode(' ',exec("ip -6 -br addr show scope global $port | awk '{\$1=\$2=\"\";print;exit}' | sed -r 's/ metric [0-9]+//g; s/\/[0-9]+//g'"))); $gw6 = exec("ip -6 route show default dev $port | awk '{print \$3;exit}'") ?: $note; $dns6 = array_filter($ns,function($ns){return strpos($ns,':')!==false;}); } echo "
| "._('Interface link').": | $link |
| "._('Interface speed').": | $speed |
| "._('IPv4 address').": | $ip |
| "._('IPv4 address').": | $note |
| "._('IPv4 default gateway').": | $gw4 |
| "._('IPv4 DNS server').": | $dns |
| "._('IPv4 DNS server').": | $error |
| "._('IPv6 address').": | $ip |
| "._('IPv6 address').": | $note |
| "._('IPv6 default gateway').": | $gw6 |
| "._('IPv6 DNS server').": | $dns |
| "._('IPv6 DNS server').": | $error |
| "._('Domain name').": | $domain |