summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-dnscrypt-proxy/Makefile13
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua32
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua37
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua39
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua177
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/config_css.htm13
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm15
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/res_options.htm10
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm15
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po232
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot191
-rwxr-xr-xapplications/luci-app-dnscrypt-proxy/root/etc/uci-defaults/60_luci-dnscrypt-proxy11
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua51
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua8
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua10
-rw-r--r--applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua6
-rw-r--r--applications/luci-app-mwan3/po/ja/mwan3.po81
-rw-r--r--applications/luci-app-mwan3/po/templates/mwan3.pot40
-rw-r--r--applications/luci-app-mwan3/po/zh-cn/mwan3.po69
-rw-r--r--applications/luci-app-samba/po/ca/samba.po5
-rw-r--r--applications/luci-app-samba/po/cs/samba.po5
-rw-r--r--applications/luci-app-samba/po/de/samba.po5
-rw-r--r--applications/luci-app-samba/po/el/samba.po5
-rw-r--r--applications/luci-app-samba/po/en/samba.po5
-rw-r--r--applications/luci-app-samba/po/es/samba.po5
-rw-r--r--applications/luci-app-samba/po/fr/samba.po5
-rw-r--r--applications/luci-app-samba/po/he/samba.po5
-rw-r--r--applications/luci-app-samba/po/hu/samba.po5
-rw-r--r--applications/luci-app-samba/po/it/samba.po5
-rw-r--r--applications/luci-app-samba/po/ja/samba.po17
-rw-r--r--applications/luci-app-samba/po/ms/samba.po5
-rw-r--r--applications/luci-app-samba/po/no/samba.po5
-rw-r--r--applications/luci-app-samba/po/pl/samba.po5
-rw-r--r--applications/luci-app-samba/po/pt-br/samba.po5
-rw-r--r--applications/luci-app-samba/po/pt/samba.po5
-rw-r--r--applications/luci-app-samba/po/ro/samba.po5
-rw-r--r--applications/luci-app-samba/po/ru/samba.po5
-rw-r--r--applications/luci-app-samba/po/sk/samba.po5
-rw-r--r--applications/luci-app-samba/po/sv/samba.po5
-rw-r--r--applications/luci-app-samba/po/templates/samba.pot5
-rw-r--r--applications/luci-app-samba/po/tr/samba.po5
-rw-r--r--applications/luci-app-samba/po/uk/samba.po5
-rw-r--r--applications/luci-app-samba/po/vi/samba.po5
-rw-r--r--applications/luci-app-samba/po/zh-cn/samba.po5
-rw-r--r--applications/luci-app-samba/po/zh-tw/samba.po5
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua12
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua23
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua11
-rw-r--r--applications/luci-app-travelmate/po/ja/travelmate.po14
-rw-r--r--applications/luci-app-travelmate/po/pt-br/travelmate.po11
-rw-r--r--applications/luci-app-travelmate/po/templates/travelmate.pot11
-rw-r--r--applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua9
52 files changed, 1134 insertions, 149 deletions
diff --git a/applications/luci-app-dnscrypt-proxy/Makefile b/applications/luci-app-dnscrypt-proxy/Makefile
new file mode 100644
index 000000000..4b632b8d0
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/Makefile
@@ -0,0 +1,13 @@
+# Copyright 2017 Dirk Brenken (dev@brenken.org)
+# This is free software, licensed under the Apache License, Version 2.0
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=LuCI support for DNSCrypt-Proxy
+LUCI_DEPENDS:=+uclient-fetch +dnscrypt-proxy
+LUCI_PKGARCH:=all
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua b/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
new file mode 100644
index 000000000..6d6790a83
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua
@@ -0,0 +1,32 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+module("luci.controller.dnscrypt-proxy", package.seeall)
+
+local util = require("luci.util")
+local i18n = require("luci.i18n")
+local templ = require("luci.template")
+
+function index()
+ if not nixio.fs.access("/etc/config/dnscrypt-proxy") then
+ nixio.fs.writefile("/etc/config/dnscrypt-proxy", "")
+ end
+ entry({"admin", "services", "dnscrypt-proxy"}, firstchild(), _("DNSCrypt-Proxy"), 60).dependent = false
+ entry({"admin", "services", "dnscrypt-proxy", "tab_from_cbi"}, cbi("dnscrypt-proxy/overview_tab", {hideresetbtn=true, hidesavebtn=true}), _("Overview"), 10).leaf = true
+ entry({"admin", "services", "dnscrypt-proxy", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true
+ entry({"admin", "services", "dnscrypt-proxy", "advanced"}, firstchild(), _("Advanced"), 100)
+ entry({"admin", "services", "dnscrypt-proxy", "advanced", "configuration"}, cbi("dnscrypt-proxy/configuration_tab"), _("Edit DNSCrypt-Proxy Configuration"), 110).leaf = true
+ entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_dnsmasq"}, cbi("dnscrypt-proxy/cfg_dnsmasq_tab"), _("Edit Dnsmasq Configuration"), 120).leaf = true
+ entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 130).leaf = true
+
+end
+
+function view_reslist()
+ local reslist = util.trim(util.exec("cat /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv"))
+ templ.render("dnscrypt-proxy/view_reslist", {title = i18n.translate("DNSCrypt-Proxy Resolver List"), content = reslist})
+end
+
+function logread()
+ local logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy'"))
+ templ.render("dnscrypt-proxy/logread", {title = i18n.translate("DNSCrypt-Proxy Logfile"), content = logfile})
+end
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
new file mode 100644
index 000000000..d22abbfd3
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua
@@ -0,0 +1,37 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local nxfs = require("nixio.fs")
+local util = require("luci.util")
+local uci_input = "/etc/config/dhcp"
+
+if not nxfs.access(uci_input) then
+ m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
+ return m
+end
+
+m = SimpleForm("input", nil)
+m:append(Template("dnscrypt-proxy/config_css"))
+m.submit = translate("Save")
+m.reset = false
+
+s = m:section(SimpleSection, nil,
+ translate("This form allows you to modify the content of the main Dnsmasq configuration file (/etc/config/dhcp)."))
+
+f = s:option(TextValue, "data")
+f.rows = 20
+f.rmempty = true
+
+function f.cfgvalue()
+ return nxfs.readfile(uci_input) or ""
+end
+
+function f.write(self, section, data)
+ return nxfs.writefile(uci_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
+end
+
+function s.handle(self, state, data)
+ return true
+end
+
+return m
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua
new file mode 100644
index 000000000..f1842731d
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua
@@ -0,0 +1,39 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local nxfs = require("nixio.fs")
+local util = require("luci.util")
+local uci_input = "/etc/config/dnscrypt-proxy"
+
+if not nxfs.access(uci_input) then
+ m = SimpleForm("error", nil, translate("Input file not found, please check your configuration."))
+ m.reset = false
+ m.submit = false
+ return m
+end
+
+m = SimpleForm("input", nil)
+m:append(Template("dnscrypt-proxy/config_css"))
+m.submit = translate("Save")
+m.reset = false
+
+s = m:section(SimpleSection, nil,
+ translate("This form allows you to modify the content of the main DNSCrypt-Proxy configuration file (/etc/config/dnscrypt-proxy)."))
+
+f = s:option(TextValue, "data")
+f.rows = 20
+f.rmempty = true
+
+function f.cfgvalue()
+ return nxfs.readfile(uci_input) or ""
+end
+
+function f.write(self, section, data)
+ return nxfs.writefile(uci_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n")
+end
+
+function s.handle(self, state, data)
+ return true
+end
+
+return m
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
new file mode 100644
index 000000000..7ab84ab7f
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
@@ -0,0 +1,177 @@
+-- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- This is free software, licensed under the Apache License, Version 2.0
+
+local fs = require("nixio.fs")
+local uci = require("luci.model.uci").cursor()
+local util = require("luci.util")
+local date = require("luci.http.protocol.date")
+local res_input = "/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv"
+local dump = util.ubus("network.interface", "dump", {})
+local plug_cnt = tonumber(luci.sys.exec("env -i /usr/sbin/dnscrypt-proxy --version | grep 'Support for plugins: present' | wc -l"))
+local res_list = {}
+local url = "https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv"
+
+if not fs.access("/lib/libustream-ssl.so") then
+ m = SimpleForm("error", nil, translate("SSL support not available, please install an libustream-ssl variant to use this package."))
+ m.submit = false
+ m.reset = false
+ return m
+end
+
+if not fs.access(res_input) then
+ luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+end
+
+if not uci:get_first("dnscrypt-proxy", "global") then
+ uci:add("dnscrypt-proxy", "global")
+ uci:save("dnscrypt-proxy")
+ uci:commit("dnscrypt-proxy")
+end
+
+for line in io.lines(res_input) do
+ local name = line:match("^[%w_.-]*")
+ res_list[#res_list + 1] = { name = name }
+end
+
+m = Map("dnscrypt-proxy", translate("DNSCrypt-Proxy"),
+ translate("Configuration of the DNSCrypt-Proxy package. ")
+ .. translate("Keep in mind to configure Dnsmasq as well. ")
+ .. translatef("For further information "
+ .. "<a href=\"%s\" target=\"_blank\">"
+ .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+
+function m.on_after_commit(self)
+ luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1")
+ luci.sys.call("env -i /etc/init.d/dnscrypt-proxy restart >/dev/null 2>&1")
+end
+
+s = m:section(TypedSection, "global", translate("General options"))
+s.anonymous = true
+
+-- Main dnscrypt-proxy resource list
+
+o1 = s:option(DummyValue, "", translate("Default Resolver List"))
+o1.template = "dnscrypt-proxy/res_options"
+o1.value = res_input
+
+o2 = s:option(DummyValue, "", translate("File Date"))
+o2.template = "dnscrypt-proxy/res_options"
+o2.value = date.to_http(nixio.fs.stat(res_input).mtime)
+
+o3 = s:option(DummyValue, "", translate("File Checksum"))
+o3.template = "dnscrypt-proxy/res_options"
+o3.value = luci.sys.exec("sha256sum " .. res_input .. " | awk '{print $1}'")
+
+btn = s:option(Button, "", translate("Refresh Resolver List"))
+btn.inputtitle = translate("Refresh List")
+btn.inputstyle = "apply"
+btn.disabled = false
+function btn.write(self, section, value)
+ luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1")
+ luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy"))
+end
+
+-- Trigger settings
+
+t = s:option(DynamicList, "procd_trigger", translate("Startup Trigger"),
+ translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of multiple network interfaces. ")
+ .. translate("To restrict the trigger, add only the relevant network interface(s). ")
+ .. translate("Usually the 'wan' interface should work for most users."))
+if dump then
+ local i, v
+ for i, v in ipairs(dump.interface) do
+ if v.interface ~= "loopback" then
+ t:value(v.interface)
+ end
+ end
+end
+t.rmempty = true
+
+-- Extra options
+
+ds = s:option(DummyValue, "_dummy", translate("Extra options"),
+ translate("Options for further tweaking in case the defaults are not suitable for you."))
+ds.template = "cbi/nullsection"
+
+btn = s:option(Button, "", translate("Create custom config file"),
+ translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances. ")
+ .. translatef("For further information "
+ .. "<a href=\"%s\" target=\"_blank\">"
+ .. "see the wiki online</a>", "https://wiki.openwrt.org/inbox/dnscrypt"))
+btn.inputtitle = translate("Create Config File")
+btn.inputstyle = "apply"
+btn.disabled = false
+function btn.write(self, section, value)
+ if not fs.access("/etc/resolv-crypt.conf") then
+ luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'")
+ end
+end
+
+-- Mandatory options per instance
+
+s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance options"))
+s.anonymous = true
+s.addremove = true
+
+o1 = s:option(Value, "address", translate("IP Address"),
+ translate("The local IPv4 or IPv6 address. The latter one should be specified within brackets, e.g. '[::1]'."))
+o1.default = address or "127.0.0.1"
+o1.rmempty = false
+
+o2 = s:option(Value, "port", translate("Port"),
+ translate("The listening port for DNS queries."))
+o2.datatype = "port"
+o2.default = port
+o2.rmempty = false
+
+o3 = s:option(ListValue, "resolver", translate("Resolver"),
+ translate("Name of the remote DNS service for resolving queries."))
+o3.datatype = "hostname"
+o3.widget = "select"
+local i, v
+for i, v in ipairs(res_list) do
+ if v.name ~= "Name" then
+ o3:value(v.name)
+ end
+end
+o3.default = resolver
+o3.rmempty = false
+
+-- Extra options per instance
+
+e1 = s:option(Value, "resolvers_list", translate("Alternate Resolver List"),
+ translate("Specify a non-default Resolver List."))
+e1.datatype = "file"
+e1.optional = true
+
+e2 = s:option(Value, "ephemeral_keys", translate("Ephemeral Keys"),
+ translate("Improve privacy by using an ephemeral public key for each query. ")
+ .. translate("This option requires extra CPU cycles and is useless with most DNSCrypt server."))
+e2.datatype = "bool"
+e2.value = 1
+e2.optional = true
+
+if plug_cnt > 0 then
+ e3 = s:option(DynamicList, "blacklist", translate("Blacklist"),
+ translate("Local blacklists allow you to block abuse sites by domains or ip addresses. ")
+ .. translate("The value for this property is the blocklist type and path to the file, e.g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'."))
+ e3.optional = true
+
+ e4 = s:option(Value, "block_ipv6", translate("Block IPv6"),
+ translate("Disable IPv6 to speed up DNSCrypt-Proxy."))
+ e4.datatype = "bool"
+ e4.value = 1
+ e4.optional = true
+
+ e5 = s:option(Value, "local_cache", translate("Local Cache"),
+ translate("Enable Caching to speed up DNSCcrypt-Proxy."))
+ e5.datatype = "bool"
+ e5.value = 1
+ e5.optional = true
+
+ e6 = s:option(Value, "query_log_file", translate("DNS Query Logfile"),
+ translate("Log the received DNS queries to a file, so you can watch in real-time what is happening on the network."))
+ e6.optional = true
+end
+
+return m
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/config_css.htm b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/config_css.htm
new file mode 100644
index 000000000..2233a15e3
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/config_css.htm
@@ -0,0 +1,13 @@
+<style type="text/css">
+ textarea
+ {
+ border: 1px solid #cccccc;
+ padding: 5px;
+ font-size: 12px;
+ font-family: monospace;
+ resize: none;
+ white-space: pre;
+ overflow-wrap: normal;
+ overflow-x: scroll;
+ }
+</style>
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm
new file mode 100644
index 000000000..5c5ac6f81
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm
@@ -0,0 +1,15 @@
+<%#
+Copyright 2017 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+ <fieldset class="cbi-section">
+ <div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related messages only.%></div>
+ <textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
+ </fieldset>
+</div>
+
+<%+footer%>
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/res_options.htm b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/res_options.htm
new file mode 100644
index 000000000..04dc37bc9
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/res_options.htm
@@ -0,0 +1,10 @@
+<%#
+Copyright 2017 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%+cbi/valueheader%>
+
+<input name="reslist" id="reslist" type="text" class="cbi-input-text" style="background:transparent;border:none;box-shadow:none;color:#0069d6;width:500px" value="<%=self:cfgvalue(section)%>" disabled="disabled" />
+
+<%+cbi/valuefooter%>
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm
new file mode 100644
index 000000000..76a230093
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm
@@ -0,0 +1,15 @@
+<%#
+Copyright 2017 Dirk Brenken (dev@brenken.org)
+This is free software, licensed under the Apache License, Version 2.0
+-%>
+
+<%+header%>
+
+<div class="cbi-map">
+ <fieldset class="cbi-section">
+ <div class="cbi-section-descr"><%:This form shows the content of the current DNSCrypt Resolver List.%></div>
+ <textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
+ </fieldset>
+</div>
+
+<%+footer%>
diff --git a/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
new file mode 100644
index 000000000..0328df227
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po
@@ -0,0 +1,232 @@
+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.3\n"
+"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: ja\n"
+
+msgid "Advanced"
+msgstr "詳細"
+
+msgid "Alternate Resolver List"
+msgstr "代替 リゾルバ リスト"
+
+msgid "Blacklist"
+msgstr "ブラックリスト"
+
+msgid "Block IPv6"
+msgstr "IPv6 のブロック"
+
+msgid ""
+"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
+"multiple network interfaces."
+msgstr ""
+"デフォルトでは、 DNSCrypt-Proxy は全ネットワーク インターフェースの ifup イベ"
+"ントによりトリガされ起動します。"
+
+msgid "Configuration of the DNSCrypt-Proxy package."
+msgstr "DNSCrypt-Proxy パッケージの設定です。"
+
+msgid ""
+"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
+"upstream timeouts with multiple DNSCrypt instances."
+msgstr ""
+"複数の DNSCrypt インスタンスで DNS アップストリーム タイムアウトの設定値を共"
+"用するため、 'options timeout:1' を含めた '/etc/resolv-crypt.conf' を作成しま"
+"す。"
+
+msgid "Create Config File"
+msgstr "設定ファイルの作成"
+
+msgid "Create custom config file"
+msgstr "カスタム設定ファイルの作成"
+
+msgid "DNS Query Logfile"
+msgstr "DNS クエリ ログファイル"
+
+msgid "DNSCrypt-Proxy"
+msgstr "DNSCrypt-Proxy"
+
+msgid "DNSCrypt-Proxy Logfile"
+msgstr "DNSCrypt-Proxy ログファイル"
+
+msgid "DNSCrypt-Proxy Resolver List"
+msgstr "DNSCrypt-Proxy リゾルバ リスト"
+
+msgid "Default Resolver List"
+msgstr "デフォルト リゾルバ リスト"
+
+msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
+msgstr "DNSCrypt-Proxy の高速化のため、IPv6 を無効化します。"
+
+msgid "Edit DNSCrypt-Proxy Configuration"
+msgstr "DNSCrypt-Proxy 設定の編集"
+
+msgid "Edit Dnsmasq Configuration"
+msgstr "Dnsmasq 設定の編集"
+
+msgid "Enable Caching to speed up DNSCcrypt-Proxy."
+msgstr "DNSCrypt-Proxy の高速化のため、キャッシュ機能を有効化します。"
+
+msgid "Ephemeral Keys"
+msgstr "一時的なキー"
+
+msgid "Extra options"
+msgstr "拡張オプション"
+
+msgid "File Checksum"
+msgstr "ファイル チェックサム"
+
+msgid "File Date"
+msgstr "ファイル日付"
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">see the wiki "
+"online</a>"
+msgstr ""
+"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン Wiki</a> を確認して"
+"ください。"
+
+msgid "General options"
+msgstr "全般設定"
+
+msgid "IP Address"
+msgstr "IP アドレス"
+
+msgid "Improve privacy by using an ephemeral public key for each query."
+msgstr ""
+"クエリ毎に一時的な公開鍵を使用することにより、プライバシーを向上します。"
+
+msgid "Input file not found, please check your configuration."
+msgstr "入力ファイルが見つかりません。設定を確認してください。"
+
+msgid "Instance options"
+msgstr "インスタンス オプション"
+
+msgid "Keep in mind to configure Dnsmasq as well."
+msgstr "Dnsmasq を適切に設定する必要があることに留意してください。"
+
+msgid "Local Cache"
+msgstr "ローカル キャッシュ"
+
+msgid ""
+"Local blacklists allow you to block abuse sites by domains or ip addresses."
+msgstr ""
+"ローカル ブラックリストは、不正なサイトをドメイン名または IP アドレスによって"
+"ブロックすることが可能です。"
+
+msgid ""
+"Log the received DNS queries to a file, so you can watch in real-time what "
+"is happening on the network."
+msgstr ""
+"受信した DNS クエリをファイルに記録します。これにより、ネットワークで何が起き"
+"ているかをリアルタイムに把握することが可能です。"
+
+msgid "Name of the remote DNS service for resolving queries."
+msgstr "クエリの名前解決を行う、リモートの DNS サービス名です。"
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr "デフォルト設定が適切でない場合、追加で設定するためのオプションです。"
+
+msgid "Overview"
+msgstr "概要"
+
+msgid "Port"
+msgstr "ポート"
+
+msgid "Refresh List"
+msgstr "リストのリフレッシュ"
+
+msgid "Refresh Resolver List"
+msgstr "リゾルバ リストのリフレッシュ"
+
+msgid "Resolver"
+msgstr "リゾルバ"
+
+msgid ""
+"SSL support not available, please install an libustream-ssl variant to use "
+"this package."
+msgstr ""
+"SSL サポートが利用できません。このパッケージを使用するには libustream-ssl 等"
+"をインストールし、 SSL サポートを有効にしてください。"
+
+msgid "Save"
+msgstr "保存"
+
+msgid "Specify a non-default Resolver List."
+msgstr "デフォルトとは異なるリゾルバ リストを設定します。"
+
+msgid "Startup Trigger"
+msgstr "スタートアップ トリガ"
+
+msgid "The listening port for DNS queries."
+msgstr "DNS クエリを待ち受けるポートです。"
+
+msgid ""
+"The local IPv4 or IPv6 address. The latter one should be specified within "
+"brackets, e.g. '[::1]'."
+msgstr ""
+"ローカルの IPv4 または IPv6 アドレスです。 IPv6 アドレスの場合、ブラケット "
+"\"[ ]\" を含めて記述される必要があります(例: '[::1]')。"
+
+msgid ""
+"The value for this property is the blocklist type and path to the file, e."
+"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'."
+msgstr ""
+"このプロパティの値は、ブロックリストのタイプ及びファイルへのパスの組み合わせ"
+"です。(例: 'domains:/path/to/domainlist.txt' または 'ips:/path/to/iplist."
+"txt')"
+
+msgid ""
+"This form allows you to modify the content of the main DNSCrypt-Proxy "
+"configuration file (/etc/config/dnscrypt-proxy)."
+msgstr ""
+"このフォームでは、メインの DNSCrypt-Proxy 設定ファイル (/etc/config/dnscrypt-"
+"proxy) の内容を変更することができます。"
+
+msgid ""
+"This form allows you to modify the content of the main Dnsmasq configuration "
+"file (/etc/config/dhcp)."
+msgstr ""
+"このフォームでは、メインの Dnsmasq 設定ファイル (/etc/config/dhcp) の内容を変"
+"更することができます。"
+
+msgid "This form shows the content of the current DNSCrypt Resolver List."
+msgstr ""
+"このフォームには、現在の DNSCrypt リゾルバ リストの内容が表示されます。"
+
+msgid ""
+"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related "
+"messages only."
+msgstr ""
+"このフォームには、システムログ内の DNSCrypt-Proxy に関連するメッセージのみが"
+"表示されます。"
+
+msgid ""
+"This option requires extra CPU cycles and is useless with most DNSCrypt "
+"server."
+msgstr ""
+"このオプションは、通常よりも CPU リソースを多く使用するほか、ほとんどの "
+"DNSCrypt サーバーでは不要なものです。"
+
+msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgstr ""
+"トリガを限定するには、適切なネットワーク インターフェースのみを追加してくださ"
+"い。"
+
+msgid "Usually the 'wan' interface should work for most users."
+msgstr "通常、 'wan' インターフェースがほとんどのユーザーに適しています。"
+
+msgid "View Logfile"
+msgstr "ログファイルの確認"
+
+msgid "View Resolver List"
+msgstr "リゾルバ リストの確認"
diff --git a/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot b/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
new file mode 100644
index 000000000..ea83e7a18
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot
@@ -0,0 +1,191 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "Advanced"
+msgstr ""
+
+msgid "Alternate Resolver List"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Block IPv6"
+msgstr ""
+
+msgid ""
+"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
+"multiple network interfaces."
+msgstr ""
+
+msgid "Configuration of the DNSCrypt-Proxy package."
+msgstr ""
+
+msgid ""
+"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
+"upstream timeouts with multiple DNSCrypt instances."
+msgstr ""
+
+msgid "Create Config File"
+msgstr ""
+
+msgid "Create custom config file"
+msgstr ""
+
+msgid "DNS Query Logfile"
+msgstr ""
+
+msgid "DNSCrypt-Proxy"
+msgstr ""
+
+msgid "DNSCrypt-Proxy Logfile"
+msgstr ""
+
+msgid "DNSCrypt-Proxy Resolver List"
+msgstr ""
+
+msgid "Default Resolver List"
+msgstr ""
+
+msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
+msgstr ""
+
+msgid "Edit DNSCrypt-Proxy Configuration"
+msgstr ""
+
+msgid "Edit Dnsmasq Configuration"
+msgstr ""
+
+msgid "Enable Caching to speed up DNSCcrypt-Proxy."
+msgstr ""
+
+msgid "Ephemeral Keys"
+msgstr ""
+
+msgid "Extra options"
+msgstr ""
+
+msgid "File Checksum"
+msgstr ""
+
+msgid "File Date"
+msgstr ""
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">see the wiki "
+"online</a>"
+msgstr ""
+
+msgid "General options"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid "Improve privacy by using an ephemeral public key for each query."
+msgstr ""
+
+msgid "Input file not found, please check your configuration."
+msgstr ""
+
+msgid "Instance options"
+msgstr ""
+
+msgid "Keep in mind to configure Dnsmasq as well."
+msgstr ""
+
+msgid "Local Cache"
+msgstr ""
+
+msgid ""
+"Local blacklists allow you to block abuse sites by domains or ip addresses."
+msgstr ""
+
+msgid ""
+"Log the received DNS queries to a file, so you can watch in real-time what "
+"is happening on the network."
+msgstr ""
+
+msgid "Name of the remote DNS service for resolving queries."
+msgstr ""
+
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+
+msgid "Overview"
+msgstr ""
+
+msgid "Port"
+msgstr ""
+
+msgid "Refresh List"
+msgstr ""
+
+msgid "Refresh Resolver List"
+msgstr ""
+
+msgid "Resolver"
+msgstr ""
+
+msgid ""
+"SSL support not available, please install an libustream-ssl variant to use "
+"this package."
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Specify a non-default Resolver List."
+msgstr ""
+
+msgid "Startup Trigger"
+msgstr ""
+
+msgid "The listening port for DNS queries."
+msgstr ""
+
+msgid ""
+"The local IPv4 or IPv6 address. The latter one should be specified within "
+"brackets, e.g. '[::1]'."
+msgstr ""
+
+msgid ""
+"The value for this property is the blocklist type and path to the file, e."
+"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'."
+msgstr ""
+
+msgid ""
+"This form allows you to modify the content of the main DNSCrypt-Proxy "
+"configuration file (/etc/config/dnscrypt-proxy)."
+msgstr ""
+
+msgid ""
+"This form allows you to modify the content of the main Dnsmasq configuration "
+"file (/etc/config/dhcp)."
+msgstr ""
+
+msgid "This form shows the content of the current DNSCrypt Resolver List."
+msgstr ""
+
+msgid ""
+"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related "
+"messages only."
+msgstr ""
+
+msgid ""
+"This option requires extra CPU cycles and is useless with most DNSCrypt "
+"server."
+msgstr ""
+
+msgid "To restrict the trigger, add only the relevant network interface(s)."
+msgstr ""
+
+msgid "Usually the 'wan' interface should work for most users."
+msgstr ""
+
+msgid "View Logfile"
+msgstr ""
+
+msgid "View Resolver List"
+msgstr ""
diff --git a/applications/luci-app-dnscrypt-proxy/root/etc/uci-defaults/60_luci-dnscrypt-proxy b/applications/luci-app-dnscrypt-proxy/root/etc/uci-defaults/60_luci-dnscrypt-proxy
new file mode 100755
index 000000000..ec4da17c9
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/root/etc/uci-defaults/60_luci-dnscrypt-proxy
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+uci -q batch <<-EOF >/dev/null
+ delete ucitrack.@dnscrypt-proxy[-1]
+ add ucitrack dnscrypt-proxy
+ set ucitrack.@dnscrypt-proxy[-1].init=dnscrypt-proxy
+ commit ucitrack
+EOF
+
+rm -f /tmp/luci-indexcache
+exit 0
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua
index 0e7b8b11d..1b9708021 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua
@@ -1,55 +1,40 @@
-- ------ hotplug script configuration ------ --
fs = require "nixio.fs"
-sys = require "luci.sys"
ut = require "luci.util"
-script = "/etc/hotplug.d/iface/16-mwancustom"
-scriptBackup = "/etc/hotplug.d/iface/16-mwancustombak"
-
-if luci.http.formvalue("cbid.luci.1._restorebak") then -- restore button has been clicked
- luci.http.redirect(luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript") .. "?restore=yes")
-elseif luci.http.formvalue("restore") == "yes" then -- restore script from backup
- os.execute("cp -f " .. scriptBackup .. " " .. script)
-end
-
+script = "/etc/mwan3.user"
m5 = SimpleForm("luci", nil)
m5:append(Template("mwan/advanced_hotplugscript")) -- highlight current tab
f = m5:section(SimpleSection, nil,
- translate("This section allows you to modify the contents of /etc/hotplug.d/iface/16-mwancustom<br />" ..
- "This is useful for running system commands and/or scripts based on interface ifup or ifdown hotplug events<br /><br />" ..
+ translate("This section allows you to modify the content of \"/etc/mwan3.user\".<br />" ..
+ "The file is also preserved during sysupgrade.<br />" ..
+ "<br />" ..
"Notes:<br />" ..
- "The first line of the script must be &#34;#!/bin/sh&#34; without quotes<br />" ..
- "Lines beginning with # are comments and are not executed<br /><br />" ..
- "Available variables:<br />" ..
- "$ACTION is the hotplug event (ifup, ifdown)<br />" ..
- "$INTERFACE is the interface name (wan1, wan2, etc.)<br />" ..
- "$DEVICE is the device name attached to the interface (eth0.1, eth1, etc.)"))
-
-
-restore = f:option(Button, "_restorebak", translate("Restore default hotplug script"))
- restore.inputtitle = translate("Restore...")
- restore.inputstyle = "apply"
+ "This file is interpreted as a shell script.<br />" ..
+ "The first line of the script must be &#34;#!/bin/sh&#34; without quotes.<br />" ..
+ "Lines beginning with # are comments and are not executed.<br />" ..
+ "Put your custom mwan3 action here, they will<br />" ..
+ "be executed with each netifd hotplug interface event<br />" ..
+ "on interfaces for which mwan3 is enabled.<br />" ..
+ "<br />" ..
+ "There are three main environment variables that are passed to this script.<br />" ..
+ "<br />" ..
+ "$ACTION Either \"ifup\" or \"ifdown\"<br />" ..
+ "$INTERFACE Name of the interface which went up or down (e.g. \"wan\" or \"wwan\")<br />" ..
+ "$DEVICE Physical device name which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br />" ..
+ "<br />"))
t = f:option(TextValue, "lines")
t.rmempty = true
t.rows = 20
-
function t.cfgvalue()
- local hps = fs.readfile(script)
- if not hps or hps == "" then -- if script does not exist or is blank restore from backup
- sys.call("cp -f " .. scriptBackup .. " " .. script)
- return fs.readfile(script)
- else
- return hps
- end
+ return fs.readfile(script)
end
-
function t.write(self, section, data) -- format and write new data to script
return fs.writefile(script, ut.trim(data:gsub("\r\n", "\n")) .. "\n")
end
-
return m5
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua
index 54d20bdcb..919ed46cd 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/globalsconfig.lua
@@ -29,4 +29,12 @@ for _, net in ipairs(net:get_networks()) do
end
n.rmempty = false
+mask = s:option(
+ Value,
+ "mmx_mask",
+ translate("Firewall mask"),
+ translate("Enter value in hex, starting with <code>0x</code>"))
+mask.datatype = "hex(4)"
+mask.default = "0xff00"
+
return m
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
index aeabc6361..c8c122ad4 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interface.lua
@@ -147,6 +147,16 @@ track_ip = mwan_interface:option(DummyValue, "track_ip", translate("Tracking IP"
end
end
+track_method = mwan_interface:option(DummyValue, "track_method", translate("Tracking method"))
+ track_method.rawhtml = true
+ function track_method.cfgvalue(self, s)
+ if tracked then
+ return self.map:get(s, "track_method") or "&#8212;"
+ else
+ return "&#8212;"
+ end
+ end
+
reliability = mwan_interface:option(DummyValue, "reliability", translate("Tracking reliability"))
reliability.rawhtml = true
function reliability.cfgvalue(self, s)
diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua
index ab44ba697..0318091d6 100644
--- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua
+++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/interfaceconfig.lua
@@ -117,6 +117,12 @@ track_ip = mwan_interface:option(DynamicList, "track_ip", translate("Tracking ho
translate("This hostname or IP address will be pinged to determine if the link is up or down. Leave blank to assume interface is always online"))
track_ip.datatype = "host"
+track_method = mwan_interface:option(ListValue, "track_method", translate("Tracking method"))
+ track_method.default = "ping"
+ track_method:value("ping")
+ track_method:value("arping")
+ track_method:value("httping")
+
reliability = mwan_interface:option(Value, "reliability", translate("Tracking reliability"),
translate("Acceptable values: 1-100. This many Tracking IP addresses must respond for the link to be deemed up"))
reliability.datatype = "range(1, 100)"
diff --git a/applications/luci-app-mwan3/po/ja/mwan3.po b/applications/luci-app-mwan3/po/ja/mwan3.po
index 89fa5ea02..72c5dddab 100644
--- a/applications/luci-app-mwan3/po/ja/mwan3.po
+++ b/applications/luci-app-mwan3/po/ja/mwan3.po
@@ -88,6 +88,9 @@ msgstr ""
msgid "Enabled"
msgstr "有効"
+msgid "Enter value in hex, starting with <code>0x</code>"
+msgstr "<code>0x</code> で始まる16進数の値を入力してください。"
+
msgid "Error collecting troubleshooting information"
msgstr "トラブルシューティング情報の収集エラー"
@@ -95,11 +98,14 @@ msgid "Errors"
msgstr "エラー"
msgid "Expect interface state on up event"
-msgstr ""
+msgstr "Up イベント時に予想されるインターフェースの状態です。"
msgid "Failure interval"
msgstr "障害検出 インターバル"
+msgid "Firewall mask"
+msgstr "ファイアウォール マスク"
+
msgid "Flush conntrack table"
msgstr ""
@@ -107,10 +113,10 @@ msgid "Flush global firewall conntrack table on interface events"
msgstr ""
msgid "Globals"
-msgstr ""
+msgstr "全般"
msgid "Globals mwan3 options"
-msgstr ""
+msgstr "MWAN3 全般オプション"
msgid "Hotplug Script"
msgstr "ホットプラグ スクリプト"
@@ -131,7 +137,7 @@ msgid "IPv6"
msgstr "IPv6"
msgid "Initial state"
-msgstr ""
+msgstr "初期状態"
msgid "Interface"
msgstr "インターフェース"
@@ -299,7 +305,7 @@ msgid "Offline"
msgstr "オフライン"
msgid "Online"
-msgstr ""
+msgstr "オンライン"
msgid "Online (tracking active)"
msgstr "オンライン(追跡実行中)"
@@ -320,7 +326,7 @@ msgid "Ping interval"
msgstr "Ping インターバル"
msgid "Ping interval during failure detection"
-msgstr "障害検出動作中の Ping 実行間隔です。"
+msgstr "障害検出中の Ping 実行間隔です。"
msgid "Ping interval during failure recovering"
msgstr "障害復旧中の Ping 実行間隔です。"
@@ -370,12 +376,6 @@ msgstr "障害復旧 インターバル"
msgid "Restart MWAN"
msgstr "MWAN の再起動"
-msgid "Restore default hotplug script"
-msgstr "デフォルトのホットプラグ スクリプトの復元"
-
-msgid "Restore..."
-msgstr "復元..."
-
msgid "Rule"
msgstr "ルール"
@@ -443,6 +443,31 @@ msgstr ""
"に対して Ping の送信が行われます。常にオンラインとする場合、空欄のままにしま"
"す。"
+msgid ""
+"This section allows you to modify the content of \"/etc/mwan3.user\".<br /"
+">The file is also preserved during sysupgrade.<br /><br />Notes:<br />This "
+"file is interpreted as a shell script.<br />The first line of the script "
+"must be &#34;#!/bin/sh&#34; without quotes.<br />Lines beginning with # are "
+"comments and are not executed.<br />Put your custom mwan3 action here, they "
+"will<br />be executed with each netifd hotplug interface event<br />on "
+"interfaces for which mwan3 is enabled.<br /><br />There are three main "
+"environment variables that are passed to this script.<br /><br />$ACTION "
+"Either \"ifup\" or \"ifdown\"<br />$INTERFACE Name of the interface which "
+"went up or down (e.g. \"wan\" or \"wwan\")<br />$DEVICE Physical device name "
+"which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br /><br />"
+msgstr ""
+"このセクションでは、 \"/etc/mwan3.user\" の内容を変更することができます。"
+"<br />このファイルは、 sysupgrade 時に保持されます。<br /><br />注意: <br />"
+"このファイルは、シェルスクリプトとして解釈されます。<br />スクリプトの1行目"
+"は、&#34;#!bin/sh&#34; である必要があります(クォーテーション不要)。<br /># "
+"で始まる行はコメントであり、実行されません。<br />mwan3 のカスタム動作をここ"
+"に入力してください。これらは、 mwan3 が有効なインターフェースの<br />netifd "
+"ホットプラグ インターフェース イベント毎に実行されます。<br /><br />主に3つの"
+"環境変数が利用可能です。<br /><br />$ACTION - \"ifup\" および \"ifdown\"<br /"
+">$INTERFACE - Up または Down が行われたインターフェース名(例: \"wan\" や "
+"\"wwan\")<br />$DEVICE - Up または Down が行われた物理デバイス名(例: "
+"\"eth0\" や \"wwan0\")<br /><br />"
+
msgid "This section allows you to modify the contents of /etc/config/mwan3"
msgstr ""
"このセクションでは、 /etc/config/mwan3 の内容を変更することができます。"
@@ -455,32 +480,15 @@ msgid "This section allows you to modify the contents of /etc/config/wireless"
msgstr ""
"このセクションでは、 /etc/config/wireless の内容を変更することができます。"
-msgid ""
-"This section allows you to modify the contents of /etc/hotplug.d/iface/16-"
-"mwancustom<br />This is useful for running system commands and/or scripts "
-"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The "
-"first line of the script must be &#34;#!/bin/sh&#34; without quotes<br /"
-">Lines beginning with # are comments and are not executed<br /><br /"
-">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />"
-"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the "
-"device name attached to the interface (eth0.1, eth1, etc.)"
-msgstr ""
-"このセクションでは、 /etc/hotplug.d/iface/16-mwancustom の内容を変更すること"
-"ができます。<br />これは、インターフェースの ifup または ifdown ホットプラグ "
-"イベント時にシステムコマンドまたはスクリプト、もしくはその両方を実行すること"
-"に役立ちます。<br /><br />注意:<br />スクリプトの1行目は、&#34;#!bin/sh&#34; "
-"である必要があります(クオーテーション不要)。<br /># で始まる行はコメントと"
-"して認識され、実行されません。<br /><br />利用可能な変数:<br />$ACTION - ホッ"
-"トプラグ イベント (ifup, ifdown)<br />$INTERFACE - インターフェース名(wan1, "
-"wan2, その他)<br />$DEVICE - インターフェースにアタッチされたデバイスの名前"
-"(eth0.1, eth1, その他)"
-
msgid "Tracking IP"
msgstr "追跡 IP"
msgid "Tracking hostname or IP address"
msgstr "追跡ホスト名または IP アドレス"
+msgid "Tracking method"
+msgstr "追跡方式"
+
msgid "Tracking reliability"
msgstr "追跡の信頼性"
@@ -505,6 +513,8 @@ msgid ""
"Use the IP address of this interface as source IP address for traffic "
"initiated by the router itself"
msgstr ""
+"ルーター自身によって発生するトラフィックのアクセス元 IP アドレスとして、この"
+"インターフェースの IP アドレスが使用されます。"
msgid "View the contents of /etc/protocols for protocol descriptions"
msgstr "プロトコルの説明については、 /etc/protocols の内容を確認してください。"
@@ -653,10 +663,3 @@ msgstr "停止"
msgid "unreachable (reject)"
msgstr "unreachable (reject)"
-
-#~ msgid ""
-#~ "This IP address will be pinged to dermine if the link is up or down. "
-#~ "Leave blank to assume interface is always online"
-#~ msgstr ""
-#~ "これらは、リンクの Up または Down を判定するために Ping が送信されるIP ア"
-#~ "ドレスです。常にオンラインとする場合、空欄のままにします。"
diff --git a/applications/luci-app-mwan3/po/templates/mwan3.pot b/applications/luci-app-mwan3/po/templates/mwan3.pot
index 869429872..e63d8adc2 100644
--- a/applications/luci-app-mwan3/po/templates/mwan3.pot
+++ b/applications/luci-app-mwan3/po/templates/mwan3.pot
@@ -73,6 +73,9 @@ msgstr ""
msgid "Enabled"
msgstr ""
+msgid "Enter value in hex, starting with <code>0x</code>"
+msgstr ""
+
msgid "Error collecting troubleshooting information"
msgstr ""
@@ -85,6 +88,9 @@ msgstr ""
msgid "Failure interval"
msgstr ""
+msgid "Firewall mask"
+msgstr ""
+
msgid "Flush conntrack table"
msgstr ""
@@ -330,12 +336,6 @@ msgstr ""
msgid "Restart MWAN"
msgstr ""
-msgid "Restore default hotplug script"
-msgstr ""
-
-msgid "Restore..."
-msgstr ""
-
msgid "Rule"
msgstr ""
@@ -389,6 +389,20 @@ msgid ""
"down. Leave blank to assume interface is always online"
msgstr ""
+msgid ""
+"This section allows you to modify the content of \"/etc/mwan3.user\".<br /"
+">The file is also preserved during sysupgrade.<br /><br />Notes:<br />This "
+"file is interpreted as a shell script.<br />The first line of the script "
+"must be &#34;#!/bin/sh&#34; without quotes.<br />Lines beginning with # are "
+"comments and are not executed.<br />Put your custom mwan3 action here, they "
+"will<br />be executed with each netifd hotplug interface event<br />on "
+"interfaces for which mwan3 is enabled.<br /><br />There are three main "
+"environment variables that are passed to this script.<br /><br />$ACTION "
+"Either \"ifup\" or \"ifdown\"<br />$INTERFACE Name of the interface which "
+"went up or down (e.g. \"wan\" or \"wwan\")<br />$DEVICE Physical device name "
+"which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br /><br />"
+msgstr ""
+
msgid "This section allows you to modify the contents of /etc/config/mwan3"
msgstr ""
@@ -398,23 +412,15 @@ msgstr ""
msgid "This section allows you to modify the contents of /etc/config/wireless"
msgstr ""
-msgid ""
-"This section allows you to modify the contents of /etc/hotplug.d/iface/16-"
-"mwancustom<br />This is useful for running system commands and/or scripts "
-"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The "
-"first line of the script must be &#34;#!/bin/sh&#34; without quotes<br /"
-">Lines beginning with # are comments and are not executed<br /><br /"
-">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />"
-"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the "
-"device name attached to the interface (eth0.1, eth1, etc.)"
-msgstr ""
-
msgid "Tracking IP"
msgstr ""
msgid "Tracking hostname or IP address"
msgstr ""
+msgid "Tracking method"
+msgstr ""
+
msgid "Tracking reliability"
msgstr ""
diff --git a/applications/luci-app-mwan3/po/zh-cn/mwan3.po b/applications/luci-app-mwan3/po/zh-cn/mwan3.po
index 3c505d847..b133e8b1d 100644
--- a/applications/luci-app-mwan3/po/zh-cn/mwan3.po
+++ b/applications/luci-app-mwan3/po/zh-cn/mwan3.po
@@ -76,6 +76,9 @@ msgstr "当 Ping 成功次数达到这个数值后,已经被认为离线的接
msgid "Enabled"
msgstr "启用"
+msgid "Enter value in hex, starting with <code>0x</code>"
+msgstr ""
+
msgid "Error collecting troubleshooting information"
msgstr "收集故障排除信息时出错"
@@ -88,6 +91,9 @@ msgstr ""
msgid "Failure interval"
msgstr "故障检测间隔"
+msgid "Firewall mask"
+msgstr ""
+
msgid "Flush conntrack table"
msgstr "刷新连接跟踪表"
@@ -350,12 +356,6 @@ msgstr "故障恢复间隔"
msgid "Restart MWAN"
msgstr "重启 MWAN"
-msgid "Restore default hotplug script"
-msgstr "恢复默认的 hotplug 脚本"
-
-msgid "Restore..."
-msgstr "恢复..."
-
msgid "Rule"
msgstr "规则"
@@ -416,6 +416,20 @@ msgid ""
"down. Leave blank to assume interface is always online"
msgstr "通过 ping 此主机或 IP 地址来确定链路是否在线。留空则认为接口始终在线"
+msgid ""
+"This section allows you to modify the content of \"/etc/mwan3.user\".<br /"
+">The file is also preserved during sysupgrade.<br /><br />Notes:<br />This "
+"file is interpreted as a shell script.<br />The first line of the script "
+"must be &#34;#!/bin/sh&#34; without quotes.<br />Lines beginning with # are "
+"comments and are not executed.<br />Put your custom mwan3 action here, they "
+"will<br />be executed with each netifd hotplug interface event<br />on "
+"interfaces for which mwan3 is enabled.<br /><br />There are three main "
+"environment variables that are passed to this script.<br /><br />$ACTION "
+"Either \"ifup\" or \"ifdown\"<br />$INTERFACE Name of the interface which "
+"went up or down (e.g. \"wan\" or \"wwan\")<br />$DEVICE Physical device name "
+"which interface went up or down (e.g. \"eth0\" or \"wwan0\")<br /><br />"
+msgstr ""
+
msgid "This section allows you to modify the contents of /etc/config/mwan3"
msgstr "这里允许你修改 /etc/config/mwan3 的内容"
@@ -425,29 +439,15 @@ msgstr "这里允许你修改 /etc/config/network 的内容"
msgid "This section allows you to modify the contents of /etc/config/wireless"
msgstr "这里允许你修改 /etc/config/wireless 的内容"
-msgid ""
-"This section allows you to modify the contents of /etc/hotplug.d/iface/16-"
-"mwancustom<br />This is useful for running system commands and/or scripts "
-"based on interface ifup or ifdown hotplug events<br /><br />Notes:<br />The "
-"first line of the script must be &#34;#!/bin/sh&#34; without quotes<br /"
-">Lines beginning with # are comments and are not executed<br /><br /"
-">Available variables:<br />$ACTION is the hotplug event (ifup, ifdown)<br />"
-"$INTERFACE is the interface name (wan1, wan2, etc.)<br />$DEVICE is the "
-"device name attached to the interface (eth0.1, eth1, etc.)"
-msgstr ""
-"这里允许你修改 /etc/hotplug.d/iface/16-mwancustom 的内容<br />这可以在接口 "
-"ifup 或 ifdown Hotplug 事件时运行系统命令或脚本<br /><br />注意:<br />脚本的"
-"第一行必须是 &#34;#!/bin/sh&#34; 不含引号<br />以#开头的行是注释,不会执行"
-"<br /><br />可用变量:<br />$ACTION 是 Hotplug 事件(ifup, ifdown)<br />"
-"$INTERFACE 是接口名称(wan1、wan2 等)<br />$DEVICE 是连接到接口的设备名称 "
-"(eth0.1、eth1 等)"
-
msgid "Tracking IP"
msgstr "追踪的 IP"
msgid "Tracking hostname or IP address"
msgstr "追踪的主机或 IP 地址"
+msgid "Tracking method"
+msgstr ""
+
msgid "Tracking reliability"
msgstr "追踪可靠性"
@@ -590,3 +590,26 @@ msgstr ""
msgid "unreachable (reject)"
msgstr "不可达(拒绝)"
+
+#~ msgid "Restore default hotplug script"
+#~ msgstr "恢复默认的 hotplug 脚本"
+
+#~ msgid "Restore..."
+#~ msgstr "恢复..."
+
+#~ msgid ""
+#~ "This section allows you to modify the contents of /etc/hotplug.d/iface/16-"
+#~ "mwancustom<br />This is useful for running system commands and/or scripts "
+#~ "based on interface ifup or ifdown hotplug events<br /><br />Notes:<br /"
+#~ ">The first line of the script must be &#34;#!/bin/sh&#34; without "
+#~ "quotes<br />Lines beginning with # are comments and are not executed<br /"
+#~ "><br />Available variables:<br />$ACTION is the hotplug event (ifup, "
+#~ "ifdown)<br />$INTERFACE is the interface name (wan1, wan2, etc.)<br />"
+#~ "$DEVICE is the device name attached to the interface (eth0.1, eth1, etc.)"
+#~ msgstr ""
+#~ "这里允许你修改 /etc/hotplug.d/iface/16-mwancustom 的内容<br />这可以在接"
+#~ "口 ifup 或 ifdown Hotplug 事件时运行系统命令或脚本<br /><br />注意:<br />"
+#~ "脚本的第一行必须是 &#34;#!/bin/sh&#34; 不含引号<br />以#开头的行是注释,"
+#~ "不会执行<br /><br />可用变量:<br />$ACTION 是 Hotplug 事件(ifup, ifdown)"
+#~ "<br />$INTERFACE 是接口名称(wan1、wan2 等)<br />$DEVICE 是连接到接口的设"
+#~ "备名称 (eth0.1、eth1 等)"
diff --git a/applications/luci-app-samba/po/ca/samba.po b/applications/luci-app-samba/po/ca/samba.po
index fadcbdfdb..eb6be15cd 100644
--- a/applications/luci-app-samba/po/ca/samba.po
+++ b/applications/luci-app-samba/po/ca/samba.po
@@ -65,6 +65,11 @@ msgstr "Comparticions de xarxa"
msgid "Path"
msgstr "Ruta"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Només lectura"
diff --git a/applications/luci-app-samba/po/cs/samba.po b/applications/luci-app-samba/po/cs/samba.po
index 4a00124fb..d66d87674 100644
--- a/applications/luci-app-samba/po/cs/samba.po
+++ b/applications/luci-app-samba/po/cs/samba.po
@@ -63,6 +63,11 @@ msgstr "Síťová sdílení"
msgid "Path"
msgstr "Cesta"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Pouze pro čtení"
diff --git a/applications/luci-app-samba/po/de/samba.po b/applications/luci-app-samba/po/de/samba.po
index 1bcac0c9b..4e8da53b5 100644
--- a/applications/luci-app-samba/po/de/samba.po
+++ b/applications/luci-app-samba/po/de/samba.po
@@ -65,6 +65,11 @@ msgstr "Netzwerkfreigaben"
msgid "Path"
msgstr "Pfad"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Nur Lesen"
diff --git a/applications/luci-app-samba/po/el/samba.po b/applications/luci-app-samba/po/el/samba.po
index 9a15ad1e0..878416a63 100644
--- a/applications/luci-app-samba/po/el/samba.po
+++ b/applications/luci-app-samba/po/el/samba.po
@@ -61,6 +61,11 @@ msgstr ""
msgid "Path"
msgstr ""
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr ""
diff --git a/applications/luci-app-samba/po/en/samba.po b/applications/luci-app-samba/po/en/samba.po
index 94cfdb516..642580e9d 100644
--- a/applications/luci-app-samba/po/en/samba.po
+++ b/applications/luci-app-samba/po/en/samba.po
@@ -61,6 +61,11 @@ msgstr "Network Shares"
msgid "Path"
msgstr "Path"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Read-only"
diff --git a/applications/luci-app-samba/po/es/samba.po b/applications/luci-app-samba/po/es/samba.po
index c14ebd2c3..57c4b862d 100644
--- a/applications/luci-app-samba/po/es/samba.po
+++ b/applications/luci-app-samba/po/es/samba.po
@@ -63,6 +63,11 @@ msgstr "Comparticiones de red"
msgid "Path"
msgstr "Dirección"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Solo lectura"
diff --git a/applications/luci-app-samba/po/fr/samba.po b/applications/luci-app-samba/po/fr/samba.po
index ff040b50d..63960fca1 100644
--- a/applications/luci-app-samba/po/fr/samba.po
+++ b/applications/luci-app-samba/po/fr/samba.po
@@ -63,6 +63,11 @@ msgstr "Partages réseau"
msgid "Path"
msgstr "Chemin"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Lecture seule"
diff --git a/applications/luci-app-samba/po/he/samba.po b/applications/luci-app-samba/po/he/samba.po
index 620f56cf8..010d2b248 100644
--- a/applications/luci-app-samba/po/he/samba.po
+++ b/applications/luci-app-samba/po/he/samba.po
@@ -56,6 +56,11 @@ msgstr ""
msgid "Path"
msgstr ""
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr ""
diff --git a/applications/luci-app-samba/po/hu/samba.po b/applications/luci-app-samba/po/hu/samba.po
index 38a9a0843..0263edb6c 100644
--- a/applications/luci-app-samba/po/hu/samba.po
+++ b/applications/luci-app-samba/po/hu/samba.po
@@ -63,6 +63,11 @@ msgstr "Hálózati megosztások"
msgid "Path"
msgstr "Elérési út"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Csak olvasható"
diff --git a/applications/luci-app-samba/po/it/samba.po b/applications/luci-app-samba/po/it/samba.po
index a2bb9b673..8e5b062a0 100644
--- a/applications/luci-app-samba/po/it/samba.po
+++ b/applications/luci-app-samba/po/it/samba.po
@@ -64,6 +64,11 @@ msgstr "Condivisioni di rete"
msgid "Path"
msgstr "Percorso"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Solo lettura"
diff --git a/applications/luci-app-samba/po/ja/samba.po b/applications/luci-app-samba/po/ja/samba.po
index 9f338defb..eca10efcc 100644
--- a/applications/luci-app-samba/po/ja/samba.po
+++ b/applications/luci-app-samba/po/ja/samba.po
@@ -1,17 +1,17 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2011-11-03 18:09+0200\n"
-"Last-Translator: Kentaro <kentaro.matsuyama@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2017-08-16 00:41+0900\n"
+"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Pootle 2.0.4\n"
+"X-Generator: Poedit 2.0.3\n"
+"Language-Team: \n"
msgid "Allow guests"
msgstr "ゲストアクセスを許可"
@@ -61,6 +61,13 @@ msgstr "ネットワーク共有"
msgid "Path"
msgstr "パス"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+"共有するディレクトリを追加してください。マウントされたデバイス等のディレクト"
+"リを設定し、公開することができます。"
+
msgid "Read-only"
msgstr "読み込みのみ"
diff --git a/applications/luci-app-samba/po/ms/samba.po b/applications/luci-app-samba/po/ms/samba.po
index de4ed7c36..d5f1ce15e 100644
--- a/applications/luci-app-samba/po/ms/samba.po
+++ b/applications/luci-app-samba/po/ms/samba.po
@@ -55,6 +55,11 @@ msgstr ""
msgid "Path"
msgstr ""
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr ""
diff --git a/applications/luci-app-samba/po/no/samba.po b/applications/luci-app-samba/po/no/samba.po
index 7059d7748..349f6b9de 100644
--- a/applications/luci-app-samba/po/no/samba.po
+++ b/applications/luci-app-samba/po/no/samba.po
@@ -52,6 +52,11 @@ msgstr "Nettverks Mapper"
msgid "Path"
msgstr "Fysisk bane"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Skrivebeskyttet"
diff --git a/applications/luci-app-samba/po/pl/samba.po b/applications/luci-app-samba/po/pl/samba.po
index bf54e78c3..d997268cd 100644
--- a/applications/luci-app-samba/po/pl/samba.po
+++ b/applications/luci-app-samba/po/pl/samba.po
@@ -62,6 +62,11 @@ msgstr "Udziały sieciowe"
msgid "Path"
msgstr "Ścieżka"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Tylko do odczytu"
diff --git a/applications/luci-app-samba/po/pt-br/samba.po b/applications/luci-app-samba/po/pt-br/samba.po
index 43ea3b9b9..a2e6e220c 100644
--- a/applications/luci-app-samba/po/pt-br/samba.po
+++ b/applications/luci-app-samba/po/pt-br/samba.po
@@ -63,6 +63,11 @@ msgstr "Compartilhamentos de Rede"
msgid "Path"
msgstr "Caminho"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Somente leitura"
diff --git a/applications/luci-app-samba/po/pt/samba.po b/applications/luci-app-samba/po/pt/samba.po
index 6d4f00386..f58b58818 100644
--- a/applications/luci-app-samba/po/pt/samba.po
+++ b/applications/luci-app-samba/po/pt/samba.po
@@ -63,6 +63,11 @@ msgstr "Partilhas da Rede"
msgid "Path"
msgstr "Caminho"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Apenas Leitura"
diff --git a/applications/luci-app-samba/po/ro/samba.po b/applications/luci-app-samba/po/ro/samba.po
index 78c55e4eb..7cfcda7d1 100644
--- a/applications/luci-app-samba/po/ro/samba.po
+++ b/applications/luci-app-samba/po/ro/samba.po
@@ -62,6 +62,11 @@ msgstr "Partajari pe retea"
msgid "Path"
msgstr "Cale"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Doar citire"
diff --git a/applications/luci-app-samba/po/ru/samba.po b/applications/luci-app-samba/po/ru/samba.po
index 4823dc46d..534770f5f 100644
--- a/applications/luci-app-samba/po/ru/samba.po
+++ b/applications/luci-app-samba/po/ru/samba.po
@@ -64,6 +64,11 @@ msgstr "Сетевые ресурсы"
msgid "Path"
msgstr "Путь"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Только для чтения"
diff --git a/applications/luci-app-samba/po/sk/samba.po b/applications/luci-app-samba/po/sk/samba.po
index 2c511c815..21f102d32 100644
--- a/applications/luci-app-samba/po/sk/samba.po
+++ b/applications/luci-app-samba/po/sk/samba.po
@@ -56,6 +56,11 @@ msgstr ""
msgid "Path"
msgstr ""
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr ""
diff --git a/applications/luci-app-samba/po/sv/samba.po b/applications/luci-app-samba/po/sv/samba.po
index 549a69c5c..f58f8b87d 100644
--- a/applications/luci-app-samba/po/sv/samba.po
+++ b/applications/luci-app-samba/po/sv/samba.po
@@ -58,6 +58,11 @@ msgstr "Nätverksdelningar"
msgid "Path"
msgstr "Genväg"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Endast läsbar"
diff --git a/applications/luci-app-samba/po/templates/samba.pot b/applications/luci-app-samba/po/templates/samba.pot
index 9e4ab7ff1..674ed331c 100644
--- a/applications/luci-app-samba/po/templates/samba.pot
+++ b/applications/luci-app-samba/po/templates/samba.pot
@@ -49,6 +49,11 @@ msgstr ""
msgid "Path"
msgstr ""
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr ""
diff --git a/applications/luci-app-samba/po/tr/samba.po b/applications/luci-app-samba/po/tr/samba.po
index 486768f2e..98d47beec 100644
--- a/applications/luci-app-samba/po/tr/samba.po
+++ b/applications/luci-app-samba/po/tr/samba.po
@@ -56,6 +56,11 @@ msgstr ""
msgid "Path"
msgstr ""
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr ""
diff --git a/applications/luci-app-samba/po/uk/samba.po b/applications/luci-app-samba/po/uk/samba.po
index 077315e21..a4469f961 100644
--- a/applications/luci-app-samba/po/uk/samba.po
+++ b/applications/luci-app-samba/po/uk/samba.po
@@ -63,6 +63,11 @@ msgstr "Загальні мережеві ресурси"
msgid "Path"
msgstr "Шлях"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "Тільки читання"
diff --git a/applications/luci-app-samba/po/vi/samba.po b/applications/luci-app-samba/po/vi/samba.po
index c5f6e02df..7c088cebe 100644
--- a/applications/luci-app-samba/po/vi/samba.po
+++ b/applications/luci-app-samba/po/vi/samba.po
@@ -69,6 +69,11 @@ msgstr "Mạng chia sẻ"
msgid "Path"
msgstr ""
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
#, fuzzy
msgid "Read-only"
msgstr "Chỉ đọc "
diff --git a/applications/luci-app-samba/po/zh-cn/samba.po b/applications/luci-app-samba/po/zh-cn/samba.po
index 2294b611a..b6fd8f31d 100644
--- a/applications/luci-app-samba/po/zh-cn/samba.po
+++ b/applications/luci-app-samba/po/zh-cn/samba.po
@@ -61,6 +61,11 @@ msgstr "网络共享"
msgid "Path"
msgstr "目录"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "只读"
diff --git a/applications/luci-app-samba/po/zh-tw/samba.po b/applications/luci-app-samba/po/zh-tw/samba.po
index bfa2d7d6d..ed0dabb80 100644
--- a/applications/luci-app-samba/po/zh-tw/samba.po
+++ b/applications/luci-app-samba/po/zh-tw/samba.po
@@ -59,6 +59,11 @@ msgstr "網路分享"
msgid "Path"
msgstr "路徑"
+msgid ""
+"Please add directories to share. Each directory refers to a folder on a "
+"mounted device."
+msgstr ""
+
msgid "Read-only"
msgstr "唯讀"
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
index 5df59cb0a..998579017 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
+++ b/applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua
@@ -19,7 +19,7 @@ m = Map("shadowsocks-libev",
local sdata = m:get('ss_rules')
if not sdata then
m:set('ss_rules', nil, 'ss_rules')
- m:set('ss_rules', 'ss_rules', 'disabled', true)
+ m:set('ss_rules', 'disabled', true)
end
s = m:section(NamedSection, "ss_rules", "ss_rules")
@@ -39,8 +39,12 @@ ss.values_redir(o, 'udp')
o = s:taboption('general', ListValue, "local_default",
translate("Local-out default"),
- translate("Default action for locally generated packets"))
+ translate("Default action for locally generated TCP packets"))
ss.values_actions(o)
+o = s:taboption('general', DynamicList, "ifnames",
+ translate("Ingress interfaces"),
+ translate("Only apply rules on packets from these network interfaces"))
+ss.values_ifnames(o)
s:taboption('general', Value, "ipt_args",
translate("Extra arguments"),
translate("Passes additional arguments to iptables. Use with care!"))
@@ -74,5 +78,9 @@ s:taboption('dstip', FileBrowser, "dst_ips_forward_file",
translate("Dst ip forward file"),
translate("File containing ip addresses for the purposes as with <em>Dst ip forward</em>"))
o.datatype = "file"
+o = s:taboption('dstip', ListValue, "dst_default",
+ translate("Dst default"),
+ translate("Default action for packets whose destination addresses do not match any of the destination ip list"))
+ss.values_actions(o)
return m
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua
index 6608ee8d3..650ff6356 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua
+++ b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua
@@ -14,8 +14,10 @@ module("luci.model.shadowsocks-libev", function(m)
end)
function values_actions(o)
- for _, a in ipairs(actions) do
- o:value(a)
+ o:value("bypass")
+ o:value("forward")
+ if o.option ~= "dst_default" then
+ o:value("checkdst")
end
end
@@ -43,7 +45,6 @@ function values_serverlist(o)
end
function values_ipaddr(o)
- local keys, vals = {}, {}
for _, v in ipairs(nw:get_interfaces()) do
for _, a in ipairs(v:ipaddrs()) do
o:value(a:host():string(), '%s (%s)' %{ a:host(), v:shortname() })
@@ -51,6 +52,14 @@ function values_ipaddr(o)
end
end
+function values_ifnames(o)
+ for _, v in ipairs(nw:get_interfaces()) do
+ if v.dev then
+ o:value(v.dev.name)
+ end
+ end
+end
+
function options_client(s, tab)
local o
@@ -226,17 +235,13 @@ modes = {
"udp_only",
}
-actions = {
- "bypass",
- "forward",
- "checkdst",
-}
-
methods = {
-- aead
"aes-128-gcm",
"aes-192-gcm",
"aes-256-gcm",
+ "chacha20-ietf-poly1305",
+ "xchacha20-ietf-poly1305",
-- stream
"table",
"rc4",
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua
index add52317b..27971dfda 100644
--- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua
@@ -163,24 +163,25 @@ e = m:section(NamedSection, "global", "travelmate", translate("Extra options"),
translate("Options for further tweaking in case the defaults are not suitable for you."))
e1 = e:option(Value, "trm_radio", translate("Radio selection"),
- translate("Restrict travelmate to a dedicated radio, e.g. 'radio0'"))
+ translate("Restrict travelmate to a dedicated radio, e.g. 'radio0'."))
e1.datatype = "and(uciname,rangelength(6,6))"
e1.rmempty = true
e2 = e:option(Value, "trm_maxretry", translate("Connection Limit"),
- translate("How many times should travelmate try to connect to an Uplink"))
+ translate("How many times should travelmate try to connect to an Uplink. ")
+ .. translate("To disable this feature set it to '0' which means unlimited retries."))
e2.default = 3
-e2.datatype = "range(1,10)"
+e2.datatype = "range(0,30)"
e2.rmempty = false
e3 = e:option(Value, "trm_maxwait", translate("Interface Timeout"),
- translate("How long should travelmate wait for a successful wlan interface reload"))
+ translate("How long should travelmate wait for a successful wlan interface reload."))
e3.default = 30
e3.datatype = "range(5,60)"
e3.rmempty = false
e4 = e:option(Value, "trm_timeout", translate("Overall Timeout"),
- translate("Timeout in seconds between retries in 'automatic' mode"))
+ translate("Timeout in seconds between retries in 'automatic' mode."))
e4.default = 60
e4.datatype = "range(60,300)"
e4.rmempty = false
diff --git a/applications/luci-app-travelmate/po/ja/travelmate.po b/applications/luci-app-travelmate/po/ja/travelmate.po
index 70561533d..febdbd583 100644
--- a/applications/luci-app-travelmate/po/ja/travelmate.po
+++ b/applications/luci-app-travelmate/po/ja/travelmate.po
@@ -107,12 +107,12 @@ msgstr ""
"詳細な情報は <a href=\"%s\" target=\"_blank\">オンライン ドキュメント</a> を"
"確認してください。"
-msgid "How long should travelmate wait for a successful wlan interface reload"
+msgid "How long should travelmate wait for a successful wlan interface reload."
msgstr ""
"無線LAN インターフェースのリロードが成功するまでの、Travelmate の待機時間で"
"す。"
-msgid "How many times should travelmate try to connect to an Uplink"
+msgid "How many times should travelmate try to connect to an Uplink."
msgstr "Travelmate がアップリンクへの接続を試行する回数です。"
msgid "Input file not found, please check your configuration."
@@ -188,8 +188,8 @@ msgstr "再スキャン"
msgid "Rescan"
msgstr "再スキャン"
-msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'"
-msgstr "Travelmate が指定された無線に接続するよう制限します。例: 'radio0'"
+msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
+msgstr "Travelmate が指定された無線に接続するよう制御します。(例: 'radio0')"
msgid "Runtime information"
msgstr "実行情報"
@@ -256,9 +256,13 @@ msgstr ""
"このフォームには、システムログ内の Travelmate に関するメッセージのみが表示さ"
"れます。"
-msgid "Timeout in seconds between retries in 'automatic' mode"
+msgid "Timeout in seconds between retries in 'automatic' mode."
msgstr "'automatic' モード時に接続を確認または再試行する間隔(秒)です。"
+msgid "To disable this feature set it to '0' which means unlimited retries."
+msgstr ""
+"この機能を無効にして接続の再試行を無制限にする場合、 '0' を設定します。"
+
msgid "Travelmate"
msgstr "Travelmate"
diff --git a/applications/luci-app-travelmate/po/pt-br/travelmate.po b/applications/luci-app-travelmate/po/pt-br/travelmate.po
index 282dda8da..41fab7014 100644
--- a/applications/luci-app-travelmate/po/pt-br/travelmate.po
+++ b/applications/luci-app-travelmate/po/pt-br/travelmate.po
@@ -102,10 +102,10 @@ msgid ""
"documentation</a>"
msgstr ""
-msgid "How long should travelmate wait for a successful wlan interface reload"
+msgid "How long should travelmate wait for a successful wlan interface reload."
msgstr ""
-msgid "How many times should travelmate try to connect to an Uplink"
+msgid "How many times should travelmate try to connect to an Uplink."
msgstr ""
msgid "Input file not found, please check your configuration."
@@ -173,7 +173,7 @@ msgstr ""
msgid "Rescan"
msgstr ""
-msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'"
+msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr ""
msgid "Runtime information"
@@ -231,7 +231,10 @@ msgid ""
"messages only."
msgstr ""
-msgid "Timeout in seconds between retries in 'automatic' mode"
+msgid "Timeout in seconds between retries in 'automatic' mode."
+msgstr ""
+
+msgid "To disable this feature set it to '0' which means unlimited retries."
msgstr ""
msgid "Travelmate"
diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot
index 219005568..a9ceafe23 100644
--- a/applications/luci-app-travelmate/po/templates/travelmate.pot
+++ b/applications/luci-app-travelmate/po/templates/travelmate.pot
@@ -91,10 +91,10 @@ msgid ""
"documentation</a>"
msgstr ""
-msgid "How long should travelmate wait for a successful wlan interface reload"
+msgid "How long should travelmate wait for a successful wlan interface reload."
msgstr ""
-msgid "How many times should travelmate try to connect to an Uplink"
+msgid "How many times should travelmate try to connect to an Uplink."
msgstr ""
msgid "Input file not found, please check your configuration."
@@ -162,7 +162,7 @@ msgstr ""
msgid "Rescan"
msgstr ""
-msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'"
+msgid "Restrict travelmate to a dedicated radio, e.g. 'radio0'."
msgstr ""
msgid "Runtime information"
@@ -220,7 +220,10 @@ msgid ""
"messages only."
msgstr ""
-msgid "Timeout in seconds between retries in 'automatic' mode"
+msgid "Timeout in seconds between retries in 'automatic' mode."
+msgstr ""
+
+msgid "To disable this feature set it to '0' which means unlimited retries."
msgstr ""
msgid "Travelmate"
diff --git a/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua b/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua
index 03821ad9b..883e1bb63 100644
--- a/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua
+++ b/applications/luci-app-uhttpd/luasrc/model/cbi/uhttpd/uhttpd.lua
@@ -202,14 +202,17 @@ o = ucs:taboption("advanced", Value, "max_requests", translate("Maximum number o
o.optional = true
o.datatype = "uinteger"
-local s = m:section(NamedSection, "px5g", "cert", translate("uHTTPd Self-signed Certificate Parameters"))
+local s = m:section(TypedSection, "cert", translate("uHTTPd Self-signed Certificate Parameters"))
+
+s.template = "cbi/tsection"
+s.anonymous = true
o = s:option(Value, "days", translate("Valid for # of Days"))
o.default = 730
o.datatype = "uinteger"
o = s:option(Value, "bits", translate("Length of key in bits"))
-o.default = 1024
+o.default = 2048
o.datatype = "min(1024)"
o = s:option(Value, "commonname", translate("Server Hostname"), translate("a.k.a CommonName"))
@@ -222,6 +225,6 @@ o = s:option(Value, "state", translate("State"))
o.default = "Unknown"
o = s:option(Value, "location", translate("Location"))
-o.default = "Somewhere"
+o.default = "Unknown"
return m