#!/bin/sh

[ -n "$(uci -q get smartdns.@smartdns[0])" ] || exit 0

uci -q set smartdns.@smartdns[0].port='5355'
uci -q set smartdns.@smartdns[0].auto_set_dnsmasq='1'

if [ -z "$(uci -q get smartdns.@server[0])" ]; then
	uci -q batch <<-EOF >/dev/null
		set smartdns.@smartdns[0].enabled='0'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Cloudfare'
		set smartdns.@server[-1].ip='1.1.1.1'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Cloudfare'
		set smartdns.@server[-1].ip='1.0.0.1'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Cloudfare'
		set smartdns.@server[-1].ip='2606:4700:4700::1111'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Cloudfare'
		set smartdns.@server[-1].ip='2606:4700:4700::1001'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Google'
		set smartdns.@server[-1].ip='8.8.8.8'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Google'
		set smartdns.@server[-1].ip='8.8.4.4'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Google'
		set smartdns.@server[-1].ip='2001:4860:4860::8888'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='Google'
		set smartdns.@server[-1].ip='2001:4860:4860::8844'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='quad9'
		set smartdns.@server[-1].ip='9.9.9.9'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='quad9'
		set smartdns.@server[-1].ip='149.112.112.112'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='quad9'
		set smartdns.@server[-1].ip='2620:fe::fe'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='quad9'
		set smartdns.@server[-1].ip='2620:fe::9'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='quad9'
		set smartdns.@server[-1].ip='https://dns.quad9.net/dns-query'
		set smartdns.@server[-1].type='https'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='quad9'
		set smartdns.@server[-1].ip='tls://dns.quad9.net'
		set smartdns.@server[-1].type='tls'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='114dns'
		set smartdns.@server[-1].ip='114.114.114.114'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='114dns'
		set smartdns.@server[-1].ip='114.114.115.115'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='DNS.WATCH'
		set smartdns.@server[-1].ip='84.200.69.80'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='DNS.WATCH'
		set smartdns.@server[-1].ip='84.200.70.40'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='DNS.WATCH'
		set smartdns.@server[-1].ip='2001:1608:10:25::1c04:b12f'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
		add smartdns server
		set smartdns.@server[-1].enabled='1'
		set smartdns.@server[-1].name='DNS.WATCH'
		set smartdns.@server[-1].ip='2001:1608:10:25::9249:d69b'
		set smartdns.@server[-1].type='udp'
		set smartdns.@server[-1].server_group='public'
	EOF
fi
uci -q commit smartdns
exit 0