forked from freifunk-franken/firmware
72 lines
2.3 KiB
Plaintext
72 lines
2.3 KiB
Plaintext
|
#!/usr/bin/haserl
|
||
|
<%
|
||
|
echo -en "content-type: text/plain\r\n\r\n"
|
||
|
|
||
|
addr() {
|
||
|
local addr="$(ip -$1 address show dev $2 2> /dev/null | tr '/' ' '| awk '/inet/{ printf("%s ", $2); }')"
|
||
|
echo "${addr:--}"
|
||
|
}
|
||
|
|
||
|
default_gw() {
|
||
|
ip -$1 route list 0/0 dev $2 2> /dev/null | awk '{print($3); exit(0)}'
|
||
|
}
|
||
|
|
||
|
print() {
|
||
|
echo " option $1 '$2'"
|
||
|
}
|
||
|
|
||
|
printList() {
|
||
|
for item in $2; do
|
||
|
echo " list $1 '$item'"
|
||
|
done
|
||
|
}
|
||
|
|
||
|
#include OpenWrt version
|
||
|
. /etc/openwrt_release
|
||
|
. /etc/firmware_release
|
||
|
|
||
|
echo "package misc"
|
||
|
echo "config data 'data'"
|
||
|
print 'mac' "$(uci -q get network.mesh.macaddr)"
|
||
|
wanif=$(uci -q get network.wan.ifname)
|
||
|
printList 'freifunk_addr4' "$(addr 4 br-mesh)"
|
||
|
printList 'freifunk_addr6' "$(addr 6 br-mesh)"
|
||
|
printList 'wan_addr4' "$(addr 4 $wanif)"
|
||
|
printList 'wan_addr6' "$(addr 6 $wanif)"
|
||
|
|
||
|
up="$(uptime)"
|
||
|
print 'load' "${up##*:}"
|
||
|
uptime="${up%%,*}"
|
||
|
print 'uptime' "${uptime##*up}"
|
||
|
print 'uname' "$(uname -s -m -r)"
|
||
|
print 'date' "$(date)"
|
||
|
|
||
|
if [ $(sockread /var/run/fastd.status < /dev/null 2> /dev/null | grep -c '"connection": {') -gt 0 ]; then
|
||
|
print 'has_vpn' 'Ja'
|
||
|
else
|
||
|
print 'has_vpn' 'Nein'
|
||
|
fi
|
||
|
|
||
|
if [ -n "$(default_gw 4 $wanif)" -o -n "$(default_gw 6 $wanif)" ]; then
|
||
|
print 'has_internet' 'Ja'
|
||
|
else
|
||
|
print 'has_internet' 'Nein'
|
||
|
fi
|
||
|
|
||
|
print 'node_count' "$((`cat /sys/kernel/debug/batman_adv/bat0/transtable_global | grep '^ [^ ]' | cut -b 39-55 | sort | uniq | wc -l 2> /dev/null`+1))"
|
||
|
print 'neigh_count' "$(cat /sys/kernel/debug/batman_adv/bat0/originators | grep '^[0-9a-f]' | cut -b 37-53 | sort | uniq | wc -l 2> /dev/null)"
|
||
|
print 'firmware_version' "$FIRMWARE_VERSION"
|
||
|
print 'fastd_version' "$(fastd --version 2> /dev/null | cut -d' ' -f 2)"
|
||
|
print 'batman_version' "$(cat /sys/module/batman_adv/version 2> /dev/null)"
|
||
|
print 'openwrt_version' "$DISTRIB_DESCRIPTION"
|
||
|
name="$(uci get -q 'system.@system[0].hostname')"
|
||
|
print 'name' "${name:--}"
|
||
|
print 'model' "$(cat /tmp/sysinfo/model 2> /dev/null)"
|
||
|
print 'freifunk_user_count' "$(cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W')"
|
||
|
print 'freifunk_rx_bytes' "$(cat /sys/class/net/br-mesh/statistics/rx_bytes 2> /dev/null)"
|
||
|
print 'freifunk_tx_bytes' "$(cat /sys/class/net/br-mesh/statistics/tx_bytes 2> /dev/null)"
|
||
|
print 'wan_rx_bytes' "$(cat /sys/class/net/$wanif/statistics/rx_bytes 2> /dev/null)"
|
||
|
print 'wan_tx_bytes' "$(cat /sys/class/net/$wanif/statistics/tx_bytes 2> /dev/null)"
|
||
|
|
||
|
%>
|