#!/bin/sh . /usr/share/libubox/jshn.sh while true; do json_load "$(bmx7 -c jshow=originators)" json_select "originators" idx="1" # clean all bmx7 dns entries > /tmp/hosts/bmx7 while json_get_type Type "$idx" && [ "$Type" == object ]; do json_select "$idx" json_get_var shortId shortId json_get_var name name json_get_var primaryIp primaryIp printf "$primaryIp $name\n$primaryIp $shortId\n" >> /tmp/hosts/bmx7 json_select .. $((idx++)) 2> /dev/null done # reload dnsmasq to apply changes logger -t bmx7-dnsupdate "dnsmasq updated due to new hosts" killall -HUP dnsmasq # block until originators changes inotifywait -e create -e delete -q /var/run/bmx7/json/originators/ || sleep 10 done