aboutsummaryrefslogtreecommitdiffstats
path: root/config/tinc/status_tinc.php
diff options
context:
space:
mode:
Diffstat (limited to 'config/tinc/status_tinc.php')
-rw-r--r--config/tinc/status_tinc.php56
1 files changed, 51 insertions, 5 deletions
diff --git a/config/tinc/status_tinc.php b/config/tinc/status_tinc.php
index 17b8e48c..725ccce6 100644
--- a/config/tinc/status_tinc.php
+++ b/config/tinc/status_tinc.php
@@ -2,23 +2,69 @@
$pgtitle = array(gettext("Status"), "tinc");
require("guiconfig.inc");
-require_once("tinc.inc");
+function tinc_status_1() {
+ exec("/usr/local/sbin/tincd --config=/usr/local/etc/tinc -kUSR1");
+ usleep(500000);
+ exec("/usr/sbin/clog /var/log/tinc.log | sed -e 's/.*tinc\[.*\]: //'",$result);
+ $i=0;
+ foreach($result as $line)
+ {
+ if(preg_match("/Connections:/",$line))
+ $begin=$i;
+ if(preg_match("/End of connections./",$line))
+ $end=$i;
+ $i++;
+ }
+ $output="";
+ $i=0;
+ foreach($result as $line)
+ {
+ if($i >= $begin && $i<= $end)
+ $output .= $line . "\n";
+ $i++;
+ }
+ return $output;
+}
+
+function tinc_status_2() {
+ exec("/usr/local/sbin/tincd --config=/usr/local/etc/tinc -kUSR2");
+ usleep(500000);
+ exec("/usr/sbin/clog /var/log/tinc.log | sed -e 's/.*tinc\[.*\]: //'",$result);
+ $i=0;
+ foreach($result as $line)
+ {
+ if(preg_match("/Statistics for Generic BSD tun device/",$line))
+ $begin=$i;
+ if(preg_match("/End of subnet list./",$line))
+ $end=$i;
+ $i++;
+ }
+ $output="";
+ $i=0;
+ foreach($result as $line)
+ {
+ if($i >= $begin && $i<= $end)
+ $output .= $line . "\n";
+ $i++;
+ }
+ return $output;
+}
+
+$shortcut_section = "tinc";
include("head.inc"); ?>
<body link="#0000CC" vlink="#0000CC" alink="#0000CC" onload="<?=$jsevents["body"]["onload"];?>">
<?php include("fbegin.inc"); ?>
-
-1:<BR>
+Connection list:<BR>
<pre>
<?php print tinc_status_1(); ?>
</pre>
<BR>
-2:<BR>
+Virtual network device statistics, all known nodes, edges and subnets:<BR>
<pre>
<?php print tinc_status_2(); ?>
</pre>
-
<?php include("fend.inc"); ?>