const dnsenabled = document.querySelector('#dnsenable') const setdnssettingsbutton = document.querySelector('#set_dns_settings') const dnssettingbody = document.querySelector('#dnssettingsbody') const dnsserverstablebody = document.querySelector('#dnsserverstablebody') const adddnsserverbutton = document.querySelector('#add_dns_server_button') const localdomainstablebody = document.querySelector('#domainsstablebody') const addlocaldomainbutton = document.querySelector('#add_local_domain_button') let dnsservers = [] let localdomains = [] const get_dns_enabled_status = () => { dnsenabled.checked = settings.dns.enabled if (settings.dns.enabled) { dnssettingbody.classList.add('active') adddnsserverbutton.classList.add('active') addlocaldomainbutton.classList.add('active') } else { adddnsserverbutton.parentElement.classList.add('onebutton') dnssettingbody.classList.remove('active') adddnsserverbutton.classList.remove('active') addlocaldomainbutton.classList.remove('active') } } const set_dns_settings = () => { settings.dns.enabled = dnsenabled.checked settings.dns.servers = dnsservers settings.dns.localdomains = localdomains set_all_settings() dnsenabled.checked = settings.dns.enabled get_dns_server() get_local_domains() } setdnssettingsbutton.addEventListener('click', () => { if (confirm("Confirm DNS settings?")) { set_dns_settings() } }) dnsenabled.addEventListener('click', () => { if (dnsenabled.checked) { dnssettingbody.classList.add('active') adddnsserverbutton.classList.add('active') addlocaldomainbutton.classList.add('active') adddnsserverbutton.parentElement.classList.remove('onebutton') get_dns_server() } else { dnssettingbody.classList.remove('active') adddnsserverbutton.classList.remove('active') addlocaldomainbutton.classList.remove('active') adddnsserverbutton.parentElement.classList.add('onebutton') } }) const get_dns_server = () => { dnsservers = settings.dns.servers dnsserverstablebody.innerHTML = "" for (const server in settings.dns.servers) { dnsserverstablebody.innerHTML += ` ${settings.dns.servers[server]} ` } } adddnsserverbutton.addEventListener('click', () => { const dnsserver = prompt('Get your DNS server:') if (dnsserver === null) return if (confirm('Confirm DNS settings? (add DNS server)')) { dnsservers.push(dnsserver) set_dns_settings() } }) dnsserverstablebody.addEventListener('click', (e) => { if (e.target.classList.contains('deldnsserverbutton')) { dnsservers.splice(dnsservers.indexOf(e.target.id), 1) if (confirm(`Confirm DNS settings? (delete DNS server: ${e.target.id})`)) { set_dns_settings() } get_dns_server() } }) // ---------------------- local domains --------------------------- const get_local_domains = () => { localdomains = settings.dns.localdomains localdomainstablebody.innerHTML = "" for (const domain in settings.dns.localdomains) { localdomainstablebody.innerHTML += ` ${settings.dns.localdomains[domain].ip} ${settings.dns.localdomains[domain].domain} ` } } addlocaldomainbutton.addEventListener('click', () => { const domainip = prompt('Get localdomain IP:') if (domainip === null) return const domain = prompt('Get domain:') if (domainip === null || domain === null) return if (confirm(`Confirm DNS settings? (Add Local Domain: ${domainip} ${domain})`)) { localdomains.push({ "ip": domainip, "domain": domain }) set_dns_settings() } }) localdomainstablebody.addEventListener('click', (e) => { if (e.target.classList.contains('deldomain')) { localdomains.splice(localdomains.indexOf(localdomains.find(dom => dom.domain === e.target.id)), 1) if (confirm(`Confirm DNS settings? (delete Local Domain: ${e.target.id})`)) { set_dns_settings() } get_local_domains() } }) // ------------------------- local domains end --------------------