package/freifunk-common: neigh.sh use olsr-jsoninfo
authorPatrick Grimm <patrick@lunatiki.de>
Mon, 14 Oct 2013 10:27:09 +0000 (10:27 +0000)
committerPatrick Grimm <patrick@lunatiki.de>
Mon, 14 Oct 2013 10:27:09 +0000 (10:27 +0000)
contrib/package/freifunk-common/files/usr/bin/neigh.sh

index ec53a58..4c734ae 100755 (executable)
@@ -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
+