}
}
- var m, s, o;
+ let m, s, o;
m = new form.Map('rpcd', _('LuCI Logins'));
render: function (certs) {
let wikiUrl = 'https://github.com/acmesh-official/acme.sh/wiki/';
var wikiInstructionUrl = wikiUrl + 'dnsapi';
- var m, s, o;
+ let m, s, o;
m = new form.Map("acme", _("ACME certificates"),
_("This configures ACME (Letsencrypt) automatic certificate installation. " +
},
render: function(result) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('adblock', 'Adblock', _('Configuration of the adblock package to block ad/abuse domains by using DNS. \
For further information <a href="https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md" target="_blank" rel="noreferrer noopener" >check the online documentation</a>'));
},
render: function(data) {
- var m, s, o;
+ let m, s, o;
var webport = uci.get(data[0], 'config', 'listen_http_port') || '5244';
m = new form.Map('alist', _('AList'),
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('apinger', _('Apinger - Delay Alarms'),
('This alarm will be fired when target responses are delayed more than "Delay High"') + '<br />' +
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('apinger', _('Apinger - Down Alarm'),
_('This alarm will be fired when target does not respond for "Time"'));
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('apinger', _('Apinger - Loss Alarms'),
_('This alarm will be fired when packet loss goes over "Loss High"') + '<br />' +
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('apinger', _('Apinger - Interfaces'),
_('Names must match the interface name found in /etc/config/network.'));
},
render: function(data) {
- var m, s, o;
+ let m, s, o;
var a_ifaces, a_down, a_delay, a_loss;
a_ifaces = uci.sections('apinger', 'interface');
},
render: function(aria2) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('aria2', '%s - %s'.format(_('Aria2'), _('Settings')), '<p>%s</p><p>%s</p>'.format(
_('Aria2 is a lightweight multi-protocol & multi-source, cross platform download utility.'),
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('bcp38', _('BCP38'),
_('This function blocks packets with private address destinations ' +
},
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('clamav-milter', _('ClamAV Milter'), _('Configuration'));
},
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('clamav', _('ClamAV'), _('Configuration'));
},
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('freshclam', _('Freshclam'), _('Configuration'));
render: function (data) {
let isRunning = data[0];
- var m, s, o;
+ let m, s, o;
m = new form.Map('cloudflared', _('Cloudflare Zero Trust Tunnel'),
_('Cloudflare Zero Trust Security services help you get maximum security both from outside and within the network.') + '<br />' +
return view.extend({
render: function(data) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('luci', _('Custom Commands'),
_('This page allows you to configure custom shell commands which can be easily invoked from the web interface.'));
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('crowdsec', _('CrowdSec'),
_('Gain <a href="http://www.crowdsec.net">crowd-sourced</a> protection against malicious IPs. ' +
var _this = this;
- var m, s, o;
+ let m, s, o;
m = new form.Map('ddns', _('Dynamic DNS'));
return L.view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('dump1090', _('dump1090'),
_('dump1090 is a Mode S decoder specifically designed for RTLSDR devices. Here you can configure the settings.'));
return view.extend({
render: function () {
var docsRefAttrs = 'target="_blank" rel="noreferrer" href="https://emailrelay.sourceforge.net/';
- var m, s, o;
+ let m, s, o;
m = new form.Map('emailrelay', _('Email Server Configuration'),
_('E-MailRelay Server Configuration.') + '<br />' +
// Project code format is tabs, not spaces
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
/*
The first argument to form.Map() maps to the configuration file available
}
// Variables you'll usually see declared in LuCI JS apps; forM, Section, Option
- var m, s, o;
+ let m, s, o;
/*
LuCI has the concept of a JSONMap. This will map a structured object to
}
// Variables you'll usually see declared in LuCI JS apps; forM, Section, Option
- var m, s, o;
+ let m, s, o;
/*
LuCI has the concept of a JSONMap. This will map a structured object to
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.JSONMap(formData, _('File Browser'), '');
},
render: function(data) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('firewall', _('Firewall - IP sets'),
_('firewall4 supports referencing and creating IP sets to simplify matching of large address lists without the need to create one rule per item to match. Port ranges in ipsets are unsupported by firewall4.<br />'));
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('frpc', _('frp Client'));
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('frps', _('frp Server'));
var config = {};
config.access = stanzas;
- var m, s, o;
+ let m, s, o;
m = new form.JSONMap(config, null, _('Custom configuration read from /etc/fwknop/access.conf.'));
m.readonly = true;
render: function(results) {
var has_access_conf = results[0];
- var m, s, o;
+ let m, s, o;
m = new form.Map('fwknopd', _('Firewall Knock Operator Daemon'));
},
render: function(devs) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('hd-idle', _('HDD Idle'), _('HDD Idle is a utility program for spinning-down disks after a period of idle time.'));
s = m.section(form.GridSection, 'hd-idle', _('Settings'));
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('keepalived');
render: function(data) {
var hosts = data[0];
- var m, s, o;
+ let m, s, o;
m = new form.Map('keepalived');
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('keepalived');
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('keepalived');
render: function(data) {
var netDevs = data[0];
- var m, s, o;
+ let m, s, o;
m = new form.Map('keepalived');
},
render: function(data) {
- var m, s, o;
+ let m, s, o;
var instances;
instances = uci.sections('keepalived', 'vrrp_instance');
render: function(data) {
var netDevs = data[0];
- var m, s, o;
+ let m, s, o;
m = new form.Map('libreswan', _('IPSec Global Settings'));
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('libreswan', _('IPSec Proposals'));
render: function(data) {
var netDevs = data[0];
- var m, s, o;
+ let m, s, o;
var proposals;
proposals = uci.sections('libreswan', 'crypto_proposal');
},
render: function(data) {
- var m, s, o;
+ let m, s, o;
/* General Settings */
m = new form.Map('basicstation', _('General Settings'));
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('minidlna', _('miniDLNA'), _('MiniDLNA is server software with the aim of being fully compliant with DLNA/UPnP-AV clients.'));
return Promise.all([uci.load('mjpg-streamer')]);
},
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('mjpg-streamer', 'MJPG-streamer', _('mjpg streamer is a streaming application for Linux-UVC compatible webcams'));
return view.extend({
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('mwan3', _('MultiWAN Manager - Globals'));
},
render: function (stats) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('mwan3', _('MultiWAN Manager - Interfaces'),
_('Mwan3 requires that all interfaces have a unique metric configured in /etc/config/network.') + '<br />' +
},
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('mwan3', _('MultiWAN Manager - Members'),
_('Members are profiles attaching a metric and weight to an MWAN interface.') + '<br />' +
},
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('mwan3', _('MultiWAN Manager - Policies'),
_('Policies are profiles grouping one or more members controlling how Mwan3 distributes traffic.') + '<br />' +
},
render: function (data) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('mwan3', _('MultiWAN Manager - Rules'),
_('Rules specify which traffic will use a particular MWAN policy.') + '<br />' +
return getStatus();
},
render: function(status) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('natmap', _('NATMap'));
s = m.section(form.GridSection, 'natmap');
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('nextdns', _('NextDNS'),
_('NextDNS Configuration.')
},
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('nlbwmon', _('Netlink Bandwidth Monitor - Configuration'),
_('The Netlink Bandwidth Monitor (nlbwmon) is a lightweight, efficient traffic accounting program keeping track of bandwidth usage per host and protocol.'));
},
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('nut_cgi', _('NUT CGI'),
_('Network UPS Tools CGI Configuration') + '<br />' +
},
render: function(loaded_promises) {
- var m, s, o;
+ let m, s, o;
const have_ssl_support = loaded_promises[0];
m = new form.Map('nut_monitor', _('NUT Monitor'),
},
render: function(loaded_promises) {
- var m, s, o;
+ let m, s, o;
const have_ssl_support = loaded_promises[0];
const driver_list = loaded_promises[1];
})]);
},
render: function () {
- var m, s, o;
+ let m, s, o;
var has_ipip;
})]);
},
render: function () {
- var m, s, o;
+ let m, s, o;
var has_ipip;
return Promise.all([uci.load('luci_olsr')]);
},
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('luci_olsr', _('OLSR - Display Options'));
return view.extend({
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('omcproxy', _('omcproxy'), _('Embedded IGMPv3 and MLDv2 proxy'));
return view.extend({
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('openwisp',
_('OpenWISP'),
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('pagekitec', _('PageKite'), desc);
},
render: function (loaded_promises) {
- var m, s, o;
+ let m, s, o;
const networks = loaded_promises[0];
const hosts = loaded_promises[1];
},
render: function (loaded_promises) {
- var m, s, o;
+ let m, s, o;
const networks = loaded_promises[0];
m = new form.Map('pppoe', _('Roaring Penguin PPPoE Relay'),
},
render: function (loaded_promises) {
- var m, s, o;
+ let m, s, o;
const networks = loaded_promises[0];
m = new form.Map('pppoe', _('Roaring Penguin PPPoE Server'),
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('ser2net', 'ser2net');
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('ser2net', 'ser2net');
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('ser2net', 'ser2net');
]);
},
render: function (stats) {
- var m, s, o;
+ let m, s, o;
var ss, so;
var servers, download_files;
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map("snmpd", _("net-snmp's SNMPD"), desc);
]));
}
- var m, s, o;
+ let m, s, o;
m = new form.Map('sqm', _('Smart Queue Management'));
m.description = _("With <abbr title=\"Smart Queue Management\">SQM</abbr> you " +
var { config_file, mime_table } = data[0];
var options = data[1];
- var m, s, o;
+ let m, s, o;
m = new form.Map('squid', _('Squid'));
render: function (data) {
var knownHosts = data[0];
- var m, s, o;
+ let m, s, o;
m = new form.Map('sshtunnel', _('SSH Tunnels'),
_('This configures <a %s>SSH Tunnels</a>.')
hasSshKeygen = data[0].type === 'file';
var sshKeys = _splitSshKeys(data.splice(1));
- var m, s, o;
+ let m, s, o;
m = new form.Map('sshtunnel', _('SSH Tunnels'),
_('This configures <a %s>SSH Tunnels</a>.')
ui.addNotification(null, E('p', _('No SSH keys found, <a %s>generate a new one</a>').format('href="./ssh_keys"')), 'warning');
}
- var m, s, o;
+ let m, s, o;
m = new form.Map('sshtunnel', _('SSH Tunnels'),
_('This configures <a %s>SSH Tunnels</a>.')
},
render: function (data) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('sshtunnel', _('SSH Tunnels'),
_('This configures <a %s>SSH Tunnels</a>.')
},
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('ipsec', _('strongSwan Configuration'),
_('Configure strongSwan for secure VPN connections.'));
hsMap.set(hs.name, hs.hostname);
});
- var m, s, o;
+ let m, s, o;
m = new form.Map('tor-hs', _('Tor Onion Services'),
_('Tor Onion (Hidden) Services are proxy tunnels to your local website, SSH and other services.') + '<br />' +
return view.extend({
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('tor', _('Tor onion router'),
_('For further information <a %s>check the documentation</a>')
if (running && webinstalled)
button = ' <a class="btn" href="http://' + window.location.hostname + ':' + port + '" target="_blank" rel="noreferrer noopener">' + _('Open Web Interface') + '</a>';
- var m, s, o;
+ let m, s, o;
m = new form.Map('transmission', 'Transmission', _('Transmission daemon is a simple bittorrent client, here you can configure the settings.') + button);
},
render: function (result) {
- var m, s, o;
+ let m, s, o;
m = new form.Map('travelmate', 'Travelmate', _('Configuration of the travelmate package to enable travel router functionality. \
For further information <a href="https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md" target="_blank" rel="noreferrer noopener" >check the online documentation</a>. <br /> \
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('ttyd');
return view.extend({
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('udpxy', _('udpxy'),
_('udpxy is an IPTV stream relay, a UDP-to-HTTP multicast traffic relay daemon which forwards multicast UDP streams to HTTP clients.'));
render: function(data) {
- var m, s, o;
+ let m, s, o;
var protocols = '%s & %s/%s'.format(
'<a href="https://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol" target="_blank" rel="noreferrer"><abbr title="UPnP Internet Gateway Device (Control Protocol)">UPnP IGD</abbr></a>',
},
render: function (data) {
- var m, s, o;
+ let m, s, o;
if (!('usteer' in data[0])) {
m = new form.Map('usteer', _('Usteer'),
},
render: function(data) {
- var m, s, o;
+ let m, s, o;
var webport = (uci.get(data[0], 'config', 'address') || '0.0.0.0:2017').split(':').slice(-1)[0];
m = new form.Map('v2raya', _('v2rayA'),
},
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('vnstat', _('vnStat'), _('vnStat is a network traffic monitor for Linux that keeps a log of network traffic for the selected interface(s).'));
return view.extend({
render: function () {
- var m, s, o;
+ let m, s, o;
m = new form.Map('watchcat',
_('Watchcat'),
return view.extend({
render: function() {
- var m, s, o;
+ let m, s, o;
m = new form.Map('xfrpc', _('xfrpc'));
m.description = _("xfrpc is a c language frp client for frps.");
},
render: function(promises) {
- var m, s, o;
+ let m, s, o;
var networks = promises[0];
m = new form.Map('xinetd', _('Xinetd Settings'), _('Here you can configure Xinetd services'));