[ "$INTERFACE" = "lan" ] || exit 0
[ "$ACTION" = "ifup" ] || [ "$ACTION" = "update" ] || exit 0

router_ip=$(uci -q get network.lan.ipaddr)
router_ip="${router_ip%%/*}"
router_domain=$(uci -q get dhcp.@dnsmasq[-1].domain)
domain_label="routerich"
hosts_file="/etc/hosts"
label_mark="# $domain_label-entry"

if [ -z "$router_ip" ] || [ -z "$router_domain" ]; then
	if grep -q "$label_mark" "$hosts_file"; then
		sed -i "/$label_mark/d" "$hosts_file"
		killall -HUP dnsmasq
	fi
	exit 0
fi

new_entry="$router_ip $domain_label.$router_domain $label_mark"

if grep -qF "$new_entry" "$hosts_file"; then
	exit 0
fi

if grep -q "$label_mark" "$hosts_file"; then
	sed -i "s|.*$label_mark|$new_entry|" "$hosts_file"
else
	echo "$new_entry" >> "$hosts_file"
fi

killall -HUP dnsmasq
