diff options
Diffstat (limited to 'applications/luci-app-nextdns/htdocs/luci-static')
-rw-r--r-- | applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/logread.js | 43 | ||||
-rw-r--r-- | applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js | 44 |
2 files changed, 87 insertions, 0 deletions
diff --git a/applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/logread.js b/applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/logread.js new file mode 100644 index 0000000000..9b3c7bfc41 --- /dev/null +++ b/applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/logread.js @@ -0,0 +1,43 @@ +'use strict'; +'require fs'; + +return L.view.extend({ + render: function() { + L.Poll.add(function() { + return L.resolveDefault(fs.exec('/sbin/logread', ['-e', 'nextdns']), { code: 1 }) + .then(function(res) { + var content; + if (res.code === 0) + content = res.stdout.trim(); + if (!content) + content = _('No nextdns related logs yet!'); + var view = document.getElementById("view_id"); + view.value = content; + view.scrollTop = view.scrollHeight; + }); + }); + return E('div', { class: 'cbi-map' }, + E('div', { class: 'cbi-section' }, [ + E('div', { class: 'cbi-section-descr' }, + _('The syslog output, pre-filtered for nextdns related messages only.')), + E('textarea', { + id: 'view_id', + readonly: 'readonly', + wrap: 'off', + style: 'width: 100% !important;\ + height: 450px !important;\ + border: 1px solid #cccccc;\ + padding: 5px;\ + font-size: 12px;\ + font-family: monospace;\ + resize: none;\ + pointer-events: auto;\ + cursor: auto;' + }) + ]) + ); + }, + handleSaveApply: null, + handleSave: null, + handleReset: null +}); diff --git a/applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js b/applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js new file mode 100644 index 0000000000..2fd693f3e2 --- /dev/null +++ b/applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js @@ -0,0 +1,44 @@ +'use strict'; +'require form'; + +return L.view.extend({ + render: function() { + var m, s, o; + + m = new form.Map('nextdns', _('NextDNS'), + _('NextDNS Configuration.') + + '<br>' + + _('For further information, go to \ + <a href="https://nextdns.io" target="_blank">nextdns.io</a>.')); + + s = m.section(form.TypedSection, 'nextdns', _('General')); + s.anonymous = true; + + o = s.option(form.Flag, 'enabled', _('Enabled'), + _('Enable NextDNS.')); + o.default = '1'; + o.rmempty = false; + + s.option(form.Value, 'config', _('Configuration ID'), + _('The ID of your NextDNS configuration.') + + '<br>' + + _('Go to nextdns.io to create a configuration.')); + + o = s.option(form.Flag, 'report_client_info', _('Report Client Info'), + _('Expose LAN clients information in NextDNS analytics.')); + o.default = '1'; + o.rmempty = false; + + o = s.option(form.Flag, 'hardened_privacy', _('Hardened Privacy'), + _('When enabled, use DNS servers located in jurisdictions with strong privacy laws.') + + '<br>' + + _('Available locations are: Switzerland, Iceland, Finland, Panama and Hong Kong.')); + o.rmempty = false; + + o = s.option(form.Flag, 'log_queries', _('Log Queries'), + _('Log individual queries to system log.')); + o.rmempty = false; + + return m.render(); + }, +}); |