#!/bin/sh # Copyright (C) 2019 Ycarus (Yannick Chabanois) for OpenMPTCProuter case "$1" in list) echo '{ "speed": { "ifname": "eth0" }, "speedallif": {},"hours": { "ifname": "eth0" },"days": { "ifname": "eth0" },"months": { "ifname": "eth0" },"weeks": { "ifname": "eth0" },"top10": { "ifname": "eth0" } }' ;; call) case "$2" in speed) read input; IFNAME=`echo $input | jsonfilter -e '@.ifname'` vnstat -i $IFNAME --json -tr ;; speedallif) echo '{' for IFPATH in $(multipath | awk '/default/ {print $1}') do IFNAME=$(basename -- "$IFPATH") [ -n "$IFNAME" ] && { echo '"'$IFNAME'": ' vnstat -i $IFNAME --json -tr echo ',' } done echo '}' ;; hours) read input; IFNAME=`echo $input | jsonfilter -e '@.ifname'` vnstat -i $IFNAME -h --json ;; days) read input; IFNAME=`echo $input | jsonfilter -e '@.ifname'` vnstat -i $IFNAME -d --json ;; months) read input; IFNAME=`echo $input | jsonfilter -e '@.ifname'` vnstat -i $IFNAME -m --json ;; weeks) read input; IFNAME=`echo $input | jsonfilter -e '@.ifname'` vnstat -i $IFNAME -w --json ;; top10) read input; IFNAME=`echo $input | jsonfilter -e '@.ifname'` vnstat -i $IFNAME -t --json ;; esac ;; esac