diff options
-rwxr-xr-x | contrib/package/freifunk-common/files/usr/bin/neigh.sh | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/contrib/package/freifunk-common/files/usr/bin/neigh.sh b/contrib/package/freifunk-common/files/usr/bin/neigh.sh index ec53a5850..4c734ae22 100755 --- a/contrib/package/freifunk-common/files/usr/bin/neigh.sh +++ b/contrib/package/freifunk-common/files/usr/bin/neigh.sh @@ -1,4 +1,22 @@ #!/bin/sh -wget -q -O - http://localhost:2006/neighbours|sed -e's/LinkQuality/LQ/;s/Hysteresis/Hyst./;s/Willingness/Will./' -[ -f /proc/net/ipv6_route ] && wget -q -O - http://[::1]:2006/neighbours|sed -e's/LinkQuality/LQ/;s/Hysteresis/Hyst./;s/Willingness/Will./' +. /usr/share/libubox/jshn.sh + +for HOST in 127.0.0.1 ::1;do + json_init + json_load "$(echo /links|nc ${HOST} 9090)" + if json_is_a links array;then + echo "LocalIP RemoteIP vTime LQ NLQ Cost" + json_select links + i=1 + while json_is_a ${i} object;do + json_select ${i} + json_get_vars localIP remoteIP validityTime linkQuality neighborLinkQuality linkCost + echo "${localIP} ${remoteIP} ${validityTime} ${linkQuality} ${neighborLinkQuality} ${linkCost}" + json_select + i=$(( i + 1 )) + done + fi + echo +done + |