diff --git a/applications/luci-app-upnp/Makefile b/applications/luci-app-upnp/Makefile index 15da0fd1873b..e6c1b7c1ccf8 100644 --- a/applications/luci-app-upnp/Makefile +++ b/applications/luci-app-upnp/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk -LUCI_TITLE:=Universal Plug & Play configuration module +LUCI_TITLE:=Universal Plug and Play (UPnP IGD & PCP/NAT-PMP) configuration module LUCI_DEPENDS:=+luci-base +miniupnpd +rpcd-mod-ucode include ../../luci.mk diff --git a/applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js b/applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js index b5446ecb6c66..43e331fe9acf 100644 --- a/applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js +++ b/applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js @@ -28,7 +28,7 @@ handleDelRule = function(num, ev) { }; return baseclass.extend({ - title: _('Active UPnP Redirects'), + title: _('Active UPnP IGD & PCP/NAT-PMP Port Forwards'), load: function() { return Promise.all([ @@ -67,7 +67,7 @@ return baseclass.extend({ ]; }); - cbi_update_table(table, rows, E('em', _('There are no active redirects.'))); + cbi_update_table(table, rows, E('em', _('There are no active port forwards.'))); return table; } diff --git a/applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js b/applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js index 86415f8a91c6..8fc66d4e73e5 100644 --- a/applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js +++ b/applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js @@ -63,7 +63,7 @@ return view.extend({ ]; }); - cbi_update_table(nodes.querySelector('#upnp_status_table'), rows, E('em', _('There are no active redirects.'))); + cbi_update_table(nodes.querySelector('#upnp_status_table'), rows, E('em', _('There are no active port forwards.'))); return; }, @@ -72,8 +72,8 @@ return view.extend({ var m, s, o; - m = new form.Map('upnpd', [_('Universal Plug & Play')], - _('UPnP allows clients in the local network to automatically configure the router.')); + m = new form.Map('upnpd', [_('UPnP IGD & PCP/NAT-PMP Service')], + _('UPnP IGD & PCP/NAT-PMP allows clients on the local network to automatically configure port forwards on the router. Also known as Universal Plug and Play.')); s = m.section(form.GridSection, '_active_rules'); @@ -107,27 +107,27 @@ return view.extend({ ]; }); - cbi_update_table(table, rows, E('em', _('There are no active redirects.'))); + cbi_update_table(table, rows, E('em', _('There are no active port forwards.'))); return E('div', { 'class': 'cbi-section cbi-tblsection' }, [ - E('h3', _('Active UPnP Redirects')), table ]); + E('h3', _('Active Service Port Forwards')), table ]); }, o, this); - s = m.section(form.NamedSection, 'config', 'upnpd', _('MiniUPnP settings')); + s = m.section(form.NamedSection, 'config', 'upnpd', _('Service Settings')); s.addremove = false; s.tab('general', _('General Settings')); s.tab('advanced', _('Advanced Settings')); - o = s.taboption('general', form.Flag, 'enabled', _('Start UPnP and NAT-PMP service')); + o = s.taboption('general', form.Flag, 'enabled', _('Start service')); o.rmempty = false; - s.taboption('general', form.Flag, 'enable_upnp', _('Enable UPnP functionality')).default = '1' - s.taboption('general', form.Flag, 'enable_natpmp', _('Enable NAT-PMP functionality')).default = '1' + s.taboption('general', form.Flag, 'enable_upnp', _('Enable UPnP IGD protocol')).default = '1' + s.taboption('general', form.Flag, 'enable_natpmp', _('Enable PCP/NAT-PMP protocol')).default = '1' s.taboption('general', form.Flag, 'secure_mode', _('Enable secure mode'), - _('Allow adding forwards only to requesting ip addresses')).default = '1' + _('Allow adding port forwards only to requesting IP addresses')).default = '1' - s.taboption('general', form.Flag, 'igdv1', _('Enable IGDv1 mode'), + s.taboption('general', form.Flag, 'igdv1', _('Enable UPnP IGDv1 mode'), _('Advertise as IGDv1 device instead of IGDv2')).default = '0' s.taboption('general', form.Flag, 'log_output', _('Enable additional logging'), @@ -143,7 +143,7 @@ return view.extend({ o.datatype = 'port' o.default = 5000 - s.taboption('advanced', form.Flag, 'system_uptime', _('Report system instead of daemon uptime')).default = '1' + s.taboption('advanced', form.Flag, 'system_uptime', _('Report system instead of service uptime')).default = '1' s.taboption('advanced', form.Value, 'uuid', _('Device UUID')) s.taboption('advanced', form.Value, 'serial_number', _('Announced serial number')) @@ -153,18 +153,18 @@ return view.extend({ o.datatype = 'uinteger' o.placeholder = 30 - o = s.taboption('advanced', form.Value, 'clean_ruleset_threshold', _('Clean rules threshold')) + o = s.taboption('advanced', form.Value, 'clean_ruleset_threshold', _('Clean rules threshold'), _('Clean up this number of expired port forwards at once')) o.datatype = 'uinteger' o.placeholder = 20 - o = s.taboption('advanced', form.Value, 'clean_ruleset_interval', _('Clean rules interval')) + o = s.taboption('advanced', form.Value, 'clean_ruleset_interval', _('Intra-cleanse interval'), _('Value in seconds, %s means immediate').format('0')) o.datatype = 'uinteger' o.placeholder = 600 o = s.taboption('advanced', form.Value, 'presentation_url', _('Presentation URL')) o.placeholder = 'http://192.168.1.1/' - o = s.taboption('advanced', form.Value, 'upnp_lease_file', _('UPnP lease file')) + o = s.taboption('advanced', form.Value, 'upnp_lease_file', _('Service lease file')) o.placeholder = '/var/run/miniupnpd.leases' s.taboption('advanced', form.Flag, 'use_stun', _('Use STUN')) @@ -178,8 +178,8 @@ return view.extend({ o.datatype = 'port' o.placeholder = '0-65535' - s = m.section(form.GridSection, 'perm_rule', _('MiniUPnP ACLs'), - _('ACLs specify which external ports may be redirected to which internal addresses and ports')) + s = m.section(form.GridSection, 'perm_rule', _('Service ACLs'), + _('ACLs specify which external ports may be forwarded to which internal addresses and ports')) s.sortable = true s.anonymous = true diff --git a/applications/luci-app-upnp/root/usr/share/luci/menu.d/luci-app-upnp.json b/applications/luci-app-upnp/root/usr/share/luci/menu.d/luci-app-upnp.json index 73fc3dc511ca..aca856a215ea 100644 --- a/applications/luci-app-upnp/root/usr/share/luci/menu.d/luci-app-upnp.json +++ b/applications/luci-app-upnp/root/usr/share/luci/menu.d/luci-app-upnp.json @@ -1,6 +1,6 @@ { "admin/services/upnp": { - "title": "UPnP", + "title": "UPnP IGD & PCP/NAT-PMP", "action": { "type": "view", "path": "upnp/upnp" diff --git a/applications/luci-app-upnp/root/usr/share/rpcd/acl.d/luci-app-upnp.json b/applications/luci-app-upnp/root/usr/share/rpcd/acl.d/luci-app-upnp.json index 9be82df1c5c2..78702b989892 100644 --- a/applications/luci-app-upnp/root/usr/share/rpcd/acl.d/luci-app-upnp.json +++ b/applications/luci-app-upnp/root/usr/share/rpcd/acl.d/luci-app-upnp.json @@ -1,6 +1,6 @@ { "luci-app-upnp": { - "description": "Grant access to upnp procedures", + "description": "Grant access to UPnP IGD & PCP/NAT-PMP configuration", "read": { "ubus": { "luci.upnp": [ "get_status" ],