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.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/config/tinc/status_tinc.php b/config/tinc/status_tinc.php
new file mode 100644
index 00000000..725ccce6
--- /dev/null
+++ b/config/tinc/status_tinc.php
@@ -0,0 +1,70 @@
+<?php
+
+$pgtitle = array(gettext("Status"), "tinc");
+require("guiconfig.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"); ?>
+
+Connection list:<BR>
+<pre>
+<?php print tinc_status_1(); ?>
+</pre>
+<BR>
+Virtual network device statistics, all known nodes, edges and subnets:<BR>
+<pre>
+<?php print tinc_status_2(); ?>
+</pre>
+
+<?php include("fend.inc"); ?>