#!/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 -s HUP dnsmasq
|
|
|
|
# block until originators changes
|
|
inotifywait -e create -e delete -q /var/run/bmx7/json/originators/ || sleep 10
|
|
done
|