diff --git a/configurator/files/lib/ffnw/configurator/configurator.sh b/configurator/files/lib/ffnw/configurator/configurator.sh index 2db37c838d5cc72b68deb120423388d4e6e98a67..916bba0a728c1fd937cbc6ecdc08cbd9c1efb88f 100644 --- a/configurator/files/lib/ffnw/configurator/configurator.sh +++ b/configurator/files/lib/ffnw/configurator/configurator.sh @@ -150,6 +150,28 @@ autoadd_ipv6_address() { fi } +sync_geo_location(){ + if [[ $(awk 'BEGIN{srand();print int(rand()*100)}') -lt 5 ]];then + Static_location=$(uci get gluon-node-info.@location[0].static_location) + if [ $Static_location -eq 0 ]; then + mac=$(uci get wireless.mesh_radio0.macaddr) + coords="$(wget -q -O - "http://${API_IPV6_ADRESS}/getcoords.php?mac=$mac")" + echo "$coords" | grep "[0-9]\{1,3\}\(\.[0-9]\)* [0-9]\{1,3\}\(\.[0-9]\)*" + if [ "$?" = "0" ]; then + lat="$(echo "$coords" | cut -d'|' -f1)" + lon="$(echo "$coords" | cut -d'|' -f2)" + uci set gluon-node-info.@location[0].auto_location=0 + uci set gluon-node-info.@location[0].latitude=$lat + uci set gluon-node-info.@location[0].longitude=$lon + uci set gluon-node-info.@location[0].share_location=1 + uci commit gluon-node-info.@location[0] + fi + fi + fi +} + +sync_geo_location + if [ $CRAWL_METHOD == "login" ]; then err "Authentification method is: username and passwort" elif [ $CRAWL_METHOD == "hash" ]; then