mirror of
https://github.com/billz/raspap-webgui.git
synced 2023-10-10 13:37:24 +02:00
Merge pull request #620 from zbchristian/master
Add internet connectivity information to network UI
This commit is contained in:
commit
51a71808d3
@ -23,6 +23,8 @@ define('RASPI_OPENVPN_CLIENT_LOGIN', '/etc/openvpn/client/login.conf');
|
|||||||
define('RASPI_OPENVPN_SERVER_CONFIG', '/etc/openvpn/server/server.conf');
|
define('RASPI_OPENVPN_SERVER_CONFIG', '/etc/openvpn/server/server.conf');
|
||||||
define('RASPI_TORPROXY_CONFIG', '/etc/tor/torrc');
|
define('RASPI_TORPROXY_CONFIG', '/etc/tor/torrc');
|
||||||
define('RASPI_LIGHTTPD_CONFIG', '/etc/lighttpd/lighttpd.conf');
|
define('RASPI_LIGHTTPD_CONFIG', '/etc/lighttpd/lighttpd.conf');
|
||||||
|
define('RASPI_ACCESS_CHECK_IP', '1.1.1.1');
|
||||||
|
define('RASPI_ACCESS_CHECK_DNS', 'one.one.one.one');
|
||||||
|
|
||||||
// Constant for the 5GHz wireless regulatory domain
|
// Constant for the 5GHz wireless regulatory domain
|
||||||
define('RASPI_5GHZ_ISO_ALPHA2', array('US'));
|
define('RASPI_5GHZ_ISO_ALPHA2', array('US'));
|
||||||
|
@ -27,6 +27,8 @@ $defaults = [
|
|||||||
'RASPI_OPENVPN_SERVER_CONFIG' => '/etc/openvpn/server/server.conf',
|
'RASPI_OPENVPN_SERVER_CONFIG' => '/etc/openvpn/server/server.conf',
|
||||||
'RASPI_TORPROXY_CONFIG' => '/etc/tor/torrc',
|
'RASPI_TORPROXY_CONFIG' => '/etc/tor/torrc',
|
||||||
'RASPI_LIGHTTPD_CONFIG' => '/etc/lighttpd/lighttpd.conf',
|
'RASPI_LIGHTTPD_CONFIG' => '/etc/lighttpd/lighttpd.conf',
|
||||||
|
'RASPI_ACCESS_CHECK_IP' => '1.1.1.1',
|
||||||
|
'RASPI_ACCESS_CHECK_DNS' => 'one.one.one.one',
|
||||||
|
|
||||||
// Optional services, set to true to enable.
|
// Optional services, set to true to enable.
|
||||||
'RASPI_WIFICLIENT_ENABLED' => true,
|
'RASPI_WIFICLIENT_ENABLED' => true,
|
||||||
|
30
includes/internetRoute.php
Normal file
30
includes/internetRoute.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$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);
|
||||||
|
$rInfo[$i]["gw-name"] = empty($host) ? "*" : $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].' '.RASPI_ACCESS_CHECK_IP.' | sed -rn "s/.*icmp_seq=1.*time=.*/OK/p"',$okip);
|
||||||
|
$rInfo[$i]["access-ip"] = empty($okip) ? false : true;
|
||||||
|
unset($okdns);
|
||||||
|
exec('ping -W1 -c 1 -I '.$prop[0].' '.RASPI_ACCESS_CHECK_DNS.' | sed -rn "s/.*icmp_seq=1.*time=.*/OK/p"',$okdns);
|
||||||
|
$rInfo[$i]["access-dns"] = empty($okdns) ? false : true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$rInfo = array("error"=>"No route to the internet found");
|
||||||
|
}
|
||||||
|
$rInfo_json = json_encode($rInfo);
|
||||||
|
?>
|
@ -451,6 +451,9 @@ msgstr "Configures the max_num_sta option of hostapd. The default and maximum is
|
|||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr "Summary"
|
msgstr "Summary"
|
||||||
|
|
||||||
|
msgid "Internet connection"
|
||||||
|
msgstr "Internet connection"
|
||||||
|
|
||||||
msgid "Current settings"
|
msgid "Current settings"
|
||||||
msgstr "Current settings"
|
msgstr "Current settings"
|
||||||
|
|
||||||
|
@ -26,8 +26,49 @@
|
|||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
|
|
||||||
<div role="tabpanel" class="tab-pane active" id="summary">
|
<div role="tabpanel" class="tab-pane active" id="summary">
|
||||||
|
<h4 class="mt-3"><?php echo _("Internet connection"); ?></h4>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12"">
|
||||||
|
<div class="card ">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><?php echo _("Interface"); ?></th>
|
||||||
|
<th><?php echo _("IP Address"); ?></th>
|
||||||
|
<th><?php echo _("Gateway"); ?></th>
|
||||||
|
<th colspan="2"><?php echo _("Internet Access"); ?></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php
|
||||||
|
$checkAccess=true;
|
||||||
|
require "includes/internetRoute.php";
|
||||||
|
if (isset($rInfo["error"]) || empty($rInfo)) {
|
||||||
|
echo "<tr><td colspan=5>No route to the internet found</td></tr>";
|
||||||
|
} else {
|
||||||
|
foreach($rInfo as $route) {
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".$route["interface"]."</td>";
|
||||||
|
echo "<td>".$route["ip-address"]."</td>";
|
||||||
|
echo "<td>".$route["gateway"]."<br>".$route["gw-name"]."</td>";
|
||||||
|
$checkok = $route["access-ip"] ? "✓" : "failed";
|
||||||
|
echo "<td>".$checkok."<br>".RASPI_ACCESS_CHECK_IP."</td>";
|
||||||
|
$checkok = $route["access-dns"] ? "✓" : "failed";
|
||||||
|
echo "<td>".$checkok."<br>".RASPI_ACCESS_CHECK_DNS."</td>";
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<h4 class="mt-3"><?php echo _("Current settings") ?></h4>
|
<h4 class="mt-3"><?php echo _("Current settings") ?></h4>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<?php foreach ($interfaces as $if): ?>
|
<?php foreach ($interfaces as $if): ?>
|
||||||
|
Loading…
Reference in New Issue
Block a user