local json = require("luci.jsonc")
local adbinput = uci:get("adblock", "global", "adb_rtfile") or "/tmp/adb_runtime.json"
-if not uci:get("adblock", "extra") then
- m = SimpleForm("", nil, translate("Please update your adblock config file to use this package.<br />")
- .. translatef("During opkg package installation use the '--force-maintainer' option to overwrite the pre-existing config file or download a fresh default config from "
- .. "<a href=\"%s\" target=\"_blank\">"
- .. "here</a>", "https://raw.githubusercontent.com/openwrt/packages/master/net/adblock/files/adblock.conf"))
- m.submit = false
- m.reset = false
- return m
-end
-
m = Map("adblock", translate("Adblock"),
translate("Configuration of the adblock package to block ad/abuse domains by using DNS. ")
.. translatef("For further information "
.. "<a href=\"%s\" target=\"_blank\">"
.. "check the online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md"))
+m.apply_on_parse = true
-function m.on_after_commit(self)
+function m.on_apply(self)
luci.sys.call("/etc/init.d/adblock reload >/dev/null 2>&1")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "adblock"))
end
-- Blocklist table
bl = m:section(TypedSection, "source", translate("Blocklist Sources"),
- translate("Available blocklist sources. ")
- .. translate("List URLs and Shallalist category selections are configurable in the 'Advanced' section.<br />")
- .. translate("Caution: To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please do not select more than five blocklist sources!"))
+ translate("<b>Caution:</b> To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please only select a few of them!"))
bl.template = "adblock/blocklist"
name = bl:option(Flag, "enabled", translate("Enabled"))
return translate("No")
end
end
+
des = bl:option(DummyValue, "adb_src_desc", translate("Description"))
+cat = bl:option(DynamicList, "adb_src_cat", translate("Categories"))
+cat.datatype = "uciname"
+cat.optional = true
+
-- Extra options
e = m:section(NamedSection, "extra", "adblock", translate("Extra Options"),
-%>
<style type="text/css">
-<!--
+table.cbi-section-table th,
+table.cbi-section-table td,
.cbi-section-table-cell,
-.cbi-section-table-row
+.cbi-section-table-row,
+.cbi-input-text
{
text-align:left;
+ vertical-align:top;
margin-right:auto;
margin-left:0px;
}
--->
+.cbi-input-text
+{
+ outline:none;
+ box-shadow:none;
+ background:transparent;
+ padding-left:2px;
+ line-height:25px;
+ height:25px;
+ width:10em;
+}
</style>
<fieldset class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
<%- end %>
<div class="cbi-section-descr"><%=self.description%></div>
<div class="cbi-section-node">
- <%- local count = 0 -%>
<table class="cbi-section-table">
<tr class="cbi-section-table-titles">
<%- if self.sectionhead then -%>
<th class="cbi-section-table-cell"<%=width(k)%>>
<%-=k.title-%>
</th>
- <%- count = count + 1; end; -%>
+ <%- end -%>
</tr>
<%- local isempty = true
for i, k in ipairs(self:cfgsections()) do
scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
-%>
<tr class="cbi-section-table-row" id="cbi-<%=self.config%>-<%=section%>">
- <th><%=k%></th>
+ <th><%=k%></th>
<%-
for k, node in ipairs(self.children) do
- if not node.optional then
- node:render(section, scope or {})
- end
+ node:render(section, scope or {})
end
+ if not scope.cbid:match("adb_src_cat") then
-%>
- </tr>
- <%- end -%>
- <%- if isempty then -%>
- <tr class="cbi-section-table-row">
- <td colspan="<%=count%>"><em><br /><%:This section contains no values yet%></em></td>
+ <td class="cbi-value-field"> </td>
+ <%- end -%>
</tr>
<%- end -%>
</table>
if (legend && output)
{
- var prefix = location.protocol + '//' + location.hostname +
- (location.port ? ':' + location.port : '') +
- location.pathname.split(';')[0] + 'command/';
+ var prefix = location.protocol + '//' + location.host + '<%=url('command')%>/';
var suffix = (args ? '/' + args : '');
var link = prefix + id + suffix;
# Release == build
# increase on changes of translation files
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
/>
<br />
<div class="cbi-value-description">
- <span class="cbi-value-helpicon"><img src="<%=resource%>/cbi/help.gif" alt="<%:help%>" /><%=self.description%></span>
- <br />
- <span id="<%=cbid%>.help" class="cbi-value-helpicon"><%:Current setting%>: <strong><%=self.date_string%></strong></span>
+ <span class="cbi-value-helpicon"><img src="<%=resource%>/cbi/help.gif" alt="<%:help%>" /></span><%=self.description%>
+ <br /><%:Current setting%>: <strong><%=self.date_string%></strong>
</div> <!-- div class="cbi-value-description" -->
</div> <!-- div class="cbi-value-field" -->
</div> <!-- div class="cbi-value cbi-value-last" -->
out.exclude = value
inp.exclude = value
end
-
- m.redirect = ds.build_url("admin/network/firewall/zones", value)
- m.title = "%s - %s" %{
- translate("Firewall - Zone Settings"),
- translatef("Zone %q", value or "?")
- }
end
p = {
return interfaceNumber
end
- function diag_command(cmd, addr)
+ function diag_command(cmd, device, addr)
if addr and addr:match("^[a-zA-Z0-9%-%.:_]+$") then
- local util = io.popen(cmd % ut.shellquote(addr))
+ local util = io.popen(cmd %{ut.shellquote(device), ut.shellquote(addr)})
if util then
while true do
local ln = util:read("*l")
end
function get_gateway(inteface)
- local dump = require("luci.util").ubus("network.interface.%s" % interface, "status", {})
- local gateway
+ local gateway = nil
+ local dump = nil
+
+ dump = require("luci.util").ubus("network.interface.%s_4" % interface, "status", {})
+ if not dump then
+ dump = require("luci.util").ubus("network.interface.%s" % interface, "status", {})
+ end
+
if dump and dump.route then
local _, route
for _, route in ipairs(dump.route) do
if task == "ping_gateway" then
local gateway = get_gateway(interface)
if gateway ~= nil then
- diag_command("ping -c 5 -W 1 %s 2>&1", gateway)
+ diag_command("ping -I %s -c 5 -W 1 %s 2>&1", device, gateway)
else
luci.http.prepare_content("text/plain")
luci.http.write(string.format("No gateway for interface %s found.", interface))
local trackips = uci:get("mwan3", interface, "track_ip")
if #trackips > 0 then
for i in pairs(trackips) do
- diag_command("ping -c 5 -W 1 %s 2>&1", trackips[i])
+ diag_command("ping -I %s -c 5 -W 1 %s 2>&1", device, trackips[i])
end
else
luci.http.write(string.format("No tracking Hosts for interface %s defined.", interface))
size = mwan_interface:option(Value, "size", translate("Ping size"))
size.default = "56"
+size:depends("track_method", "ping")
size:value("8")
size:value("24")
size:value("56")
size.rmempty = false
size.optional = false
+check_quality = mwan_interface:option(Flag, "check_quality", translate("Check link quality"))
+check_quality:depends("track_method", "ping")
+check_quality.default = false
+
+failure_latency = mwan_interface:option(Value, "failure_latency", translate("Max packet latency [ms]"))
+failure_latency:depends("check_quality", 1)
+failure_latency.default = "1000"
+failure_latency:value("25")
+failure_latency:value("50")
+failure_latency:value("75")
+failure_latency:value("100")
+failure_latency:value("150")
+failure_latency:value("200")
+failure_latency:value("250")
+failure_latency:value("300")
+
+failure_loss = mwan_interface:option(Value, "failure_loss", translate("Max packet loss [%]"))
+failure_loss:depends("check_quality", 1)
+failure_loss.default = "20"
+failure_loss:value("2")
+failure_loss:value("5")
+failure_loss:value("10")
+failure_loss:value("20")
+failure_loss:value("25")
+
+recovery_latency = mwan_interface:option(Value, "recovery_latency", translate("Min packet latency [ms]"))
+recovery_latency:depends("check_quality", 1)
+recovery_latency.default = "500"
+recovery_latency:value("25")
+recovery_latency:value("50")
+recovery_latency:value("75")
+recovery_latency:value("100")
+recovery_latency:value("150")
+recovery_latency:value("200")
+recovery_latency:value("250")
+recovery_latency:value("300")
+
+recovery_loss = mwan_interface:option(Value, "recovery_loss", translate("Min packet loss [%]"))
+recovery_loss:depends("check_quality", 1)
+recovery_loss.default = "5"
+recovery_loss:value("2")
+recovery_loss:value("5")
+recovery_loss:value("10")
+recovery_loss:value("20")
+recovery_loss:value("25")
+
timeout = mwan_interface:option(ListValue, "timeout", translate("Ping timeout"))
timeout.default = "2"
timeout:value("1", translatef("%d second", 1))
LUCI_TITLE:=LuCI Support for OpenVPN
LUCI_DEPENDS:=
+PKG_LICENSE:=Apache-2.0
+
include ../../luci.mk
# call BuildPackage - OpenWrt buildroot signature
--- /dev/null
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.7\n"
+"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: ja\n"
+
+msgid ""
+"<p/>Note: you need a working PageKite account, or at least, your own running "
+"front end for this form to work. Visit <a href=\"https://pagekite.net/home/"
+"\">your account</a> to set up a name for your router and get a secret key "
+"for the connection. <p/><em>Note: this web configurator only supports some "
+"very very basic uses of pagekite.</em>"
+msgstr ""
+"<p/>注意: 動作には PageKite アカウント、もしくは少なくともこのフォーム用の実"
+"行中のフロントエンドが必要です。ルーター用の名前をセットアップするには<a "
+"href=\"https://pagekite.net/home/\">アカウント</a>へアクセスし、接続用のシー"
+"クレット キーを取得します。<p/><em>注意: この Web 設定は、PageKite の非常に簡"
+"易な使用のみサポートしています。</em>"
+
+msgid "Basic HTTP"
+msgstr "ベーシック HTTP"
+
+msgid "Basic SSH"
+msgstr "ベーシック SSH"
+
+msgid ""
+"Enable a tunnel to the local HTTP server (in most cases, this admin site)"
+msgstr "ローカル HTTP サーバーへのトンネルを有効化(通常、この管理サイト)"
+
+msgid "Enable a tunnel to the local SSH server"
+msgstr "ローカル SSH サーバーへのトンネルを有効化"
+
+msgid "Kite Name"
+msgstr "Kite 名"
+
+msgid "Kite Secret"
+msgstr "Kite シークレット"
+
+msgid "PageKite"
+msgstr "PageKite"
+
+msgid "Static Setup"
+msgstr "静的セットアップ"
+
+msgid ""
+"Static setup, disable FE failover and DDNS updates, set this if you are "
+"running your own frontend without a pagekite.me account"
+msgstr ""
+"静的セットアップは、 FE フェイルオーバーと DDNS アップデートを無効にします。"
+"もし pagekite.me アカウント無しにフロントエンドを実行している場合、これを設定"
+"します。"
.. translatef("For further information "
.. "<a href=\"%s\" target=\"_blank\">"
.. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md"))
+m:chain("network")
+m:chain("firewall")
+m.apply_on_parse = true
-function m.on_after_commit(self)
+function m.on_apply(self)
luci.sys.call("env -i /etc/init.d/travelmate restart >/dev/null 2>&1")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
end
if uplink == "" then
ds = m:section(NamedSection, "global", "travelmate", translate("Interface Wizard"))
-
- o = ds:option(Value, "", translate("Uplink interface"))
+ o = ds:option(Value, "trm_iface", translate("Create Uplink interface"),
+ translate("Create a new wireless wan uplink interface, configure it to use dhcp and ")
+ .. translate("add it to the wan zone of the firewall.<br />")
+ .. translate("This step has only to be done once."))
o.datatype = "and(uciname,rangelength(3,15))"
o.default = trmiface
o.rmempty = false
- btn = ds:option(Button, "trm_iface", translate("Create Uplink Interface"),
- translate("Create a new wireless wan uplink interface, configure it to use dhcp and ")
- .. translate("add it to the wan zone of the firewall. This step has only to be done once."))
- btn.inputtitle = translate("Add Interface")
- btn.inputstyle = "apply"
- btn.disabled = false
-
- function btn.write(self, section)
- local iface = o:formvalue(section)
- if iface then
- uci:set("travelmate", section, "trm_iface", iface)
- uci:save("travelmate")
- uci:commit("travelmate")
- local net = nw:add_network(iface, { proto = "dhcp" })
- if net then
- nw:save("network")
- nw:commit("network")
- local zone = fw:get_zone_by_network("wan")
- if zone then
- zone:add_network(iface)
- fw:save("firewall")
- fw:commit("firewall")
- end
+ function o.validate(self, value)
+ if value then
+ local nwnet = nw:get_network(value)
+ local zone = fw:get_zone("wan")
+ local fwnet = fw:get_zone_by_network(value)
+ if not nwnet then
+ nwnet = nw:add_network(value, { proto = "dhcp" })
+ end
+ if zone and not fwnet then
+ fwnet = zone:add_network(value)
end
- luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1")
end
- luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate"))
+ return value
end
return m
end
<td style="<%=style%>"><%=bssid%></td>
<td style="<%=style%>"><%=encryption%></td>
<td class="cbi-value-field" style="width:80px">
- <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/>
- <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
+ <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/>
+ <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
</td>
<td class="cbi-value-field" style="width:150px">
<input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" value="<%:Edit%>"/>
"https://www.unbound.net/",
"https://github.com/openwrt/packages/blob/master/net/unbound/files/README.md"))
-ena = s1:taboption("basic", Flag, "enabled", translate("Enable Unbound:"),
- translate("Enable the initialization scripts for Unbound"))
-ena.rmempty = false
-
-mcf = s1:taboption("basic", Flag, "manual_conf", translate("Manual Conf:"),
- translate("Skip UCI and use /etc/unbound/unbound.conf"))
-mcf.rmempty = false
-
-lci = s1:taboption("basic", Flag, "extended_luci", translate("Extended Tabs:"),
- translate("See detailed tabs for statistics, debug, and manual configuration"))
-lci.rmempty = false
-
-
-function ena.cfgvalue(self, section)
- return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
-end
-
-
-function ena.write(self, section, value)
- if value == "1" then
- luci.sys.init.enable("unbound")
- luci.sys.call("/etc/init.d/unbound start >/dev/null")
- else
- luci.sys.call("/etc/init.d/unbound stop >/dev/null")
- luci.sys.init.disable("unbound")
- end
-
- return Flag.write(self, section, value)
-end
-
if valman ~= "1" then
-- Not in manual configuration mode; show UCI
s1:tab("advanced", translate("Advanced"),
translatef("<h3>Unbound Advanced Settings</h3>\n"
- .. "Link DHCP-DNS, Manipulate DNS, or protect your local domain in "
+ .. "Domain manipulation, lookup protection, and workarounds for "
.. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
.. " DNS resolver.", "https://www.unbound.net/"))
+ s1:tab("DHCP", translate("DHCP"),
+ translatef("<h3>Unbound DHCP Settings</h3>\n"
+ .. "Link your DHCP server to "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
+ .. " DNS resolver.", "https://www.unbound.net/ "))
s1:tab("resource", translate("Resource"),
translatef("<h3>Unbound Resource Settings</h3>\n"
.. "Memory and protocol setttings for "
.. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
.. " DNS resolver.", "https://www.unbound.net/"))
+end
+s1:tab("trigger", translate("Trigger"),
+ translatef("<h3>Unbound Event Trigger Settings</h3>\n"
+ .. "Start, reload, and save RFC5011 DNSKEY records for "
+ .. "<a href=\"%s\" target=\"_blank\">Unbound </a>"
+ .. " DNS resolver.", "https://www.unbound.net/"))
+
+
+--Basic Tab, unconditional pieces
+ena = s1:taboption("basic", Flag, "enabled", translate("Enable Unbound:"),
+ translate("Enable the initialization scripts for Unbound"))
+ena.rmempty = false
+
+mcf = s1:taboption("basic", Flag, "manual_conf", translate("Manual Conf:"),
+ translate("Skip UCI and use /etc/unbound/unbound.conf"))
+mcf.rmempty = false
+
+lci = s1:taboption("basic", Flag, "extended_luci", translate("Extended Tabs:"),
+ translate("See detailed tabs for statistics, debug, and manual configuration"))
+lci.rmempty = false
+
+
+if valman ~= "1" then
+ -- Not in manual configuration mode; show UCI
--Basic Tab
lsv = s1:taboption("basic", Flag, "localservice", translate("Local Service:"),
translate("Accept queries only from local subnets"))
nvd.rmempty = false
nvd:depends({ validator = true })
- din = s1:taboption("basic", DynamicList, "domain_insecure",
- translate("Domain Insecure:"),
- translate("List domains to bypass checks of DNSSEC"))
- din:depends({ validator = true })
-
d64 = s1:taboption("basic", Flag, "dns64", translate("Enable DNS64:"),
translate("Enable the DNS64 module"))
d64.rmempty = false
prt.rmempty = false
--Avanced Tab
- dlk = s1:taboption("advanced", ListValue, "dhcp_link", translate("DHCP Link:"),
+ din = s1:taboption("advanced", DynamicList, "domain_insecure",
+ translate("Domain Insecure:"),
+ translate("List domains to bypass checks of DNSSEC"))
+ din:depends({ validator = true })
+
+ dfw = s1:taboption("advanced", DynamicList, "domain_forward",
+ translate("Domain Forward:"),
+ translate("List domains to simply forward to stub resolvers in /tmp/resolve.auto"))
+
+ rlh = s1:taboption("advanced", Flag, "rebind_localhost", translate("Filter Localhost Rebind:"),
+ translate("Protect against upstream response of 127.0.0.0/8"))
+ rlh.rmempty = false
+
+ rpv = s1:taboption("advanced", ListValue, "rebind_protection", translate("Filter Private Rebind:"),
+ translate("Protect against upstream responses within local subnets"))
+ rpv:value("0", translate("No Filter"))
+ rpv:value("1", translate("Filter RFC1918/4193"))
+ rpv:value("2", translate("Filter Entire Subnet"))
+ rpv.rmempty = false
+
+ rpn = s1:taboption("advanced", Value, "rebind_interface", translate("Rebind Network Filter:"),
+ translate("Network subnets to filter from upstream responses"))
+ rpn.template = "cbi/network_netlist"
+ rpn.widget = "checkbox"
+ rpn.rmempty = true
+ rpn.cast = "string"
+ rpn.nocreate = true
+ rpn:depends({ rebind_protection = 2 })
+ rpn:depends({ rebind_protection = 3 })
+
+ --DHCP Tab
+ dlk = s1:taboption("DHCP", ListValue, "dhcp_link", translate("DHCP Link:"),
translate("Link to supported programs to load DHCP into DNS"))
dlk:value("none", translate("No Link"))
dlk:value("dnsmasq", "dnsmasq")
dlk:value("odhcpd", "odhcpd")
dlk.rmempty = false
- dp6 = s1:taboption("advanced", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
+ dp6 = s1:taboption("DHCP", Flag, "dhcp4_slaac6", translate("DHCPv4 to SLAAC:"),
translate("Use DHCPv4 MAC to discover IP6 hosts SLAAC (EUI64)"))
dp6.rmempty = false
dp6:depends({ dhcp_link = "odhcpd" })
- dom = s1:taboption("advanced", Value, "domain", translate("Local Domain:"),
+ dom = s1:taboption("DHCP", Value, "domain", translate("Local Domain:"),
translate("Domain suffix for this router and DHCP clients"))
dom.placeholder = "lan"
dom:depends({ dhcp_link = "none" })
dom:depends({ dhcp_link = "odhcpd" })
- dty = s1:taboption("advanced", ListValue, "domain_type", translate("Local Domain Type:"),
+ dty = s1:taboption("DHCP", ListValue, "domain_type", translate("Local Domain Type:"),
translate("How to treat queries of this local domain"))
dty:value("deny", translate("Ignored"))
dty:value("refuse", translate("Refused"))
dty:depends({ dhcp_link = "none" })
dty:depends({ dhcp_link = "odhcpd" })
- lfq = s1:taboption("advanced", ListValue, "add_local_fqdn", translate("LAN DNS:"),
+ lfq = s1:taboption("DHCP", ListValue, "add_local_fqdn", translate("LAN DNS:"),
translate("How to enter the LAN or local network router in DNS"))
lfq:value("0", translate("No Entry"))
lfq:value("1", translate("Hostname, Primary Address"))
lfq:depends({ dhcp_link = "none" })
lfq:depends({ dhcp_link = "odhcpd" })
- wfq = s1:taboption("advanced", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
+ wfq = s1:taboption("DHCP", ListValue, "add_wan_fqdn", translate("WAN DNS:"),
translate("Override the WAN side router entry in DNS"))
wfq:value("0", translate("Use Upstream"))
wfq:value("1", translate("Hostname, Primary Address"))
wfq:depends({ dhcp_link = "none" })
wfq:depends({ dhcp_link = "odhcpd" })
- exa = s1:taboption("advanced", ListValue, "add_extra_dns", translate("Extra DNS:"),
+ exa = s1:taboption("DHCP", ListValue, "add_extra_dns", translate("Extra DNS:"),
translate("Use extra DNS entries found in /etc/config/dhcp"))
exa:value("0", translate("Ignore"))
exa:value("1", translate("Include Network/Hostnames"))
exa:depends({ dhcp_link = "none" })
exa:depends({ dhcp_link = "odhcpd" })
- dfw = s1:taboption("advanced", DynamicList, "domain_forward",
- translate("Domain Forward:"),
- translate("List domains to simply forward to stub resolvers in /tmp/resolve.auto"))
-
- rlh = s1:taboption("advanced", Flag, "rebind_localhost", translate("Filter Localhost Rebind:"),
- translate("Protect against upstream response of 127.0.0.0/8"))
- rlh.rmempty = false
-
- rpv = s1:taboption("advanced", ListValue, "rebind_protection", translate("Filter Private Rebind:"),
- translate("Protect against upstream responses within local subnets"))
- rpv:value("0", translate("No Filter"))
- rpv:value("1", translate("Filter RFC1918/4193"))
- rpv:value("2", translate("Filter Entire Subnet"))
- rpv.rmempty = false
-
- rpn = s1:taboption("advanced", Value, "rebind_interface", translate("Rebind Network Filter:"),
- translate("Network subnets to filter from upstream responses"))
- rpn.template = "cbi/network_netlist"
- rpn.widget = "checkbox"
- rpn.cast = "string"
- rpn:depends({ rebind_protection = 2 })
- rpn:depends({ rebind_protection = 3 })
-
--TODO: dnsmasq needs to not reference resolve-file and get off port 53.
--Resource Tuning Tab
rsc:value("tiny", translate("Tiny"))
rsc.rmempty = false
- ag2 = s1:taboption("resource", Value, "root_age", translate("Root DSKEY Age:"),
- translate("Limit days between RFC 5011 copies to reduce flash writes"))
- ag2.datatype = "and(uinteger,min(1),max(99))"
- ag2:value("3", "3")
- ag2:value("9", "9 ("..translate("default")..")")
- ag2:value("12", "12")
- ag2:value("24", "24")
- ag2:value("99", "99 ("..translate("never")..")")
-
eds = s1:taboption("resource", Value, "edns_size", translate("EDNS Size:"),
translate("Limit extended DNS packet size"))
eds.datatype = "and(uinteger,min(512),max(4096))"
stt = s1:taboption("resource", Flag, "extended_stats", translate("Extended Statistics:"),
translate("Extended statistics are printed from unbound-control"))
stt.rmempty = false
+end
- tgr = s1:taboption("resource", Value, "trigger_interface", translate("Trigger Networks:"),
+
+--Trigger Tab, always unconditional
+ag2 = s1:taboption("trigger", Value, "root_age", translate("Root DSKEY Age:"),
+ translate("Limit days between RFC5011 copies to reduce flash writes"))
+ag2.datatype = "and(uinteger,min(1),max(99))"
+ag2:value("3", "3")
+ag2:value("9", "9 ("..translate("default")..")")
+ag2:value("12", "12")
+ag2:value("24", "24")
+ag2:value("99", "99 ("..translate("never")..")")
+
+tgr = s1:taboption("trigger", Value, "trigger_interface", translate("Trigger Networks:"),
translate("Networks that may trigger Unbound to reload (avoid wan6)"))
- tgr.template = "cbi/network_netlist"
- tgr.widget = "checkbox"
- tgr.cast = "string"
-
-else
- s1:tab("rfc5011", translate("RFC5011"),
- translatef("<h3>Unbound RFC5011 Settings</h3>\n"
- .. "RFC5011 copy scripts protect flash ROM even with UCI disabled."))
-
- ag2 = s1:taboption("rfc5011", Value, "root_age", translate("Root DSKEY Age:"),
- translate("Limit days to copy /var/->/etc/ to reduce flash writes"))
- ag2.datatype = "and(uinteger,min(1),max(99))"
- ag2:value("3", "3")
- ag2:value("9", "9 ("..translate("default")..")")
- ag2:value("12", "12")
- ag2:value("24", "24")
- ag2:value("99", "99 ("..translate("never")..")")
+tgr.template = "cbi/network_netlist"
+tgr.widget = "checkbox"
+tgr.rmempty = true
+tgr.cast = "string"
+tgr.nocreate = true
+
+
+function ena.cfgvalue(self, section)
+ return luci.sys.init.enabled("unbound") and self.enabled or self.disabled
+end
+
+
+function ena.write(self, section, value)
+ if value == "1" then
+ luci.sys.init.enable("unbound")
+ luci.sys.call("/etc/init.d/unbound start >/dev/null")
+ else
+ luci.sys.call("/etc/init.d/unbound stop >/dev/null")
+ luci.sys.init.disable("unbound")
+ end
+
+ return Flag.write(self, section, value)
end
-function m1.on_after_commit(self)
+function m1.on_apply(self)
function ena.validate(self, value)
if value ~= "0" then
luci.sys.call("/etc/init.d/unbound restart >/dev/null 2>&1")
pu.placeholder = "http://192.168.1.1/"
lf = s:taboption("advanced", Value, "upnp_lease_file", translate("UPnP lease file"))
-lf.placeholder = "/var/log/upnp.leases"
+lf.placeholder = "/var/run/miniupnpd.leases"
s2 = m:section(TypedSection, "perm_rule", translate("MiniUPnP ACLs"),
msgid "Advanced Settings"
msgstr "Ajusts avançats"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permet que s'afegeixin redireccions només a les adreces IP peticionant"
msgid "Downlink"
msgstr "Enllaç de baixada"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Habilita la funcionalitat NAT-PMP"
msgid "Advanced Settings"
msgstr "Pokročilé nastavení"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Povolit přesměrování pouze na dotazující ip adresy"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Povolit funkčnost NAT-PMP"
msgid "Advanced Settings"
msgstr "Erweiterte Einstellungen"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Nur Weiterleitungen zurück zum anfordernden Client zulassen"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "NAT-PMP Funktionalität aktivieren"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Configuración avanzada"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permitir añadir redirecciones sólo a IPs que lo soliciten"
msgid "Downlink"
msgstr "Enlace para bajada"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Activar la funcionalidad NAT-PMP"
msgid "Advanced Settings"
msgstr "Paramètres avancés"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Permet d'ajouter des redirections seulement vers les adresses IP qui font "
msgid "Downlink"
msgstr "Lien descendant"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Activer la fonctionnalité NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Haladó beállítások"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Kizárólag a kérést küldő IP címre történő továbbítás hozzáadásának "
msgid "Downlink"
msgstr "Letöltés"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "NAT-PMP funkció engedélyezése"
msgid "Advanced Settings"
msgstr "Opzioni Avanzate"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permetti l'aggiunta della mappatura solo agli indirizzi IP richiedenti"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Abilita il protocollo NAT-PMP"
msgid "Advanced Settings"
msgstr "詳細設定"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "要求元IPアドレスへの転送のみ、追加を許可します。"
msgid "Downlink"
msgstr "ダウンリンク"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "NAT-PMP機能を有効にする"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Avanserte Innstillinger"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Tillat videkobling kun til IP adresser som ber om det"
msgid "Downlink"
msgstr "Nedlinje"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Aktiver NAT-PMP funksjonalitet"
msgid "Advanced Settings"
msgstr "Ustawienia zaawansowane"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Zezwól na dodawanie przekierowań tylko do odpytujących adresów IP"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Włącz funkcjonalność NAT-PMP"
msgid "Advanced Settings"
msgstr "Configurações Avançadas"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Permite adicionar encaminhamento apenas para o endereço IP requisitante"
msgid "Downlink"
msgstr "Velocidade de recebimento do enlace (downlink)"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Habilite a função NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Link para download"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Setari avansate"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Permite adaugarea forward-urilor doar catre adresele ip solicitante"
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Activeaza functionalitatea NAT-PMP"
msgid "Advanced Settings"
msgstr "Дополнительные настройки"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "Разрешить перенаправление только для запрашивающих IP-адресов."
msgid "Downlink"
msgstr "Внутреннее соединение"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Включить NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Avancerade inställningar"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Nerlänk"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Aktivera NAT-PMP-funktionalitet"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr ""
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "Додаткові параметри"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
"Дозволити додавання переспрямування тільки для IP-адрес, що надсилають запити"
msgid "Downlink"
msgstr "Низхідний канал"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "Увімкнути функцію NAT-PMP"
msgid "Advanced Settings"
msgstr ""
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
msgid "Downlink"
msgstr "Downlink"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr ""
msgid "Advanced Settings"
msgstr "高级设置"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "允许只向请求的 IP 地址添加转发"
msgid "Downlink"
msgstr "下行速率"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "启用 NAT-PMP 功能"
msgid "Advanced Settings"
msgstr "進階設定"
+msgid "Advertise as IGDv1 device instead of IGDv2"
+msgstr ""
+
msgid "Allow adding forwards only to requesting ip addresses"
msgstr "只允許請求的IP位址新增從導機制"
msgid "Downlink"
msgstr "下載"
+msgid "Enable IGDv1 mode"
+msgstr ""
+
msgid "Enable NAT-PMP functionality"
msgstr "啓用蘋果NAT-PMP傳輸埠對應通訊協定功能"
else
url += '?' + code;
+ xhr.open('GET', url, true);
+
if (!isNaN(timeout))
xhr.timeout = timeout;
- xhr.open('GET', url, true);
-
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4) {
callback(xhr);
}
+ xhr.open('POST', url, true);
+
if (!isNaN(timeout))
xhr.timeout = timeout;
- xhr.open('POST', url, true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send(code);
}
return
end
- http.header("Set-Cookie", 'sysauth=%s; path=%s' %{ sid, build_url() })
+ http.header("Set-Cookie", 'sysauth=%s; path=%s; HttpOnly%s' %{
+ sid, build_url(), http.getenv("HTTPS") == "on" and "; secure" or ""
+ })
http.redirect(build_url(unpack(ctx.requestpath)))
end
"This is the content of /etc/rc.local. Insert your own commands here (in "
"front of 'exit 0') to execute them at the end of the boot process."
msgstr ""
-"Dies ist der Inhalt von /etc.rc.local. Hier kann man eigene Befehle einfügen "
+"Dies ist der Inhalt von /etc/rc.local. Hier kann man eigene Befehle einfügen "
"(vor 'exit 0'), die dann am Ende des Bootvorgangs ausgeführt werden."
msgid ""
"Project-Id-Version: LuCI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-20 09:40+0200\n"
-"PO-Revision-Date: 2014-04-23 19:15+0200\n"
-"Last-Translator: goodgod261 <goodgod261@wp.pl>\n"
+"PO-Revision-Date: 2018-05-14 20:05+0200\n"
+"Last-Translator: Rixerx <krystian.kozak20@gmail.com>\n"
"Language-Team: Polish\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
msgstr ""
msgid "%s is untagged in multiple VLANs!"
-msgstr ""
+msgstr "%s jest nieotagowany w wielu grupach VLAN!"
msgid "(%d minute window, %d second interval)"
msgstr "(okno %d minut, interwał %d sekund)"
msgstr "-- własne --"
msgid "-- match by device --"
-msgstr ""
+msgstr "-- dopasuj według urządzenia --"
msgid "-- match by label --"
-msgstr ""
+msgstr "-- dopasuj po etykiecie --"
msgid "-- match by uuid --"
-msgstr ""
+msgstr "-- dopasuj po uuid --"
msgid "1 Minute Load:"
msgstr "Obciążenie 1 min.:"
msgstr ""
msgid "464XLAT (CLAT)"
-msgstr ""
+msgstr "464XLAT (CLAT)"
msgid "5 Minute Load:"
msgstr "Obciążenie 5 min.:"
msgid "6-octet identifier as a hex string - no colons"
-msgstr ""
+msgstr "Identyfikator 6-oktetowy jako ciąg szesnastkowy - bez dwukropków"
msgid "802.11r Fast Transition"
msgstr ""
msgstr ""
msgid "802.11w maximum timeout"
-msgstr ""
+msgstr "802.11w maksymalny czas oczekiwania"
msgid "802.11w retry timeout"
-msgstr ""
+msgstr "802.11w interwał ponawiania prób"
msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
msgstr "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
msgstr "Brama <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>"
msgid "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Suffix (hex)"
-msgstr ""
+msgstr "Sufiks <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>(hex)"
msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"
msgstr "Konfiguracja diod <abbr title=\"Light Emitting Diode\">LED</abbr>"
"<br/>Note: you need to manually restart the cron service if the crontab file "
"was empty before editing."
msgstr ""
+"<br/>Uwaga: musisz ręcznie zrestartować usługę cron, jeśli plik crontab "
+"był pusty przed edycją."
msgid "A43C + J43 + A43"
msgstr ""
msgstr ""
msgid "ADSL"
-msgstr ""
+msgstr "ADSL"
msgid "AICCU (SIXXS)"
msgstr ""
msgstr ""
msgid "ATM Bridges"
-msgstr "Mostki ATM"
+msgstr "Mosty ATM"
# Nie wiem czy to powinno się tłumaczyć wg. mnie lepiej zostawić po angielsku
msgid "ATM Virtual Channel Identifier (VCI)"
msgid "ATM Virtual Path Identifier (VPI)"
msgstr "Identyfikator ścieżki wirtualnej ATM (VPI)"
-# Jak zwykle zakręciłem...niech ktoś poprawi
msgid ""
"ATM bridges expose encapsulated ethernet in AAL5 connections as virtual "
"Linux network interfaces which can be used in conjunction with DHCP or PPP "
"to dial into the provider network."
msgstr ""
-"Mostki ATM maskują za-kapsułkowane ramki Ethernet w połączeniach AAL5 jako "
-"wirtualne interfejsy w Linuksie. Interfejsy takie mogą być użyte w "
-"połączeniu z protokołami DHCP lub PPP do wdzwaniania się do sieci provider`a"
+"Mosty ATM eksponują enkapsulowaną sieć Ethernet w połączeniach AAL5 jako wirtualne "
+"interfejsy sieciowe systemu Linux, które mogą być używane w połączeniu z protokołem "
+"DHCP lub PPP w celu polączenia się z siecią dostawcy."
msgid "ATM device number"
msgstr "Numer urządzenia ATM"
msgstr "Dodatkowe pliki Hosts"
msgid "Additional servers file"
-msgstr ""
+msgstr "Dodatkowe pliki serwera"
msgid "Address"
msgstr "Adres"
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address"
-msgstr ""
+msgstr "Przydziel sekwencyjnie adresy IP, zaczynając od najmniejszego dostępnego"
msgid "Allocate IP sequentially"
-msgstr ""
+msgstr "Przydzielaj adresy IP po kolei"
msgid "Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication"
msgstr "Pozwól na logowanie <abbr title=\"Secure Shell\">SSH</abbr>"
msgstr "Pozwól tylko sobie (localhost)"
msgid "Allow remote hosts to connect to local SSH forwarded ports"
-msgstr ""
-"Pozwól zdalnym komputerom na połączenia SSH do lokalnych przekierowanych "
-"portów"
+msgstr "Zezwalaj zdalnym hostom na łączenie się z lokalnie przekazywanymi portami SSH"
msgid "Allow root logins with password"
msgstr "Zezwól na logowanie roota przy pomocy hasła"
-# Brak spacji...
msgid "Allow the <em>root</em> user to login with password"
-msgstr "Pozwól użytkownikowi <em>root</em> na logowanie przy pomocy hasła"
+msgstr "Pozwól użytkownikowi <em>root</em> na logowanie się przy pomocy hasła"
msgid ""
"Allow upstream responses in the 127.0.0.0/8 range, e.g. for RBL services"
"Pozwól na ruch wychodzący (odpowiedzi) z podsieci 127.0.0.0/8, np. usługi RBL"
msgid "Allowed IPs"
-msgstr ""
+msgstr "Dozwolone adresy IP"
msgid ""
"Also see <a href=\"https://www.sixxs.net/faq/connectivity/?faq=comparison"
msgstr ""
msgid "Always announce default router"
-msgstr ""
+msgstr "Zawsze rozgłaszaj domyślny router"
msgid "Annex"
msgstr ""
msgid "Authentication Type"
msgstr ""
-# Nawet M$ tego nie tłumaczy;)
msgid "Authoritative"
msgstr "Autorytatywny"
"interface to it."
msgstr ""
"Wybierz strefę firewalla którą chcesz przypisać do tego interfejsu. Wybierz "
-"<em>unspecified</em> aby usunąć interfejs z przypisanej strefy lub wybierz "
-"pole <em>create</em> aby zdefiniować nową strefę i przypisać ją do "
+"<em>nieokreślone</em> aby usunąć interfejs z przypisanej strefy lub wybierz "
+"pole <em>utwórz</em> aby zdefiniować nową strefę i przypisać ją do "
"interfejsu."
msgid ""
msgid "Cisco UDP encapsulation"
msgstr ""
-# Przyciski nazywają sie "Twórz archiwum" i "Wykonaj reset" a nie Przywróć Ustawienia
msgid ""
"Click \"Generate archive\" to download a tar archive of the current "
"configuration files. To reset the firmware to its initial state, click "
"workaround might cause interoperability issues and reduced robustness of key "
"negotiation especially in environments with heavy traffic load."
msgstr ""
+"Komplikuje atak ponownej instalacji klucza po stronie klienta, wyłączając retransmisję ramek klucza EAPOL, które są używane do instalowania kluczy. To obejście może powodować problemy z interoperacyjnością i zmniejszoną odporność kluczowych negocjacji, szczególnie w środowiskach o dużym natężeniu ruchu."
msgid "Configuration"
msgstr "Konfiguracja"
msgstr "Poziom logowania Cron`a"
msgid "Custom Interface"
-msgstr "Interfejs Niestandardowy"
+msgstr "Interfejs niestandardowy"
msgid "Custom delegated IPv6-prefix"
msgstr ""
"this, perform a factory-reset first."
msgstr ""
-# Spacji zabrało i napisy się skleiły
msgid ""
"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
"\">LED</abbr>s if possible."
msgstr "Dzierżawy DHCPv6"
msgid "DHCPv6 client"
-msgstr ""
+msgstr "Klient DHCPv6"
msgid "DHCPv6-Mode"
msgstr ""
msgstr ""
msgid "DSL"
-msgstr ""
+msgstr "DSL"
msgid "DSL Status"
-msgstr ""
+msgstr "Status DSL"
msgid "DSL line mode"
msgstr ""
msgstr "Konfiguracja urządzenia"
msgid "Device is rebooting..."
-msgstr ""
+msgstr "Urządzenie jest uruchamiane ponownie ..."
msgid "Device unreachable"
-msgstr ""
+msgstr "Urządzenie nieosiągalne"
msgid "Diagnostics"
msgstr "Diagnostyka"
"tym interfejsie."
msgid "Disable DNS setup"
-msgstr "Wyłącz konfigurowanie DNS"
+msgstr "Wyłącz konfigurację DNS"
msgid "Disable Encryption"
-msgstr ""
+msgstr "Wyłącz szyfrowanie"
msgid "Disabled"
msgstr "Wyłączony"
msgid "Disabled (default)"
-msgstr ""
+msgstr "Wyłączone (domyślnie)"
msgid "Discard upstream RFC1918 responses"
msgstr "Odrzuć wychodzące odpowiedzi RFC1918"
msgid "Edit this network"
msgstr "Edytuj tą sieć"
-# dosłownie nagły wypadek
msgid "Emergency"
msgstr "Zagrożenie"
msgid ""
"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
"snooping"
-msgstr ""
+msgstr "Włącz nasłuchiwanie <abbr title=\"Internet Group Management Protocol\">IGMP</abbr>"
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Włącz <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgstr "Włącz dynamiczną aktualizację punktu końcowego sieci HE.net"
msgid "Enable IPv6 negotiation"
-msgstr ""
+msgstr "Włącz negocjację IPv6"
msgid "Enable IPv6 negotiation on the PPP link"
msgstr "Włącz negocjację IPv6 na łączu PPP"
msgstr "Włącz funkcjonalność VLAN"
msgid "Enable WPS pushbutton, requires WPA(2)-PSK"
-msgstr ""
+msgstr "Włącz przycisk WPS, wymaga WPA(2)-PSK"
msgid "Enable key reinstallation (KRACK) countermeasures"
-msgstr ""
+msgstr "Włącz środki zaradcze dotyczące ponownej instalacji kluczy (KRACK)"
msgid "Enable learning and aging"
msgstr "Włącz uczenie się i starzenie"
msgstr "Włączony"
msgid "Enables IGMP snooping on this bridge"
-msgstr ""
+msgstr "Włącz nasłuchiwanie IGMP na tym moście"
msgid ""
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
-msgstr ""
+msgstr "Aktywuje szybki roaming pomiędzy punktami dostępowymi, które należą "
+"do tej samej domeny"
msgid "Enables the Spanning Tree Protocol on this bridge"
msgstr ""
"Włącz protokół <abbr title=\"Spanning Tree Protocol\">STP</abbr> na tym "
"moście"
-# a może sposób kapsułkowania byłby lepszy?
msgid "Encapsulation mode"
-msgstr "Sposób Enkapsulacji"
+msgstr "Sposób enkapsulacji"
msgid "Encryption"
msgstr "Szyfrowanie"
msgstr "Switch Ethernet"
msgid "Exclude interfaces"
-msgstr ""
+msgstr "Wyklucz interfejsy"
msgid "Expand hosts"
msgstr "Rozwiń hosty"
msgstr ""
msgid "External system log server"
-msgstr "Zewnętrzny serwer dla loga systemowego"
+msgstr "Zewnętrzny serwer dla logów systemowych"
msgid "External system log server port"
-msgstr "Port zewnętrznego serwera dla loga systemowego"
+msgstr "Port zewnętrznego serwera dla logów systemowych"
msgid "External system log server protocol"
-msgstr ""
+msgstr "Protokół zewnętrznego serwera dla logów systemowych"
msgid "Extra SSH command options"
msgstr ""
msgid "Firewall Mark"
msgstr ""
-# Nie ma potrzeby pisania z dużej litery
msgid "Firewall Settings"
msgstr "Ustawienia firewalla"
msgstr "Wymuś TKIP i CCMP (AES)"
msgid "Force link"
-msgstr ""
+msgstr "Wymuś połączenie"
msgid "Force use of NAT-T"
msgstr ""
msgstr ""
msgid "Generate Config"
-msgstr ""
+msgstr "Wygeneruj konfigurację"
msgid "Generate PMK locally"
-msgstr ""
+msgstr "Wygeneruj PMK lokalnie"
msgid "Generate archive"
msgstr "Twórz archiwum"
msgstr ""
msgid "Guest"
-msgstr ""
+msgstr "Gość"
msgid "HE.net password"
msgstr "Hasło HE.net"
msgstr "Nazwa hosta"
msgid "Hostname to send when requesting DHCP"
-msgstr "Nazwa hosta do wysłania podczas negocjacji DHCP"
+msgstr "Nazwa hosta wysyłana podczas negocjacji DHCP"
msgid "Hostnames"
msgstr "Nazwy hostów"
msgstr "Instaluj"
msgid "Install iputils-traceroute6 for IPv6 traceroute"
-msgstr ""
+msgstr "Zainstaluj iputils-traceroute6 w celu skorzystania z traceroute dla iPv6"
msgid "Install package %q"
msgstr "Instaluj pakiet %q"
msgstr "Interfejs jest wyłączany..."
msgid "Interface name"
-msgstr ""
+msgstr "Nazwa interfejsu"
msgid "Interface not present or not connected yet."
msgstr "Interfejs nie istnieje lub nie jest jeszcze podłączony."
msgstr "Niewłaściwy login i/lub hasło! Spróbuj ponownie."
msgid "Isolate Clients"
-msgstr ""
+msgstr "Izoluj klientów"
#, fuzzy
msgid ""
msgstr "Połącz z siecią"
msgid "Join Network: Wireless Scan"
-msgstr "Przyłącz do sieci: Skanuj sieci WiFi"
+msgstr "Przyłącz do sieci: Skanuj sieci Wi-Fi"
msgid "Joining Network: %q"
-msgstr ""
+msgstr "Przyłączanie do sieci: %q"
msgid "Keep settings"
msgstr "Zachowaj ustawienia"
msgstr "Wygląd i język"
msgid "Latency"
-msgstr ""
+msgstr "Opoźnienie"
msgid "Leaf"
msgstr ""
msgid "Lease time"
-msgstr ""
+msgstr "Czas dzierżawy"
msgid "Lease validity time"
msgstr "Czas ważności dzierżawy"
msgstr ""
msgid "Limit listening to these interfaces, and loopback."
-msgstr ""
+msgstr "Ogranicz nasłuchiwanie do tych interfesjów, oraz loopbacku."
msgid "Line Attenuation (LATN)"
msgstr ""
msgstr "Lista hostów które dostarczają zafałszowane wyniki NX domain"
msgid "Listen Interfaces"
-msgstr ""
+msgstr "Nasłuchuj interfejs"
msgid "Listen Port"
-msgstr ""
+msgstr "Nasłuchuj port"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
msgstr "Ładowanie"
msgid "Local IP address to assign"
-msgstr ""
+msgstr "Lokalny adres IP do przypisania"
msgid "Local IPv4 address"
msgstr "Lokalny adres IPv4"
msgstr "MB/s"
msgid "MD5"
-msgstr ""
+msgstr "MD5"
msgid "MHz"
msgstr "MHz"
"Make sure to clone the root filesystem using something like the commands "
"below:"
msgstr ""
+"Upewnij się, że klonujesz główny system plików, używając czegoś podobnego "
+"do poleceń poniżej:"
msgid "Manual"
msgstr ""
msgstr "Tryb"
msgid "Model"
-msgstr ""
+msgstr "Model"
msgid "Modem device"
msgstr "Modem"
msgstr ""
msgid "NCM"
-msgstr ""
+msgstr "NCM"
msgid "NDP-Proxy"
msgstr ""
msgstr "Szum"
msgid "Noise Margin (SNR)"
-msgstr ""
+msgstr "Margines szumów (SNR)"
msgid "Noise:"
msgstr "Szum:"
msgstr "Nie podłączony"
msgid "Note: Configuration files will be erased."
-msgstr "UWAGA: Pliki konfiguracyjne zostaną usunięte."
+msgstr "Uwaga: Pliki konfiguracyjne zostaną usunięte."
msgid "Note: interface name length"
msgstr ""
msgstr ""
msgid "Operating frequency"
-msgstr ""
+msgstr "Częstotliwość"
msgid "Option changed"
msgstr "Wartość zmieniona"
msgstr "Usunięto wartość"
msgid "Optional"
-msgstr ""
+msgstr "Opcjonalny"
msgid "Optional, specify to override default server (tic.sixxs.net)"
msgstr ""
msgstr "Nadpisz MTU"
msgid "Override TOS"
-msgstr ""
+msgstr "Nadpisz TOS"
msgid "Override TTL"
-msgstr ""
+msgstr "Nadpisz TTL"
msgid "Override default interface name"
-msgstr ""
+msgstr "Nadpisz domyślną nazwę interfejsu"
msgid "Override the gateway in DHCP responses"
msgstr "Nadpisz adres bramy w odpowiedziach DHCP"
msgstr "PIN"
msgid "PMK R1 Push"
-msgstr ""
+msgstr "PMK R1 Push"
msgid "PPP"
msgstr "PPP"
msgstr "PPPoE"
msgid "PPPoSSH"
-msgstr ""
+msgstr "PPPoSSH"
msgid "PPtP"
msgstr "PPtP"
msgstr "Hasło"
msgid "Password authentication"
-msgstr "Identyfikacja hasłem"
+msgstr "Uwierzytelnianie hasłem"
msgid "Password of Private Key"
msgstr "Hasło lub klucz prywatny"
msgid "Password of inner Private Key"
-msgstr ""
+msgstr "Wewnętrzne hasło klucza prywatnego"
msgid "Password successfully changed!"
msgstr "Pomyślnie zmieniono hasło!"
msgstr "Ścieżka do certyfikatu CA"
msgid "Path to Client-Certificate"
-msgstr "Ścieżka do certyfikatu Klienta"
+msgstr "Ścieżka do certyfikatu klienta"
msgid "Path to Private Key"
msgstr "Ścieżka do Klucza Prywatnego"
msgid "Path to inner CA-Certificate"
-msgstr ""
+msgstr "Ścieżka do wewnętrznego certyfikatu CA"
msgid "Path to inner Client-Certificate"
-msgstr ""
+msgstr "Ścieżka do wewnętrznego certyfikatu Klienta"
msgid "Path to inner Private Key"
-msgstr ""
+msgstr "Ścieżka do wewnętrznego klucza prywatnego "
msgid "Peak:"
msgstr "Szczyt:"
msgstr "Status portu:"
msgid "Power Management Mode"
-msgstr ""
+msgstr "Tryb zarządzania energią"
msgid "Pre-emtive CRC errors (CRCP_P)"
msgstr ""
"wpisz 0 aby zignorować błędy"
msgid "Prevent listening on these interfaces."
-msgstr ""
+msgstr "Zapobiegaj nasłuchiwaniu na tych interfejsach."
msgid "Prevents client-to-client communication"
-msgstr "Zapobiegaj komunikacji klientów pomiędzy sobą"
+msgstr "Zabroń klientą na komunikacje między sobą"
msgid "Prism2/2.5/3 802.11b Wireless Controller"
msgstr "Kontroler bezprzewodowy Prism2/2.5/3 802.11b"
msgid "Private Key"
-msgstr ""
+msgstr "Klucz prywatny"
msgid "Proceed"
msgstr "Wykonaj"
msgstr "Procesy"
msgid "Profile"
-msgstr ""
+msgstr "Profil"
msgid "Prot."
msgstr "Prot."
msgid "Protocol support is not installed"
msgstr "Wsparcie dla protokołu nie jest zainstalowane"
-# Opcja dotyczy włączenia serwera czasu, więc "podaj" nie jest właściwym tłumaczeniem w tym miejscu - obsy
msgid "Provide NTP server"
msgstr "Włącz serwer NTP"
msgstr "Pseudo Ad-Hoc (ahdemo)"
msgid "Public Key"
-msgstr ""
+msgstr "Klucz publiczny"
msgid "Public prefix routed to this device for distribution to clients."
msgstr ""
msgstr "Ruch w czasie rzeczywistym"
msgid "Realtime Wireless"
-msgstr "WiFi w czasie rzeczywistym"
+msgstr "Wi-Fi w czasie rzeczywistym"
msgid "Reassociation Deadline"
-msgstr ""
+msgstr "Termin reasocjacji"
msgid "Rebind protection"
msgstr "Przypisz ochronę"
msgstr "Zdalny adres IPv4"
msgid "Remote IPv4 address or FQDN"
-msgstr ""
+msgstr "Zdalny adres IPv4 lub FQDN"
msgid "Remove"
msgstr "Usuń"
msgstr "Zamień konfigurację WiFi"
msgid "Request IPv6-address"
-msgstr ""
+msgstr "Zażądaj adresu IPv6"
msgid "Request IPv6-prefix of length"
msgstr ""
msgid "Require TLS"
-msgstr ""
+msgstr "Wymagaj TLS"
msgid "Required"
-msgstr ""
+msgstr "Wymagany"
msgid "Required for certain ISPs, e.g. Charter with DOCSIS 3"
msgstr "Wymagany dla niektórych dostawców internetu, np. Charter z DOCSIS 3"
msgstr ""
msgid "SNR"
-msgstr ""
+msgstr "SNR"
msgid "SSH Access"
msgstr "Dostęp SSH"
msgid "SSH server address"
-msgstr ""
+msgstr "Adres serwera SSH"
msgid "SSH server port"
-msgstr ""
+msgstr "Port serwera SSH"
msgid "SSH username"
msgstr ""
"Set interface properties regardless of the link carrier (If set, carrier "
"sense events do not invoke hotplug handlers)."
msgstr ""
+"Ustaw właściwości interfejsu, niezależnie od operatora łącza (nie wpływa"
+" na programy operatora które ustanawiają połączenie)."
#, fuzzy
msgid "Set up Time Synchronization"
msgstr "Oprogramowanie"
msgid "Software VLAN"
-msgstr ""
+msgstr "VLAN programowy"
msgid "Some fields are invalid, cannot save values!"
msgstr "Wartości pewnych pól są niewłaściwe, nie mogę ich zachować!"
msgstr "Następujące zasady są obecnie aktywne w tym systemie."
msgid "The given network name is not unique"
-msgstr "Podana sieć NIE jest unikalna"
+msgstr "Podana sieć nie jest unikalna"
#, fuzzy
msgid ""
"To restore configuration files, you can upload a previously generated backup "
"archive here."
msgstr ""
-"Aby przywrócić pliki konfiguracyjne, można tutaj wczytać wcześniej utworzone "
-"archiwum kopii zapasowej."
+"Aby przywrócić pliki konfiguracyjne, możesz tutaj przesłać wcześniej utworzoną "
+"kopię zapasową."
msgid "Tone"
msgstr ""
msgstr "Trigger"
msgid "Trigger Mode"
-msgstr "Tryb Trigger"
+msgstr "Rodzaj Triggeru"
msgid "Tunnel ID"
msgstr "Numer identyfikacyjny tunelu"
msgstr ""
msgid "Tunnel type"
-msgstr ""
+msgstr "Typ tunelu"
msgid "Tx-Power"
msgstr "Moc nadawania"
msgstr "Urządzenie USB"
msgid "USB Ports"
-msgstr ""
+msgstr "Porty USB"
msgid "UUID"
msgstr "UUID"
msgstr "Nieznany"
msgid "Unknown Error, password not changed!"
-msgstr "Nieznany błąd, hasło nie zostało zmienione"
+msgstr "Nieznany błąd, hasło nie zostało zmienione!"
msgid "Unmanaged"
msgstr "Niezarządzalny"
msgid "Unmount"
-msgstr ""
+msgstr "Odmontuj"
msgid "Unsaved Changes"
msgstr "Niezapisane zmiany"
"Check \"Keep settings\" to retain the current configuration (requires a "
"compatible firmware image)."
msgstr ""
-"Prześlij zgodny z funkcją sysupgrade obraz tutaj, aby zastąpić aktualnie "
-"działające firmware. Zaznacz opcję \"Zachowaj ustawienia\", aby zachować "
-"bieżącą konfigurację (wymaga zgodnego obrazu firmware)."
+"Prześlij tutaj obraz zgodny z funkcją sysupgrade, aby zastąpić aktualnie "
+"działające opragramowanie. Zaznacz opcję \"Zachowaj ustawienia\", aby zachować "
+"bieżącą konfigurację (wymagany obraz zgodny z bieżącym opragramowaniem)."
msgid "Upload archive..."
msgstr "Załaduj archiwum..."
msgstr ""
msgid "Use as root filesystem (/)"
-msgstr ""
+msgstr "Użyj jako systemu plików root (/)"
msgid "Use broadcast flag"
msgstr "Użyj flagi rozgłaszania"
msgid "Use builtin IPv6-management"
-msgstr ""
+msgstr "Skorzystaj z wbudowanego zarządzania protokołem IPv6"
msgid "Use custom DNS servers"
-msgstr "Użyj własnych serwerów DNS"
+msgstr "Użyj własne serwery DNS"
msgid "Use default gateway"
msgstr "Użyj domyślnej bramy"
msgstr ""
msgid "User certificate (PEM encoded)"
-msgstr ""
+msgstr "Certyfikat użytkownika (kodowany PEM)"
msgid "User key (PEM encoded)"
-msgstr ""
+msgstr "Klucz użytkownika (kodowany PEM)"
msgid "Username"
msgstr "Nazwa użytkownika"
msgstr "VC-Mux"
msgid "VDSL"
-msgstr ""
+msgstr "VDSL"
msgid "VLANs on %q"
msgstr "Sieci VLAN na %q"
msgstr "Serwer VPN"
msgid "VPN Server port"
-msgstr ""
+msgstr "Port serwera VPN"
msgid "VPN Server's certificate SHA1 hash"
msgstr ""
msgstr ""
msgid "Vendor"
-msgstr ""
+msgstr "Producent"
msgid "Vendor Class to send when requesting DHCP"
msgstr "Klasa producenta do wysłania podczas żądania DHCP"
"WPA-Encryption requires wpa_supplicant (for client mode) or hostapd (for AP "
"and ad-hoc mode) to be installed."
msgstr ""
-"Kodowanie WPA wymaga zainstalowanych modułów wpa_supplicant (na tryb "
-"klienta) lub hostapd (dla trybów AP lub ad-hoc)"
+"Kodowanie WPA wymaga zainstalowanych modułów wpa_supplicant (tryb "
+"klienta) lub hostapd (tryb AP lub ad-hoc)"
msgid ""
"Wait for NTP sync that many seconds, seting to 0 disables waiting (optional)"
msgstr ""
-# obsy: Brzmi to lepiej niż "czekanie na wprowadzanie zmian.
msgid "Waiting for changes to be applied..."
msgstr "Trwa wprowadzenie zmian..."
msgstr "Trwa wykonanie polecenia..."
msgid "Waiting for device..."
-msgstr ""
+msgstr "Oczekiwanie na urządzenie..."
msgid "Warning"
msgstr "Ostrzeżenie"
msgid "Warning: There are unsaved changes that will get lost on reboot!"
-msgstr ""
+msgstr "Ostrzeżenie: Istnieją niezapisane zmiany, które zostaną utracone "
+"po ponownym uruchomieniu urządzenia!"
msgid ""
"When using a PSK, the PMK can be generated locally without inter AP "
msgstr ""
msgid "Width"
-msgstr ""
+msgstr "Szerokość"
msgid "WireGuard VPN"
msgstr ""
msgstr "Zapisz otrzymane żądania DNS do syslog'a"
msgid "Write system log to file"
-msgstr ""
+msgstr "Zapisz log systemowy do pliku"
msgid ""
"You can enable or disable installed init scripts here. Changes will applied "
"upgrade it to at least version 7 or use another browser like Firefox, Opera "
"or Safari."
msgstr ""
+"Twój Internet Explorer jest za stary, aby poprawnie wyświetlić tę stronę"
+"zaktualizuj go do wersji co najmniej 7 lub użyj innej przeglądarki, takiej "
+"jak Firefox, Opera czy Safari".
msgid "any"
msgstr "dowolny"
msgstr "baseT"
msgid "bridged"
-msgstr "bridged"
+msgstr "zmostkowany"
msgid "create:"
msgstr "utwórz:"
msgid "creates a bridge over specified interface(s)"
-msgstr "utwórz bridge na określonych interfejsach"
+msgstr "utwórz most na określonych interfejsach"
msgid "dB"
msgstr "dB"
msgstr "wyłącz"
msgid "disabled"
-msgstr ""
+msgstr "wyłączony"
msgid "expired"
msgstr "wygasły"
msgstr "ukryty"
msgid "hybrid mode"
-msgstr ""
+msgstr "tryb hybrydowy"
msgid "if target is a network"
msgstr "jeżeli celem jest sieć"
msgstr "lokalny plik <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "minimum 1280, maximum 1480"
-msgstr ""
+msgstr "minimum 1280, maksimum 1480"
msgid "minutes"
-msgstr ""
+msgstr "minuty"
msgid "no"
msgstr "nie"
msgstr "żaden"
msgid "not present"
-msgstr ""
+msgstr "nieobecny"
msgid "off"
msgstr "wyłączone"
msgstr ""
msgid "random"
-msgstr ""
+msgstr "losowy"
msgid "relay mode"
msgstr ""
msgstr "routowane"
msgid "server mode"
-msgstr ""
+msgstr "tryb serwera"
msgid "stateful-only"
msgstr ""
msgstr ""
msgid "tagged"
-msgstr "tagowane"
+msgstr "otagowane"
msgid "time units (TUs / 1.024 ms) [1000-65535]"
-msgstr ""
+msgstr "jednostki czasu (TUs / 1.024 ms) [1000-65535]"
msgid "unknown"
msgstr "nieznane"
msgstr "nieokreślone -lub- utwórz:"
msgid "untagged"
-msgstr "nietagowane"
+msgstr "nieotagowane"
msgid "yes"
msgstr "tak"
config system
option init led
+ option exec '/etc/init.d/log reload'
list affects luci_statistics
list affects dhcp
entry({"admin", "system", "fstab", "swap"}, cbi("admin_system/fstab/swap"), nil).leaf = true
end
- if fs.access("/sys/class/leds") then
+ local nodes, number = fs.glob("/sys/class/leds/*")
+ if number > 0 then
entry({"admin", "system", "leds"}, cbi("admin_system/leds"), _("<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"), 60)
end
end
local function supports_reset()
- return (os.execute([[grep -sqE '"rootfs_data"|"ubi"' /proc/mtd]]) == 0)
+ return (os.execute([[grep -sq "^overlayfs:/overlay / overlay " /proc/mounts]]) == 0)
end
local function storage_size()
if( time_remaining <= 0 )
{
window.clearInterval(interval);
- location.href = 'http://' + location.hostname + '/';
+ location.href = 'http://' + location.host + '/';
}
else
{
module("luci.controller.rpc", package.seeall)
-function index()
- local function session_retrieve(sid, allowed_users)
- local util = require "luci.util"
- local sdat = util.ubus("session", "get", {
- ubus_rpc_session = sid
- })
-
- if type(sdat) == "table" and
- type(sdat.values) == "table" and
- type(sdat.values.token) == "string" and
- type(sdat.values.secret) == "string" and
- type(sdat.values.username) == "string" and
- util.contains(allowed_users, sdat.values.username)
- then
- return sid, sdat.values
- end
-
- return nil
+function session_retrieve(sid, allowed_users)
+ local util = require "luci.util"
+ local sdat = util.ubus("session", "get", {
+ ubus_rpc_session = sid
+ })
+
+ if type(sdat) == "table" and
+ type(sdat.values) == "table" and
+ type(sdat.values.token) == "string" and
+ type(sdat.values.secret) == "string" and
+ type(sdat.values.username) == "string" and
+ util.contains(allowed_users, sdat.values.username)
+ then
+ return sid, sdat.values
end
- local function authenticator(validator, accs)
- local http = require "luci.http"
- local auth = http.formvalue("auth", true) or http.getcookie("sysauth")
+ return nil
+end
- if auth then -- if authentication token was given
- local sid, sdat = session_retrieve(auth, accs)
- if sdat then -- if given token is valid
- return sdat.username, sid
- end
- http.status(403, "Forbidden")
+function authenticator(validator, accs)
+ local http = require "luci.http"
+ local ctrl = require "luci.controller.rpc"
+ local auth = http.formvalue("auth", true) or http.getcookie("sysauth")
+
+ if auth then -- if authentication token was given
+ local sid, sdat = ctrl.session_retrieve(auth, accs)
+ if sdat then -- if given token is valid
+ return sdat.username, sid
end
+ http.status(403, "Forbidden")
end
+end
+
+
+function index()
+ local ctrl = require "luci.controller.rpc"
local rpc = node("rpc")
rpc.sysauth = "root"
- rpc.sysauth_authenticator = authenticator
+ rpc.sysauth_authenticator = ctrl.authenticator
rpc.notemplate = true
entry({"rpc", "uci"}, call("rpc_uci"))
entry({"rpc", "fs"}, call("rpc_fs"))
entry({"rpc", "sys"}, call("rpc_sys"))
entry({"rpc", "ipkg"}, call("rpc_ipkg"))
+ entry({"rpc", "ip"}, call("rpc_ip"))
entry({"rpc", "auth"}, call("rpc_auth")).sysauth = false
end
}
})
- local sid, sdat = session_retrieve(login.ubus_rpc_session, { user })
+ local sid, sdat = ctrl.session_retrieve(login.ubus_rpc_session, { user })
if sdat then
return {
sid = sid,
end
function rpc_sys()
+ local util = require "luci.util"
local sys = require "luci.sys"
local jsonrpc = require "luci.jsonrpc"
local http = require "luci.http"
local ltn12 = require "luci.ltn12"
+ local sys2 = util.clone(sys)
+ sys2.net = util.clone(sys.net)
+ sys2.wifi = util.clone(sys.wifi)
+
+ function sys2.wifi.getiwinfo(ifname, operation)
+ local iw = sys.wifi.getiwinfo(ifname)
+ if iw then
+ if operation then
+ assert(type(iwinfo[iw.type][operation]) == "function")
+ return iw[operation]
+ end
+
+ local n, f
+ local rv = { ifname = ifname }
+ for n, f in pairs(iwinfo[iw.type]) do
+ if type(f) == "function" and
+ n ~= "scanlist" and n ~= "countrylist"
+ then
+ rv[n] = iw[n]
+ end
+ end
+ return rv
+ end
+ return nil
+ end
+
http.prepare_content("application/json")
- ltn12.pump.all(jsonrpc.handle(sys, http.source()), http.write)
+ ltn12.pump.all(jsonrpc.handle(sys2, http.source()), http.write)
end
function rpc_ipkg()
http.prepare_content("application/json")
ltn12.pump.all(jsonrpc.handle(ipkg, http.source()), http.write)
end
+
+function rpc_ip()
+ if not pcall(require, "luci.ip") then
+ luci.http.status(404, "Not Found")
+ return nil
+ end
+
+ local util = require "luci.util"
+ local ip = require "luci.ip"
+ local jsonrpc = require "luci.jsonrpc"
+ local http = require "luci.http"
+ local ltn12 = require "luci.ltn12"
+
+ local ip2 = util.clone(ip)
+
+ local _, n
+ for _, n in ipairs({ "new", "IPv4", "IPv6", "MAC" }) do
+ ip2[n] = function(address, netmask, operation, argument)
+ local cidr = ip[n](address, netmask)
+ if cidr and operation then
+ assert(type(cidr[operation]) == "function")
+ local cidr2 = cidr[operation](cidr, argument)
+ return (type(cidr2) == "userdata") and cidr2:string() or cidr2
+ end
+ return (type(cidr) == "userdata") and cidr:string() or cidr
+ end
+ end
+
+ http.prepare_content("application/json")
+ ltn12.pump.all(jsonrpc.handle(ip2, http.source()), http.write)
+end
password.password = true
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end
defaultroute = section:taboption("advanced", Flag, "defaultroute",
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end
if luci.model.network:has_ipv6() then
-
- ipv6 = section:taboption("advanced", ListValue, "ipv6")
- ipv6:value("auto", translate("Automatic"))
- ipv6:value("0", translate("Disabled"))
- ipv6:value("1", translate("Manual"))
- ipv6.default = "auto"
-
+ ipv6 = section:taboption("advanced", ListValue, "ipv6",
+ translate("Obtain IPv6-Address"),
+ translate("Enable IPv6 negotiation on the PPP link"))
+ ipv6:value("auto", translate("Automatic"))
+ ipv6:value("0", translate("Disabled"))
+ ipv6:value("1", translate("Manual"))
+ ipv6.default = "auto"
end