Processed with phpcbf, removed tabs

This commit is contained in:
billz 2020-06-28 16:58:42 +01:00
parent 6ed35a1aba
commit e5f2c218e1
1 changed files with 29 additions and 26 deletions

View File

@ -1,36 +1,39 @@
<?php
define("ACCESS_CHECK_IP","1.1.1.1");
define("ACCESS_CHECK_DNS","one.one.one.one");
$rInfo=array();
$rInfo=array();
// get all default routes
exec('ip route list | sed -rn "s/default via (([0-9]{1,3}\.){3}[0-9]{1,3}).*dev (\w*).*src (([0-9]{1,3}\.){3}[0-9]{1,3}).*/\3 \4 \1/p"',$routes);
if ( !empty($routes) ) {
foreach ($routes as $i => $route) {
$prop=explode(' ',$route);
$rInfo[$i]["interface"]=$prop[0];
$rInfo[$i]["ip-address"]=$prop[1];
$rInfo[$i]["gateway"]=$prop[2];
// resolve the name of the gateway (if possible)
unset($host);
exec('host '.$prop[2].' | sed -rn "s/.*domain name pointer (.*)\./\1/p" | head -n 1',$host);
if (empty($host)) $host[0]="*";
$rInfo[$i]["gw-name"] = $host[0];
if (isset($checkAccess) && $checkAccess) {
exec('ip route list | sed -rn "s/default via (([0-9]{1,3}\.){3}[0-9]{1,3}).*dev (\w*).*src (([0-9]{1,3}\.){3}[0-9]{1,3}).*/\3 \4 \1/p"', $routes);
if (!empty($routes) ) {
foreach ($routes as $i => $route) {
$prop=explode(' ', $route);
$rInfo[$i]["interface"]=$prop[0];
$rInfo[$i]["ip-address"]=$prop[1];
$rInfo[$i]["gateway"]=$prop[2];
// resolve the name of the gateway (if possible)
unset($host);
exec('host '.$prop[2].' | sed -rn "s/.*domain name pointer (.*)\./\1/p" | head -n 1', $host);
if (empty($host)) {
$host[0]="*";
}
$rInfo[$i]["gw-name"] = $host[0];
if (isset($checkAccess) && $checkAccess) {
// check internet connectivity w/ and w/o DNS resolution
unset($okip);
exec('ping -W1 -c 1 -I '.$prop[0].' '.ACCESS_CHECK_IP.' | sed -rn "s/.*icmp_seq=1.*time=.*/\&check\;/p"',$okip);
if (empty($okip)) $okip[0]="failed";
exec('ping -W1 -c 1 -I '.$prop[0].' '.RASPI_ACCESS_CHECK_IP.' | sed -rn "s/.*icmp_seq=1.*time=.*/\&check\;/p"', $okip);
if (empty($okip)) {
$okip[0]="failed";
}
$rInfo[$i]["access-ip"] = $okip[0];
unset($okdns);
exec('ping -W1 -c 1 -I '.$prop[0].' '.ACCESS_CHECK_DNS.' | sed -rn "s/.*icmp_seq=1.*time=.*/\&check\;/p"',$okdns);
if (empty($okdns)) $okdns[0]="failed";
exec('ping -W1 -c 1 -I '.$prop[0].' '.RASPI_ACCESS_CHECK_DNS.' | sed -rn "s/.*icmp_seq=1.*time=.*/\&check\;/p"', $okdns);
if (empty($okdns)) {
$okdns[0]="failed";
}
$rInfo[$i]["access-dns"] = $okdns[0];
}
}
} else {
$rInfo = array("error"=>"No route to the internet found");
}
$rInfo_json = json_encode($rInfo);
}
} else {
$rInfo = array("error"=>"No route to the internet found");
}
$rInfo_json = json_encode($rInfo);
?>