|
|
@ -0,0 +1,29 @@ |
|
|
|
#!/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/ |
|
|
|
done |