mirror of
https://github.com/RaspAP/raspap-webgui.git
synced 2024-11-25 09:00:25 +00:00
Merge pull request #620 from zbchristian/master
Add internet connectivity information to network UI
This commit is contained in:
commit
51a71808d3
5 changed files with 89 additions and 11 deletions
|
@ -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_TORPROXY_CONFIG', '/etc/tor/torrc');
|
||||
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
|
||||
define('RASPI_5GHZ_ISO_ALPHA2', array('US'));
|
||||
|
|
|
@ -27,6 +27,8 @@ $defaults = [
|
|||
'RASPI_OPENVPN_SERVER_CONFIG' => '/etc/openvpn/server/server.conf',
|
||||
'RASPI_TORPROXY_CONFIG' => '/etc/tor/torrc',
|
||||
'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.
|
||||
'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"
|
||||
msgstr "Summary"
|
||||
|
||||
msgid "Internet connection"
|
||||
msgstr "Internet connection"
|
||||
|
||||
msgid "Current settings"
|
||||
msgstr "Current settings"
|
||||
|
||||
|
|
|
@ -17,21 +17,62 @@
|
|||
$arrHostapdConf = parse_ini_file('/etc/raspap/hostapd.ini');
|
||||
// defaults to false
|
||||
$bridgedEnabled = $arrHostapdConf['BridgedEnable'];
|
||||
?>
|
||||
<?php if (!$bridgedEnabled): // no interface details when bridged ?>
|
||||
<?php foreach ($interfaces as $if): ?>
|
||||
<?php $if_quoted = htmlspecialchars($if, ENT_QUOTES) ?>
|
||||
?>
|
||||
<?php if (!$bridgedEnabled) : // no interface details when bridged ?>
|
||||
<?php foreach ($interfaces as $if): ?>
|
||||
<?php $if_quoted = htmlspecialchars($if, ENT_QUOTES) ?>
|
||||
<li role="presentation" class="nav-item"><a class="nav-link" href="#<?php echo $if_quoted ?>" aria-controls="<?php echo $if_quoted ?>" role="tab" data-toggle="tab"><?php echo $if_quoted ?></a></li>
|
||||
<?php endforeach ?>
|
||||
<?php endforeach ?>
|
||||
<?php endif ?>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
|
||||
<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>
|
||||
<div class="row">
|
||||
<?php foreach ($interfaces as $if): ?>
|
||||
<?php $if_quoted = htmlspecialchars($if, ENT_QUOTES) ?>
|
||||
<?php $if_quoted = htmlspecialchars($if, ENT_QUOTES) ?>
|
||||
<div class="col-md-6 mb-3">
|
||||
<div class="card">
|
||||
<div class="card-header"><?php echo $if_quoted ?></div>
|
||||
|
@ -50,7 +91,7 @@
|
|||
</div><!-- /.tab-pane -->
|
||||
|
||||
<?php foreach ($interfaces as $if): ?>
|
||||
<?php $if_quoted = htmlspecialchars($if, ENT_QUOTES) ?>
|
||||
<?php $if_quoted = htmlspecialchars($if, ENT_QUOTES) ?>
|
||||
<div role="tabpanel" class="tab-pane fade in" id="<?php echo $if_quoted ?>">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
|
@ -100,10 +141,10 @@
|
|||
<div class="form-group">
|
||||
<label for="<?php echo $if_quoted ?>-dnssvralt"><?php echo _("Alternate DNS Server") ?></label>
|
||||
<input type="text" class="form-control" id="<?php echo $if_quoted ?>-dnssvralt" placeholder="0.0.0.0">
|
||||
</div>
|
||||
<?php if (!RASPI_MONITOR_ENABLED): ?>
|
||||
</div>
|
||||
<?php if (!RASPI_MONITOR_ENABLED) : ?>
|
||||
<a href="#" class="btn btn-outline btn-primary intsave" data-int="<?php echo $if_quoted ?>"><?php echo _("Save settings") ?></a>
|
||||
<a href="#" class="btn btn-warning intapply" data-int="<?php echo $if_quoted ?>"><?php echo _("Apply settings") ?></a>
|
||||
<a href="#" class="btn btn-warning intapply" data-int="<?php echo $if_quoted ?>"><?php echo _("Apply settings") ?></a>
|
||||
<?php endif ?>
|
||||
</form>
|
||||
|
||||
|
|
Loading…
Reference in a new issue