forked from vergoh/vnstat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vnstat-json.php
30 lines (22 loc) · 914 Bytes
/
vnstat-json.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
/* vnstat-json.php -- example php for vnStat json output */
/* copyright (c) 2015-2021 Teemu Toivola <tst at iki dot fi> */
/* released under the GNU General Public License */
/* location of vnstat binary */
$vnstat_cmd = "/usr/bin/vnstat";
/* individually accessible interfaces with ?interface=N */
/* for static list, uncomment first line below, update the list and comment out second line */
//$interfaces = array("eth0", "eth1");
$interfaces = explode("\n", trim(shell_exec("$vnstat_cmd --dbiflist 1")));
/* no editing should be needed below this line */
$iface = "";
$getiface = "";
if (isset($_GET['interface']) && ctype_digit($_GET['interface'])) {
$getiface = $_GET['interface'];
}
if (strlen($getiface) > 0 && $getiface >= 0 && $getiface < count($interfaces)) {
$iface = " -i ".$interfaces[$getiface];
}
header("Content-Type: application/json");
passthru($vnstat_cmd." --json".$iface);
?>