summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-app-ddns/Makefile2
-rwxr-xr-xapplications/luci-app-ddns/luasrc/controller/ddns.lua72
-rw-r--r--applications/luci-app-ddns/luasrc/view/ddns/system_status.htm185
-rw-r--r--applications/luci-app-firewall/po/ru/firewall.po46
-rw-r--r--applications/luci-app-https_dns_proxy/po/templates/https_dns_proxy.pot34
-rw-r--r--applications/luci-app-mosquitto/Makefile13
-rw-r--r--applications/luci-app-mosquitto/luasrc/controller/mosquitto.lua16
-rw-r--r--applications/luci-app-mosquitto/luasrc/model/cbi/mosquitto.lua229
-rw-r--r--applications/luci-app-mwan3/po/ja/mwan3.po21
-rw-r--r--applications/luci-app-mwan3/po/ru/mwan3.po21
-rw-r--r--applications/luci-app-mwan3/po/templates/mwan3.pot21
-rw-r--r--applications/luci-app-mwan3/po/zh-cn/mwan3.po21
-rw-r--r--applications/luci-app-mwan3/po/zh-tw/mwan3.po21
-rw-r--r--applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua34
-rw-r--r--applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua3
-rw-r--r--applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua23
-rw-r--r--applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm8
-rw-r--r--applications/luci-app-openvpn/root/etc/config/openvpn_recipes139
-rw-r--r--applications/luci-app-samba4/luasrc/model/cbi/samba4.lua60
-rw-r--r--applications/luci-app-samba4/po/ca/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/cs/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/de/samba4.po34
-rw-r--r--applications/luci-app-samba4/po/el/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/en/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/es/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/fr/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/he/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/hu/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/it/samba4.po24
-rw-r--r--applications/luci-app-samba4/po/ja/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/ms/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/no/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/pl/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/pt-br/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/pt/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/ro/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/ru/samba4.po24
-rw-r--r--applications/luci-app-samba4/po/sk/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/sv/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/templates/samba4.pot19
-rw-r--r--applications/luci-app-samba4/po/tr/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/uk/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/vi/samba4.po19
-rw-r--r--applications/luci-app-samba4/po/zh-cn/samba4.po24
-rw-r--r--applications/luci-app-samba4/po/zh-tw/samba4.po24
-rw-r--r--applications/luci-app-unbound/luasrc/controller/unbound.lua12
-rw-r--r--applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua5
-rw-r--r--modules/luci-base/luasrc/sys.lua18
-rw-r--r--modules/luci-base/po/ru/base.po4
-rw-r--r--modules/luci-base/po/tr/base.po161
-rw-r--r--modules/luci-mod-admin-full/luasrc/controller/admin/system.lua18
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua2
-rw-r--r--modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua2
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm20
-rw-r--r--modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm34
-rw-r--r--protocols/luci-proto-ipv6/Makefile2
-rw-r--r--themes/luci-theme-material/htdocs/luci-static/material/cascade.css23
-rw-r--r--themes/luci-theme-material/htdocs/luci-static/material/custom.css9
58 files changed, 1335 insertions, 473 deletions
diff --git a/applications/luci-app-ddns/Makefile b/applications/luci-app-ddns/Makefile
index 195e08131b..331851d263 100644
--- a/applications/luci-app-ddns/Makefile
+++ b/applications/luci-app-ddns/Makefile
@@ -16,7 +16,7 @@ PKG_VERSION:=2.4.9
# Release == build
# increase on changes of translation files
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Ansuel Smith <ansuelsmth@gmail.com>
diff --git a/applications/luci-app-ddns/luasrc/controller/ddns.lua b/applications/luci-app-ddns/luasrc/controller/ddns.lua
index e152bb0d98..24735289e0 100755
--- a/applications/luci-app-ddns/luasrc/controller/ddns.lua
+++ b/applications/luci-app-ddns/luasrc/controller/ddns.lua
@@ -25,6 +25,8 @@ local app_name = "luci-app-ddns"
local app_title = "Dynamic DNS"
local app_version = "2.4.9-1"
+local translate = I18N.translate
+
function index()
local nxfs = require "nixio.fs" -- global definitions not available
local sys = require "luci.sys" -- in function index()
@@ -59,40 +61,47 @@ end
-- Application specific information functions
function app_description()
- return I18N.translate("Dynamic DNS allows that your router can be reached with " ..
- "a fixed hostname while having a dynamically changing IP address.")
- .. [[<br />]]
- .. I18N.translate("OpenWrt Wiki") .. ": "
- .. [[<a href="http://wiki.openwrt.org/doc/howto/ddns.client" target="_blank">]]
- .. I18N.translate("DDNS Client Documentation") .. [[</a>]]
- .. " --- "
- .. [[<a href="http://wiki.openwrt.org/doc/uci/ddns" target="_blank">]]
- .. I18N.translate("DDNS Client Configuration") .. [[</a>]]
+ local tmp = {}
+ tmp[#tmp+1] = translate("Dynamic DNS allows that your router can be reached with \
+ a fixed hostname while having a dynamically changing IP address.")
+ tmp[#tmp+1] = [[<br />]]
+ tmp[#tmp+1] = translate("OpenWrt Wiki") .. ": "
+ tmp[#tmp+1] = [[<a href="https://openwrt.org/docs/guide-user/services/ddns/client" target="_blank">]]
+ tmp[#tmp+1] = translate("DDNS Client Documentation")
+ tmp[#tmp+1] = [[</a>]]
+ tmp[#tmp+1] = " --- "
+ tmp[#tmp+1] = [[<a href="https://openwrt.org/docs/guide-user/base-system/ddns" target="_blank">]]
+ tmp[#tmp+1] = translate("DDNS Client Configuration")
+ tmp[#tmp+1] = [[</a>]]
+
+ return table.concat(tmp)
end
function app_title_back()
- return [[<a href="]]
- .. DISP.build_url("admin", "services", "ddns")
- .. [[">]]
- .. I18N.translate(app_title)
- .. [[</a>]]
+ local tmp = {}
+ tmp[#tmp+1] = [[<a href="]]
+ tmp[#tmp+1] = DISP.build_url("admin", "services", "ddns")
+ tmp[#tmp+1] = [[">]]
+ tmp[#tmp+1] = translate(app_title)
+ tmp[#tmp+1] = [[</a>]]
+ return table.concat(tmp)
end
-- Standardized application/service functions
function app_title_main()
- tmp = {}
+ local tmp = {}
tmp[#tmp+1] = [[<a href="javascript:alert(']]
- tmp[#tmp+1] = I18N.translate("Version Information")
+ tmp[#tmp+1] = translate("Version Information")
tmp[#tmp+1] = [[\n\n]] .. app_name
- tmp[#tmp+1] = [[\n]] .. I18N.translate("Version") .. [[: ]] .. app_version
- tmp[#tmp+1] = [[\n\n]] .. srv_name .. [[ ]] .. I18N.translate("required") .. [[:]]
- tmp[#tmp+1] = [[\n]] .. I18N.translate("Version") .. [[: ]]
- tmp[#tmp+1] = srv_ver_min .. [[ ]] .. I18N.translate("or higher")
- tmp[#tmp+1] = [[\n\n]] .. srv_name .. [[ ]] .. I18N.translate("installed") .. [[:]]
- tmp[#tmp+1] = [[\n]] .. I18N.translate("Version") .. [[: ]]
- tmp[#tmp+1] = (service_version() or I18N.translate("NOT installed"))
+ tmp[#tmp+1] = [[\n]] .. translate("Version") .. [[: ]] .. app_version
+ tmp[#tmp+1] = [[\n\n]] .. srv_name .. [[ ]] .. translate("required") .. [[:]]
+ tmp[#tmp+1] = [[\n]] .. translate("Version") .. [[: ]]
+ tmp[#tmp+1] = srv_ver_min .. [[ ]] .. translate("or higher")
+ tmp[#tmp+1] = [[\n\n]] .. srv_name .. [[ ]] .. translate("installed") .. [[:]]
+ tmp[#tmp+1] = [[\n]] .. translate("Version") .. [[: ]]
+ tmp[#tmp+1] = (service_version() or translate("NOT installed"))
tmp[#tmp+1] = [[\n\n]]
tmp[#tmp+1] = [[')">]]
- tmp[#tmp+1] = I18N.translate(app_title)
+ tmp[#tmp+1] = translate(app_title)
tmp[#tmp+1] = [[</a>]]
return table.concat(tmp)
@@ -102,7 +111,7 @@ function service_version()
local srv_ver_cmd = luci_helper .. " -V | awk {'print $2'} "
local ver
-
+
if IPKG then
ver = IPKG.info(srv_name)[srv_name].Version
else
@@ -137,6 +146,7 @@ local function _get_status()
local enabled = tonumber(s["enabled"]) or 0
local datelast = "_empty_" -- formatted date of last update
local datenext = "_empty_" -- formatted date of next update
+ local datenextstat = nil
-- get force seconds
local force_seconds = DDNS.calc_seconds(
@@ -170,18 +180,22 @@ local function _get_status()
force_seconds = (force_seconds > uptime) and uptime or force_seconds
if pid > 0 and ( lasttime + force_seconds - uptime ) <= 0 then
datenext = "_verify_"
+ datenextstat = translate("Verify")
-- run once
elseif force_seconds == 0 then
datenext = "_runonce_"
+ datenextstat = translate("Run once")
-- no process running and NOT enabled
elseif pid == 0 and enabled == 0 then
datenext = "_disabled_"
+ datenextstat = translate("Disabled")
-- no process running and enabled
elseif pid == 0 and enabled ~= 0 then
datenext = "_stopped_"
+ datenextstat = translate("Stopped")
end
-- get/set monitored interface and IP version
@@ -192,10 +206,12 @@ local function _get_status()
-- try to get registered IP
local lookup_host = s["lookup_host"] or "_nolookup_"
+
local chk_sec = DDNS.calc_seconds(
tonumber(s["check_interval"]) or 10,
s["check_unit"] or "minutes" )
local reg_ip = DDNS.get_regip(section, chk_sec)
+
if reg_ip == "NOFILE" then
local dnsserver = s["dns_server"] or ""
local force_ipversion = tonumber(s["force_ipversion"] or 0)
@@ -212,9 +228,6 @@ local function _get_status()
command = command .. [[ -- get_registered_ip]]
reg_ip = SYS.exec(command)
end
- if reg_ip == "" then
- reg_ip = "_nodata_"
- end
-- fill transfer array
data[#data+1] = {
@@ -225,7 +238,8 @@ local function _get_status()
reg_ip = reg_ip,
pid = pid,
datelast = datelast,
- datenext = datenext
+ datenext = datenext,
+ datenextstat = datenextstat
}
end)
diff --git a/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm b/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm
index 7fcb882a15..31ed42b0ac 100644
--- a/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm
+++ b/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm
@@ -1,151 +1,60 @@
<!-- ++ BEGIN ++ Dynamic DNS ++ system_status.htm ++ -->
<script type="text/javascript">//<![CDATA[
- // helper to move status data to the relevant
- // screen objects
- // called by XHR.poll and XHR.get
- function _data2elements(x, data) {
- var tbl = document.getElementById('ddns_status_table');
- // security check
- if ( !(tbl) ) { return; }
- // clear all rows
- while (tbl.firstElementChild !== tbl.lastElementChild)
- tbl.removeChild(tbl.lastElementChild);
-
- // variable for Modulo-Division use to set cbi-rowstyle-? (0 or 1)
- var i = -1;
- var j = 1;
-
- // DDNS Service disabled
- if (data[0].enabled == 0) {
- var txt = '<strong><font color="red"><%:DDNS Autostart disabled%></font>' ;
- var url = '<a href="' + data[0].url_up + '"><%:enable here%></a></strong>' ;
- tbl.appendChild(E('<div class="tr cbi-section-table-row cbi-rowstyle-%d">'.format(((j + i) % 2) + 1), [
- E('<div class="td">', [ txt," - ", url ])
- ]));
- i++ ;
- }
-
- var configuration;
- var next_update;
- var lookup;
- var registered_ip;
- var network;
-
- for( j = 1; j < data.length; j++ )
- {
- // configuration
- configuration = data[j].section;
-
- // pid
- // data[j].pid ignored here
-
- // last update
- // data[j].datelast ignored here
-
- // next update
- switch (data[j].datenext) {
- case "_empty_":
- next_update = '<em><%:Unknown error%></em>';
- break;
- case "_stopped_":
- next_update = '<em><%:Stopped%></em>';
- break;
- case "_disabled_":
- next_update = '<em><%:Disabled%></em>';
- break;
- case "_noupdate_":
- next_update = '<em><%:Update error%></em>';
- break;
- case "_runonce_":
- next_update = '<em><%:Run once%></em>';
- break;
- case "_verify_":
- next_update = '<em><%:Verify%></em>';
- break;
- default:
- next_update = data[j].datenext;
- break;
- }
-
- // lookup
- if (data[j].lookup == "_nolookup_")
- lookup = '<em><%:config error%></em>';
- else
- lookup = data[j].lookup;
-
- // registered IP
- switch (data[j].reg_ip) {
- case "_nolookup_":
- registered_ip = '<em><%:config error%></em>';
- break;
- case "_nodata_":
- registered_ip = '<em><%:No data%></em>';
- break;
- case "_noipv6_":
- registered_ip = '<em><%:IPv6 not supported%></em>';
- break;
- default:
- registered_ip = data[j].reg_ip;
- break;
- }
-
- // monitored interface
- if (data[j].iface == "_nonet_")
- network = '<em><%:Config error%></em>';
- else
- network = data[j].iface;
-
- tbl.appendChild(E('<div class="tr cbi-section-table-row cbi-rowstyle-%d">'.format(((j + i) % 2) + 1), [
- E('<div class="td">', [ E('<strong>', configuration) ]),
- E('<div class="td">', next_update),
- E('<div class="td">', lookup),
- E('<div class="td">', registered_ip),
- E('<div class="td">', network)
- ]));
- }
-
- if (tbl.firstElementChild === tbl.lastElementChild || (data[0].enabled == 0 && tbl.childNodes.length == 2) ) {
- var br = '<br />';
- var msg = '<%:There is no service configured.%>';
- if (tbl.firstElementChild !== tbl.lastElementChild)
- br = '';
- msg = br + msg;
- tbl.appendChild(E('<div class="tr cbi-section-table-row">', [
- E('<div class="td">', [ E('<em>', msg) ])
- ]));
- }
- }
-
- // force to immediate show status (not waiting for XHR.poll)
- XHR.get('<%=url([[admin]], [[services]], [[ddns]], [[status]])%>', null,
+ //start polling data every 30 second, this doesn't change so much
+ XHR.poll(30, '<%=url([[admin]], [[services]], [[ddns]], [[status]])%>', null,
function(x, data) {
- if (data) { _data2elements(x, data); }
- }
- );
-
- XHR.poll(15, '<%=url([[admin]], [[services]], [[ddns]], [[status]])%>', null,
- function(x, data) {
- if (data) { _data2elements(x, data); }
+ if (data) {
+ var tbl = document.getElementById('ddns_status_table');
+ // security check
+ if ( !(tbl) ) { return; }
+
+ var rows = [];
+
+ // DDNS Service disabled
+ if (data[0].enabled == 0) {
+ var ddns_legend = document.getElementById('ddns_status_legend');
+ ddns_legend.style.display='none';
+ rows.push([
+ '<strong><font color="red"><%:DDNS Autostart disabled%></font>',
+ '<a class="cbi-button cbi-button-action important" type="button" href="' + data[0].url_up + '"><%:enable here%></a></strong>'
+ ]);
+ } else {
+ for( j = 1; j < data.length; j++ )
+ {
+
+ rows.push([
+ '<strong>' + data[j].section + '</strong>', //configuration
+ data[j].datenextstat ? '<em>'+data[j].datenextstat+'</em>' : '<em><%:Unknown error%></em>',
+ data[j].lookup ? data[j].lookup : '<em><%:config error%></em>',
+ data[j].reg_ip ? data[j].reg_ip : '<em><%:No data%></em>',
+ data[j].iface // monitored interface
+ ]);
+ }
+ }
+
+ cbi_update_table(tbl, rows, '<%:There is no service configured.%>');
+ }
}
);
-
+
//]]></script>
<fieldset class="cbi-section" id="ddns_status_section">
<legend><a href="<%=url([[admin]], [[services]], [[ddns]])%>"><%:Dynamic DNS%></a></legend>
-
- <div class="table cbi-section-table" id="ddns_status_table">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell"><%:Configuration%></div>
- <div class="th cbi-section-table-cell"><%:Next Update%></div>
- <div class="th cbi-section-table-cell"><%:Lookup Hostname%></div>
- <div class="th cbi-section-table-cell"><%:Registered IP%></div>
- <div class="th cbi-section-table-cell"><%:Network%></div>
- </div>
- <div class="tr cbi-section-table-row">
- <div class="td"><em><br /><%:Collecting data...%></em></div>
+ <div class="cbi-section-node">
+ <div class="table" id="ddns_status_table">
+ <div class="tr table-titles" id="ddns_status_legend">
+ <div class="th"><%:Configuration%></div>
+ <div class="th"><%:Next Update%></div>
+ <div class="th"><%:Lookup Hostname%></div>
+ <div class="th"><%:Registered IP%></div>
+ <div class="th"><%:Network%></div>
+ </div>
+ <div class="tr">
+ <div class="td"><em><br /><%:Collecting data...%></em></div>
+ </div>
</div>
</div>
</fieldset>
-<!-- ++ END ++ Dynamic DNS ++ system_status.htm ++ -->
+<!-- ++ END ++ Dynamic DNS ++ system_status.htm ++ --> \ No newline at end of file
diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po
index 0ffe581d0e..b73d963d8f 100644
--- a/applications/luci-app-firewall/po/ru/firewall.po
+++ b/applications/luci-app-firewall/po/ru/firewall.po
@@ -84,9 +84,9 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
"Пользовательские правила позволяют выполнять произвольные команды iptables, "
-"которые не охвачены рамками межсетевого экрана. Команды выполняются "
-"после каждой перезагрузки межсетевого экрана, сразу после загрузки набора "
-"правил по умолчанию."
+"которые не охвачены рамками межсетевого экрана. Команды выполняются после "
+"каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил "
+"по умолчанию."
msgid "Destination IP address"
msgstr "IP-адрес назначения"
@@ -267,15 +267,14 @@ msgstr "Соответствовать ICMP типу"
msgid "Match forwarded traffic to the given destination port or port range."
msgstr ""
-"Перенаправлять соответствующий трафик на указанный порт или диапазон "
-"портов."
+"Перенаправлять соответствующий трафик на указанный порт или диапазон портов."
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-"Порт или диапазон портов, входящие подключения на который будут перенаправляться "
-"на внутренний порт внутреннего IP-адреса (см. ниже)"
+"Порт или диапазон портов, входящие подключения на который будут "
+"перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
msgid ""
"Match incoming traffic originating from the given source port or port range "
@@ -317,14 +316,15 @@ msgstr "Применять правило только для входящего
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-"Применять правило только для входящего трафика от этого IP-адреса или диапазона адресов."
+"Применять правило только для входящего трафика от этого IP-адреса или "
+"диапазона адресов."
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-"Применять правило только для входящего трафика от указанного порта "
-"или диапазона портов клиентского хоста"
+"Применять правило только для входящего трафика от указанного порта или "
+"диапазона портов клиентского хоста"
msgid "Open ports on router"
msgstr "Открыть порты на маршрутизаторе"
@@ -359,11 +359,11 @@ msgstr "Протокол"
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-"Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-адреса"
+"Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-"
+"адреса"
msgid "Redirect matched incoming traffic to the specified internal host"
-msgstr ""
-"Перенаправлять трафик на указанный IP-адрес"
+msgstr "Перенаправлять трафик на указанный IP-адрес"
msgid "Refuse forward"
msgstr "Сбрасывать перенаправляемый трафик"
@@ -375,7 +375,8 @@ msgid "Refuse output"
msgstr "Сбрасывать исходящий трафик"
msgid "Requires hardware NAT support. Implemented at least for mt7621"
-msgstr "Требуется аппаратная поддержка NAT. Реализовано, по крайней мере, для mt7621"
+msgstr ""
+"Требуется аппаратная поддержка NAT. Реализовано, по крайней мере, для mt7621"
msgid "Restart Firewall"
msgstr "Перезапустить межсетевой экран"
@@ -485,12 +486,13 @@ msgid ""
"rule is <em>unidirectional</em>, e.g. a forward from lan to wan does "
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-"Данные настройки управляют политиками перенаправления трафика между этой (%s) и "
-"другими зонами. Трафиком <em>'зон-назначения'</em> является перенаправленный "
-"трафик <strong>'исходящий из %q'</strong>. Трафиком <em>'зон-источников'</"
-"em> является трафик <strong>'направленый в %q'</strong>. Перенаправление "
-"является <em>'однонаправленным'</em>, то есть перенаправление из lan в wan "
-"<em>'не'</em> допускает перенаправление трафика из wan в lan."
+"Данные настройки управляют политиками перенаправления трафика между этой "
+"(%s) и другими зонами. Трафиком <em>'зон-назначения'</em> является "
+"перенаправленный трафик <strong>'исходящий из %q'</strong>. Трафиком "
+"<em>'зон-источников'</em> является трафик <strong>'направленый в %q'</"
+"strong>. Перенаправление является <em>'однонаправленным'</em>, то есть "
+"перенаправление из lan в wan <em>'не'</em> допускает перенаправление трафика "
+"из wan в lan."
msgid ""
"This page allows you to change advanced properties of the port forwarding "
@@ -503,8 +505,8 @@ msgid ""
"This page allows you to change advanced properties of the traffic rule "
"entry, such as matched source and destination hosts."
msgstr ""
-"На этой странице можно изменить расширенные настройки правил для трафика."
-"В большинстве случаев нет необходимости изменять эти параметры."
+"На этой странице можно изменить расширенные настройки правил для трафика.В "
+"большинстве случаев нет необходимости изменять эти параметры."
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
diff --git a/applications/luci-app-https_dns_proxy/po/templates/https_dns_proxy.pot b/applications/luci-app-https_dns_proxy/po/templates/https_dns_proxy.pot
index 1b0b66aae2..c292e79325 100644
--- a/applications/luci-app-https_dns_proxy/po/templates/https_dns_proxy.pot
+++ b/applications/luci-app-https_dns_proxy/po/templates/https_dns_proxy.pot
@@ -1,2 +1,32 @@
-Set up git to auto-update pot-file:
-echo '../i18n-scan.pl luci-app-template/ > luci-app-template/po/templates/template.pot; git add .' >> ../.git/hooks/pre-commit
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "Group name"
+msgstr ""
+
+msgid "HTTPS DNS Proxy"
+msgstr ""
+
+msgid "HTTPS DNS Proxy Settings"
+msgstr ""
+
+msgid "Instances"
+msgstr ""
+
+msgid "Listen address"
+msgstr ""
+
+msgid "Listen port"
+msgstr ""
+
+msgid "Provider"
+msgstr ""
+
+msgid "Proxy server"
+msgstr ""
+
+msgid "Subnet address"
+msgstr ""
+
+msgid "User name"
+msgstr ""
diff --git a/applications/luci-app-mosquitto/Makefile b/applications/luci-app-mosquitto/Makefile
new file mode 100644
index 0000000000..1bfb7c3de7
--- /dev/null
+++ b/applications/luci-app-mosquitto/Makefile
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Mosquitto LuCI interface
+LUCI_DEPENDS:=+luci-mod-admin-full mosquitto
+LUCI_PKGARCH:=all
+LUCI_DESCRIPTION:=Provides a webadmin for most basic mosquitto parameters.
+
+PKG_MAINTAINER:= Karl Palsson <karlp@etactica.com>
+PKG_LICENSE:=Apache-2.0
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-mosquitto/luasrc/controller/mosquitto.lua b/applications/luci-app-mosquitto/luasrc/controller/mosquitto.lua
new file mode 100644
index 0000000000..587054eb10
--- /dev/null
+++ b/applications/luci-app-mosquitto/luasrc/controller/mosquitto.lua
@@ -0,0 +1,16 @@
+--[[
+LuCI - Lua Configuration Interface for mosquitto
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+]]--
+
+module("luci.controller.mosquitto", package.seeall)
+
+function index()
+ entry({"admin", "services", "mosquitto"}, cbi("mosquitto"), _("Mosquitto"))
+end
diff --git a/applications/luci-app-mosquitto/luasrc/model/cbi/mosquitto.lua b/applications/luci-app-mosquitto/luasrc/model/cbi/mosquitto.lua
new file mode 100644
index 0000000000..78bc9f071c
--- /dev/null
+++ b/applications/luci-app-mosquitto/luasrc/model/cbi/mosquitto.lua
@@ -0,0 +1,229 @@
+--[[
+LuCI model for mosquitto MQTT broker configuration management
+Copyright eTactica ehf, 2018
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+]]--
+
+local datatypes = require("luci.cbi.datatypes")
+
+--- Like a Flag, but with an option to remove/set to default.
+local function OptionalFlag(section, key, title, description)
+ local o = section:option(ListValue, key, title, description)
+ o.optional = true
+ o:value("", "Default")
+ o:value("1", "Enabled")
+ o:value("0", "Disabled")
+ return o
+end
+
+m = Map("mosquitto", "Mosquitto MQTT Broker",
+ [[mosquitto - the <a href='http://www.mosquitto.org'>blood thirsty</a>
+MQTT messaging broker. Note, only some of the available configuration files
+ are supported at this stage, use the checkbox below to use config generated
+ by this page, or the stock mosquitto configuration file in
+ /etc/mosquitto/mosquitto.conf]])
+
+s = m:section(TypedSection, "owrt", "OpenWRT")
+s.anonymous = true
+p = s:option(Flag, "use_uci", "Use this LuCI configuration page",
+ [[If checked, mosquitto runs with a config generated
+ from this page. (Or from UCI directly) If unchecked, mosquitto
+ runs with the config in /etc/mosquitto/mosquitto.conf
+ (and this page is ignored)]])
+
+s = m:section(TypedSection, "mosquitto", "Mosquitto")
+s.anonymous = true
+
+p = s:option(MultiValue, "log_dest", "Log destination",
+ "You can have multiple, but 'none' will override all others")
+p:value("stderr", "stderr")
+p:value("stdout", "stdout")
+p:value("syslog", "syslog")
+p:value("topic", "$SYS/broker/log/[severity]")
+p:value("none", "none")
+
+OptionalFlag(s, "no_remote_access", "Disallow remote access to this broker",
+ [[Outbound bridges will still work, but this will make the primary listener
+ only available from localhost]])
+
+local o
+o = s:option(Value, "sys_interval", "Time in seconds between updates of the $SYS tree", "Set to zero to disable")
+o.datatype = "uinteger"
+o.optional = true
+
+o = s:option(Value, "max_inflight_messages", "Max Inflight Messages", "Limit for message allowed inflight")
+o.datatype = "uinteger"
+o.optional = true
+o = s:option(Value, "max_queued_messages", "Max Queued Messages", "Limit for message queue when offline")
+o.datatype = "uinteger"
+o.optional = true
+o = s:option(Value, "max_queued_bytes", "Max Queued bytes", "Limit for message queue when offline, zero to disable)")
+o.datatype = "uinteger"
+o.optional = true
+
+
+s = m:section(TypedSection, "persistence", "Persistence")
+s.anonymous = true
+s.addremove = false
+s:option(Flag, "persistence", "Persistence enabled", "Should persistence to disk be enabled at all").rmempty = false
+o = s:option(Value, "client_expiration", "Client expiration", "Remove persistent clients if they haven't reconnected in this period, eg 6h, 3d, 2w")
+o.optional = true
+o:depends("persistence", true)
+o = OptionalFlag(s, "autosave_on_changes", "Autosave on changes", "Autosave interval applies to change counts instead of time")
+o:depends("persistence", true)
+o = s:option(Value, "autosave_interval", "Autosave interval", "Save persistence file after this many seconds or changes")
+o.optional = true
+o:depends("persistence", true)
+o = s:option(Value, "file", "Persistent file name")
+o.optional = true
+o:depends("persistence", true)
+o = s:option(Value, "location", "Persistent file path (with trailing/)", "Path to persistent file")
+o.optional = true
+o:depends("persistence", true)
+
+s = m:section(TypedSection, "listener", "Listeners", "You can configure additional listeners here")
+s.addremove = true
+s.anonymous = true
+s:option(Value, "port", "Port").datatype = "port"
+
+o = s:option(ListValue, "protocol", "Protocol to use when listening")
+o:value("", "Default")
+o:value("mqtt", "MQTT")
+o:value("websockets", "WebSockets")
+
+s:option(Value, "http_dir", "http_dir to serve on websockets listeners").optional = true
+OptionalFlag(s, "use_username_as_clientid", "use_username_as_clientid")
+o = s:option(Value, "cafile", "CA file path")
+o.optional = true
+o.datatype = "file"
+o = s:option(Value, "capath", "CA path to search")
+o.optional = true
+o.datatype = "file"
+o = s:option(Value, "certfile", "server certificate file (PEM encoded)")
+o.optional = true
+o.datatype = "file"
+o = s:option(Value, "keyfile", "keyfile (PEM encoded)")
+o.optional = true
+o.datatype = "file"
+
+o = s:option(ListValue, "tls_version", "TLS Version",
+ "Depends on your openssl version, empty to support all")
+o.optional = true
+o:value("", "Default")
+o:value("tlsv1")
+o:value("tlsv1.1")
+o:value("tlsv1.2")
+
+OptionalFlag(s, "require_certificate", "Require clients to present a certificate")
+OptionalFlag(s, "use_identity_as_username", "use_identity_as_username")
+s:option(Value, "crlfile", "CRL to use if require_certificate is enabled").optional = true
+s:option(Value, "ciphers", "Ciphers control. Should match 'openssl ciphers' format").optional = true
+s:option(Value, "psk_hint", "PSK Hint to provide to connecting clients").optional = true
+
+-- we want to allow multiple bridge sections
+s = m:section(TypedSection, "bridge", "Bridges",
+ "You can configure multiple bridge connections here")
+s.anonymous = true
+s.addremove = true
+
+conn = s:option(Value, "connection", "Connection name",
+ "unique name for this bridge configuration")
+
+local function validate_address(self, value)
+ local host, port = unpack(luci.util.split(value, ":"))
+ if (datatypes.host(host)) then
+ if port and #port then
+ if not datatypes.port(port) then
+ return nil, "Please enter a valid port after the :"
+ end
+ end
+ return value
+ end
+ return nil, "Please enter a hostname or an IP address"
+end
+
+addr = s:option(Value, "address", "address", "address[:port] of remote broker")
+addr.datatype = "string"
+addr.validate = validate_address
+
+-- TODO - make the in/out/both a dropdown/radio or something....
+topics = s:option(DynamicList, "topic", "topic",
+ "full topic string for mosquitto.conf, eg: 'power/# out 2'")
+
+OptionalFlag(s, "cleansession", "Clean session")
+OptionalFlag(s, "notifications", "notifications",
+ "Attempt to notify the local and remote broker of connection status, defaults to $SYS/broker/connections/<clientid>/state")
+s:option(Value, "notification_topic", "Topic to use for local+remote remote for notifications.").optional = true
+
+s:option(Value, "remote_clientid", "Client id to use on remote end of this bridge connection").optional = true
+s:option(Value, "local_clientid", "Client id to use locally. Important when bridging to yourself").optional = true
+o = s:option(Value, "keepalive_interval", "Keepalive interval for this bridge")
+o.datatype = "uinteger"
+o.optional = true
+o = s:option(ListValue, "start_type", "How should this bridge be started")
+o.optional = true
+o:value("", "Default")
+o:value("automatic", "Automatic, includes restarts")
+o:value("lazy", "Automatic, but stopped when not used")
+o:value("once", "Automatic, but no restarts")
+o = s:option(Value, "restart_timeout", "How long to wait before reconnecting")
+o.datatype = "uinteger"
+o.optional = true
+o = s:option(Value, "idle_timeout", "How long to wait before disconnecting")
+o.datatype = "uinteger"
+o.optional = true
+o = s:option(Value, "threshold", "How many messages to queue before restarting lazy bridge")
+o.datatype = "uinteger"
+o.optional = true
+
+OptionalFlag(s, "try_private", "try_private",
+ "attempt to notify the remote broker that this is a bridge, not all brokers support this.")
+s:option(Value, "remote_username", "Remote username").optional = true
+o = s:option(Value, "remote_password", "Remote password")
+o.optional = true
+o.password = true
+
+s:option(Value, "identity", "PSK Bridge Identity", "Identity for TLS-PSK").optional = true
+
+-- no hex validation available in datatypes
+local function validate_psk_key(self, value)
+ if (value:match("^[a-fA-F0-9]+$")) then
+ return value
+ end
+ return nil, "Only hex numbers are allowed (use A-F characters and 0-9 digits)"
+end
+
+psk_key = s:option(Value, "psk", "Bridge PSK", "Key for TLS-PSK")
+psk_key.password = true
+psk_key.optional = true
+psk_key.datatype = "string"
+psk_key.validate = validate_psk_key
+
+b_tls_version = s:option(ListValue, "tls_version", "TLS Version",
+ "The remote broker must support the same version of TLS for the connection to succeed.")
+b_tls_version:value("", "Default")
+b_tls_version:value("tlsv1")
+b_tls_version:value("tlsv1.1")
+b_tls_version:value("tlsv1.2")
+b_tls_version.optional = true
+
+o = s:option(Value, "cafile", "Path to CA file")
+o.optional = true
+o.datatype = "file"
+o = s:option(Value, "capath", "Directory to search for CA files")
+o.optional = true
+o.datatype = "file"
+o = s:option(Value, "certfile", "Path to PEM encoded server certificate file")
+o.optional = true
+o.datatype = "file"
+o = s:option(Value, "keyfile", "Path to PEM encoded keyfile")
+o.optional = true
+o.datatype = "file"
+
+return m
diff --git a/applications/luci-app-mwan3/po/ja/mwan3.po b/applications/luci-app-mwan3/po/ja/mwan3.po
index a5826926dd..8a1cad2f6b 100644
--- a/applications/luci-app-mwan3/po/ja/mwan3.po
+++ b/applications/luci-app-mwan3/po/ja/mwan3.po
@@ -40,6 +40,9 @@ msgstr "利用可能な値: 1-1000。空欄の場合のデフォルトは1です
msgid "Acceptable values: 1-256. Defaults to 1 if not set"
msgstr "利用可能な値: 1-256。空欄の場合のデフォルトは1です。"
+msgid "All required IP rules for interface %s found"
+msgstr ""
+
msgid "Check IP rules"
msgstr "IP ルールのチェック"
@@ -263,6 +266,9 @@ msgstr "最小パケットレイテンシ [ms]"
msgid "Min packet loss [%]"
msgstr "最小パケットロス [%]"
+msgid "Missing both IP rules for interface %s"
+msgstr ""
+
msgid ""
"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/"
"youtube.com/youtube\")"
@@ -276,6 +282,12 @@ msgstr "いいえ"
msgid "No MWAN interfaces found"
msgstr "MWAN インターフェースが見つかりません"
+msgid "No gateway for interface %s found."
+msgstr ""
+
+msgid "No tracking Hosts for interface %s defined."
+msgstr ""
+
msgid "Notification"
msgstr "通知"
@@ -285,6 +297,9 @@ msgstr "オフライン"
msgid "Online"
msgstr "オンライン"
+msgid "Only one IP rules for interface %s found"
+msgstr ""
+
msgid "Ping count"
msgstr "Ping 回数"
@@ -342,6 +357,12 @@ msgstr "プロトコル"
msgid "Recovery interval"
msgstr "障害復旧 インターバル"
+msgid "Routing table %s for interface %s found"
+msgstr ""
+
+msgid "Routing table %s for interface %s not found"
+msgstr ""
+
msgid "Rule"
msgstr "ルール"
diff --git a/applications/luci-app-mwan3/po/ru/mwan3.po b/applications/luci-app-mwan3/po/ru/mwan3.po
index 140c537e73..4d52d7108c 100644
--- a/applications/luci-app-mwan3/po/ru/mwan3.po
+++ b/applications/luci-app-mwan3/po/ru/mwan3.po
@@ -43,6 +43,9 @@ msgstr "Допустимые значения: 1-1000. По умолчанию 1
msgid "Acceptable values: 1-256. Defaults to 1 if not set"
msgstr "Допустимые значения: 1-256 По умолчанию 1, если значение не задано."
+msgid "All required IP rules for interface %s found"
+msgstr ""
+
msgid "Check IP rules"
msgstr "Проверить правила IP"
@@ -262,6 +265,9 @@ msgstr ""
msgid "Min packet loss [%]"
msgstr ""
+msgid "Missing both IP rules for interface %s"
+msgstr ""
+
msgid ""
"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/"
"youtube.com/youtube\")"
@@ -275,6 +281,12 @@ msgstr "Нет"
msgid "No MWAN interfaces found"
msgstr "Интерфейсы MWAN не найдены"
+msgid "No gateway for interface %s found."
+msgstr ""
+
+msgid "No tracking Hosts for interface %s defined."
+msgstr ""
+
msgid "Notification"
msgstr "Уведомления"
@@ -284,6 +296,9 @@ msgstr "Отключен"
msgid "Online"
msgstr "Онлайн"
+msgid "Only one IP rules for interface %s found"
+msgstr ""
+
msgid "Ping count"
msgstr "Кол-во пинг-запросов"
@@ -341,6 +356,12 @@ msgstr "Протокол"
msgid "Recovery interval"
msgstr "Интервал восстановления"
+msgid "Routing table %s for interface %s found"
+msgstr ""
+
+msgid "Routing table %s for interface %s not found"
+msgstr ""
+
msgid "Rule"
msgstr "Правило"
diff --git a/applications/luci-app-mwan3/po/templates/mwan3.pot b/applications/luci-app-mwan3/po/templates/mwan3.pot
index bcc5e977a5..e815afd1f0 100644
--- a/applications/luci-app-mwan3/po/templates/mwan3.pot
+++ b/applications/luci-app-mwan3/po/templates/mwan3.pot
@@ -27,6 +27,9 @@ msgstr ""
msgid "Acceptable values: 1-256. Defaults to 1 if not set"
msgstr ""
+msgid "All required IP rules for interface %s found"
+msgstr ""
+
msgid "Check IP rules"
msgstr ""
@@ -231,6 +234,9 @@ msgstr ""
msgid "Min packet loss [%]"
msgstr ""
+msgid "Missing both IP rules for interface %s"
+msgstr ""
+
msgid ""
"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/"
"youtube.com/youtube\")"
@@ -242,6 +248,12 @@ msgstr ""
msgid "No MWAN interfaces found"
msgstr ""
+msgid "No gateway for interface %s found."
+msgstr ""
+
+msgid "No tracking Hosts for interface %s defined."
+msgstr ""
+
msgid "Notification"
msgstr ""
@@ -251,6 +263,9 @@ msgstr ""
msgid "Online"
msgstr ""
+msgid "Only one IP rules for interface %s found"
+msgstr ""
+
msgid "Ping count"
msgstr ""
@@ -300,6 +315,12 @@ msgstr ""
msgid "Recovery interval"
msgstr ""
+msgid "Routing table %s for interface %s found"
+msgstr ""
+
+msgid "Routing table %s for interface %s not found"
+msgstr ""
+
msgid "Rule"
msgstr ""
diff --git a/applications/luci-app-mwan3/po/zh-cn/mwan3.po b/applications/luci-app-mwan3/po/zh-cn/mwan3.po
index a6d73159f5..4fd6817407 100644
--- a/applications/luci-app-mwan3/po/zh-cn/mwan3.po
+++ b/applications/luci-app-mwan3/po/zh-cn/mwan3.po
@@ -38,6 +38,9 @@ msgstr "取值范围:1-1000。如果不填写,默认值为 1"
msgid "Acceptable values: 1-256. Defaults to 1 if not set"
msgstr "取值范围:1-256。如果不填写,默认值为 1"
+msgid "All required IP rules for interface %s found"
+msgstr ""
+
msgid "Check IP rules"
msgstr "检查 IP 规则"
@@ -251,6 +254,9 @@ msgstr "最小数据包延迟 [ms]"
msgid "Min packet loss [%]"
msgstr "最小数据包丢失率 [%]"
+msgid "Missing both IP rules for interface %s"
+msgstr ""
+
msgid ""
"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/"
"youtube.com/youtube\")"
@@ -264,6 +270,12 @@ msgstr "否"
msgid "No MWAN interfaces found"
msgstr "没有找到 MWAN 接口"
+msgid "No gateway for interface %s found."
+msgstr ""
+
+msgid "No tracking Hosts for interface %s defined."
+msgstr ""
+
msgid "Notification"
msgstr "通知"
@@ -273,6 +285,9 @@ msgstr "离线"
msgid "Online"
msgstr "在线"
+msgid "Only one IP rules for interface %s found"
+msgstr ""
+
msgid "Ping count"
msgstr "Ping 计数"
@@ -327,6 +342,12 @@ msgstr "通信协议"
msgid "Recovery interval"
msgstr "故障恢复间隔"
+msgid "Routing table %s for interface %s found"
+msgstr ""
+
+msgid "Routing table %s for interface %s not found"
+msgstr ""
+
msgid "Rule"
msgstr "规则"
diff --git a/applications/luci-app-mwan3/po/zh-tw/mwan3.po b/applications/luci-app-mwan3/po/zh-tw/mwan3.po
index 00baedf216..bb17b559d2 100644
--- a/applications/luci-app-mwan3/po/zh-tw/mwan3.po
+++ b/applications/luci-app-mwan3/po/zh-tw/mwan3.po
@@ -38,6 +38,9 @@ msgstr "取值範圍:1-1000。如果不填寫,預設值為 1"
msgid "Acceptable values: 1-256. Defaults to 1 if not set"
msgstr "取值範圍:1-256。如果不填寫,預設值為 1"
+msgid "All required IP rules for interface %s found"
+msgstr ""
+
msgid "Check IP rules"
msgstr "檢查 IP 規則"
@@ -251,6 +254,9 @@ msgstr "最小資料包延遲 [ms]"
msgid "Min packet loss [%]"
msgstr "最小資料包丟失率 [%]"
+msgid "Missing both IP rules for interface %s"
+msgstr ""
+
msgid ""
"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/"
"youtube.com/youtube\")"
@@ -264,6 +270,12 @@ msgstr "否"
msgid "No MWAN interfaces found"
msgstr "沒有找到 MWAN 介面"
+msgid "No gateway for interface %s found."
+msgstr ""
+
+msgid "No tracking Hosts for interface %s defined."
+msgstr ""
+
msgid "Notification"
msgstr "通知"
@@ -273,6 +285,9 @@ msgstr "離線"
msgid "Online"
msgstr "在線"
+msgid "Only one IP rules for interface %s found"
+msgstr ""
+
msgid "Ping count"
msgstr "Ping 計數"
@@ -327,6 +342,12 @@ msgstr "通訊協議"
msgid "Recovery interval"
msgstr "故障恢復間隔"
+msgid "Routing table %s for interface %s found"
+msgstr ""
+
+msgid "Routing table %s for interface %s not found"
+msgstr ""
+
msgid "Rule"
msgstr "規則"
diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
index dc7718217c..6dc43bec24 100644
--- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
+++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
@@ -204,10 +204,6 @@ local knownParams = {
"dev_node",
"/dev/net/tun",
translate("Use tun/tap device node") },
- { Flag,
- "tun_ipv6",
- 0,
- translate("Make tun device IPv6 capable") },
{ Value,
"ifconfig",
"10.200.200.3 10.200.200.1",
@@ -248,15 +244,6 @@ local knownParams = {
"mtu_test",
0,
translate("Empirically measure MTU") },
- { ListValue,
- "comp_lzo",
- { "yes", "no", "adaptive" },
- translate("Use fast LZO compression") },
- { Flag,
- "comp_noadapt",
- 0,
- translate("Don't use adaptive lzo compression"),
- { comp_lzo=1 } },
{ Value,
"link_mtu",
1500,
@@ -375,7 +362,7 @@ local knownParams = {
{ client="0" }, { client="" } },
{ DynamicList,
"push",
- { "redirect-gateway", "comp-lzo" },
+ { "redirect-gateway" },
translate("Push options to peer"),
{ client="0" }, { client="" } },
{ Flag,
@@ -398,12 +385,6 @@ local knownParams = {
"/etc/openvpn/ipp.txt 600",
translate("Persist/unpersist ifconfig-pool"),
{ client="0" }, { client="" } },
- -- deprecated and replaced by --topology p2p
- -- { Flag,
- -- "ifconfig_pool_linear",
- -- 0,
- -- translate("Use individual addresses rather than /30 subnets"),
- -- { client="0" }, { client="" } },
{ Value,
"ifconfig_push",
"10.200.200.1 255.255.255.255",
@@ -470,11 +451,6 @@ local knownParams = {
translate("Allowed maximum of new connections"),
{ client="0" }, { client="" } },
{ Flag,
- "client_cert_not_required",
- 0,
- translate("Don't require client certificate"),
- { client="0" }, { client="" } },
- { Flag,
"username_as_common_name",
0,
translate("Use username as common name"),
@@ -591,10 +567,6 @@ local knownParams = {
"engine",
"dynamic",
translate("Enable OpenSSL hardware crypto engines") },
- { Flag,
- "no_replay",
- 0,
- translate("Disable replay protection") },
{ Value,
"replay_window",
"64 15",
@@ -608,10 +580,6 @@ local knownParams = {
"/var/run/openvpn-replay-state",
translate("Persist replay-protection state") },
{ Flag,
- "no_iv",
- 0,
- translate("Disable cipher initialisation vector") },
- { Flag,
"tls_server",
0,
translate("Enable TLS and assume server role"),
diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua
index 3f651c0ada..483860c8e9 100644
--- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua
+++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua
@@ -4,7 +4,6 @@
require("luci.ip")
require("luci.model.uci")
-
local basicParams = {
--
-- Widget, Name, Default(s), Description
@@ -14,14 +13,12 @@ local basicParams = {
{ Value, "nice",0, translate("Change process priority") },
{ Value,"port",1194, translate("TCP/UDP port # for both local and remote") },
{ ListValue,"dev_type",{ "tun", "tap" }, translate("Type of used device") },
- { Flag,"tun_ipv6",0, translate("Make tun device IPv6 capable") },
{ Value,"ifconfig","10.200.200.3 10.200.200.1", translate("Set tun/tap adapter parameters") },
{ Value,"server","10.200.200.0 255.255.255.0", translate("Configure server mode") },
{ Value,"server_bridge","192.168.1.1 255.255.255.0 192.168.1.128 192.168.1.254", translate("Configure server bridge") },
{ Flag,"nobind",0, translate("Do not bind to local address and port") },
- { ListValue,"comp_lzo",{"yes","no","adaptive"}, translate("Use fast LZO compression") },
{ Value,"keepalive","10 60", translate("Helper directive to simplify the expression of --ping and --ping-restart in server mode configurations") },
{ ListValue,"proto",{ "udp", "tcp-client", "tcp-server" }, translate("Use protocol") },
diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua
index a6b0e1dd90..e17aa4085b 100644
--- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua
+++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua
@@ -52,21 +52,22 @@ function s.create(self, name)
luci.cbi.CREATE_PREFIX .. self.config .. "." ..
self.sectiontype .. ".select"
)
- name = luci.http.formvalue(
+ local name = luci.http.formvalue(
luci.cbi.CREATE_PREFIX .. self.config .. "." ..
self.sectiontype .. ".text"
)
if #name > 3 and not name:match("[^a-zA-Z0-9_]") then
- uci:section(
- "openvpn", "openvpn", name,
- uci:get_all( "openvpn_recipes", recipe )
- )
-
- uci:delete("openvpn", name, "_role")
- uci:delete("openvpn", name, "_description")
- uci:save("openvpn")
-
- luci.http.redirect( self.extedit:format(name) )
+ local s = uci:section("openvpn", "openvpn", name)
+ if s then
+ local options = uci:get_all("openvpn_recipes", recipe)
+ for k, v in pairs(options) do
+ uci:set("openvpn", name, k, v)
+ end
+ uci:delete("openvpn", name, "_role")
+ uci:delete("openvpn", name, "_description")
+ uci:save("openvpn")
+ luci.http.redirect( self.extedit:format(name) )
+ end
elseif #name > 0 then
self.invalid_cts = true
end
diff --git a/applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm b/applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm
index f22cb68c7b..8cb019b461 100644
--- a/applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm
+++ b/applications/luci-app-openvpn/luasrc/view/openvpn/pageswitch.htm
@@ -4,11 +4,11 @@
Licensed to the public under the Apache License 2.0.
-%>
-<fieldset class="cbi-section">
- <legend>
+<div class="cbi-section">
+ <h3>
<a href="<%=url('admin/services/openvpn')%>"><%:Overview%></a> &raquo;
<%=luci.i18n.translatef("Instance \"%s\"", self.instance)%>
- </legend>
+ </h3>
<% if self.mode == "basic" then %>
<a href="<%=url('admin/services/openvpn/advanced', self.instance, "Service")%>"><%:Switch to advanced configuration »%></a>
@@ -27,4 +27,4 @@
<% if next(self.categories, i) then %>|<% end %>
<% end %>
<% end %>
-</fieldset>
+</div>
diff --git a/applications/luci-app-openvpn/root/etc/config/openvpn_recipes b/applications/luci-app-openvpn/root/etc/config/openvpn_recipes
index 1b394dffbc..69270e48e1 100644
--- a/applications/luci-app-openvpn/root/etc/config/openvpn_recipes
+++ b/applications/luci-app-openvpn/root/etc/config/openvpn_recipes
@@ -2,101 +2,94 @@
# Routed point-to-point server
#
config openvpn_recipe server_tun_ptp
- option _description "Simple server configuration for a routed point-to-point VPN"
- option _role "server"
- option dev "tun"
- option ifconfig "10.0.0.1 10.0.0.2"
- option secret "shared-secret.key"
- option keepalive "10 60"
- option comp_lzo "yes"
- option verb "3"
- option mssfix "1420"
+ option _description 'Simple server configuration for a routed point-to-point VPN'
+ option _role 'server'
+ option dev 'tun'
+ option ifconfig '10.0.0.1 10.0.0.2'
+ option secret 'shared-secret.key'
+ option keepalive '10 60'
+ option verb '3'
+ option mssfix '1420'
#
# Routed point-to-point client
#
config openvpn_recipe client_tun_ptp
- option _description "Simple client configuration for a routed point-to-point VPN"
- option _role "client"
- option dev "tun"
- list remote "vpnserver.example.org"
- option ifconfig "10.0.0.2 10.0.0.1"
- option secret "shared-secret.key"
- option nobind "1"
- option comp_lzo "yes"
- option verb "3"
+ option _description 'Simple client configuration for a routed point-to-point VPN'
+ option _role 'client'
+ option dev 'tun'
+ list remote 'vpnserver.example.org'
+ option ifconfig '10.0.0.2 10.0.0.1'
+ option secret 'shared-secret.key'
+ option nobind '1'
+ option verb '3'
#
# Routed multi-client server
#
config openvpn_recipe server_tun
- option _description "Server configuration for a routed multi-client VPN"
- option _role "server"
- option dev "tun"
- option server "10.0.100.0 255.255.255.0"
- option ca "ca.crt"
- option cert "server.crt"
- option key "server.key"
- option dh "dh1024.pem"
- option keepalive "10 60"
- option comp_lzo "yes"
- option verb "3"
- option mssfix "1420"
+ option _description 'Server configuration for a routed multi-client VPN'
+ option _role 'server'
+ option dev 'tun'
+ option server '10.0.100.0 255.255.255.0'
+ option ca 'ca.crt'
+ option cert 'server.crt'
+ option key 'server.key'
+ option dh 'dh1024.pem'
+ option keepalive '10 60'
+ option verb '3'
+ option mssfix '1420'
#
# Routed client
#
config openvpn_recipe client_tun
- option _description "Client configuration for a routed multi-client VPN"
- option _role "client"
- option client "1"
- option dev "tun"
- list remote "vpnserver.example.org"
- option pkcs12 "my_client.p12"
- option remote_cert_tls "server"
- option comp_lzo "yes"
- option nobind "1"
- option persist_key "1"
- option persist_tun "1"
- option verb "3"
- option reneg_sec "0"
- option float "1"
+ option _description 'Client configuration for a routed multi-client VPN'
+ option _role 'client'
+ option client '1'
+ option dev 'tun'
+ list remote 'vpnserver.example.org'
+ option pkcs12 'my_client.p12'
+ option remote_cert_tls 'server'
+ option nobind '1'
+ option persist_key '1'
+ option persist_tun '1'
+ option verb '3'
+ option reneg_sec '0'
+ option float '1'
#
# Multi-client ethernet bridge server
#
config openvpn_recipe server_tap_bridge
- option _description "Server configuration for an ethernet bridge VPN"
- option _role "server"
- option dev "tap"
- option server_bridge "192.168.1.1 255.255.255.0 192.168.1.128 192.168.1.254"
- option ca "ca.crt"
- option cert "server.crt"
- option key "server.key"
- option dh "dh1024.pem"
- option keepalive "10 60"
- option comp_lzo "yes"
- option verb "3"
- option mssfix "1420"
+ option _description 'Server configuration for an ethernet bridge VPN'
+ option _role 'server'
+ option dev 'tap'
+ option server_bridge '192.168.1.1 255.255.255.0 192.168.1.128 192.168.1.254'
+ option ca 'ca.crt'
+ option cert 'server.crt'
+ option key 'server.key'
+ option dh 'dh1024.pem'
+ option keepalive '10 60'
+ option verb '3'
+ option mssfix '1420'
#
# Ethernet bridge client
#
config openvpn_recipe client_tap_bridge
- option _description "Client configuration for an ethernet bridge VPN"
- option _role "client"
- option client "1"
- option dev "tap"
- list remote "vpnserver.example.org"
- option ca "ca.crt"
- option cert "my_client.crt"
- option key "my_client.key"
- option dh "dh1024.pem"
- option remote_cert_tls "server"
- option comp_lzo "yes"
- option nobind "1"
- option persist_key "1"
- option verb "3"
- option reneg_sec "0"
- option float "1"
-
+ option _description 'Client configuration for an ethernet bridge VPN'
+ option _role 'client'
+ option client '1'
+ option dev 'tap'
+ list remote 'vpnserver.example.org'
+ option ca 'ca.crt'
+ option cert 'my_client.crt'
+ option key 'my_client.key'
+ option dh 'dh1024.pem'
+ option remote_cert_tls 'server'
+ option nobind '1'
+ option persist_key '1'
+ option verb '3'
+ option reneg_sec '0'
+ option float '1'
diff --git a/applications/luci-app-samba4/luasrc/model/cbi/samba4.lua b/applications/luci-app-samba4/luasrc/model/cbi/samba4.lua
index e5c0a1bed0..2a1399b96b 100644
--- a/applications/luci-app-samba4/luasrc/model/cbi/samba4.lua
+++ b/applications/luci-app-samba4/luasrc/model/cbi/samba4.lua
@@ -15,9 +15,20 @@ h = s:taboption("general", Flag, "homes", translate("Share home-directories"),
translate("Allow system users to reach their home directories via " ..
"network shares"))
h.rmempty = false
-s:taboption("general", Flag, "disable_netbios", translate("Disable Netbios"))
-s:taboption("general", Flag, "disable_ad_dc", translate("Disable Active Directory Domain Controller"))
-s:taboption("general", Flag, "disable_winbind", translate("Disable Winbind"))
+
+macos = s:taboption("general", Flag, "macos", translate("Enable macOS compatible shares"),
+ translate("Enables Apple's AAPL extension globally and adds macOS compatibility options to all shares."))
+macos.rmempty = false
+
+if nixio.fs.access("/usr/sbin/nmbd") then
+ s:taboption("general", Flag, "disable_netbios", translate("Disable Netbios"))
+end
+if nixio.fs.access("/usr/sbin/samba") then
+ s:taboption("general", Flag, "disable_ad_dc", translate("Disable Active Directory Domain Controller"))
+end
+if nixio.fs.access("/usr/sbin/winbindd") then
+ s:taboption("general", Flag, "disable_winbind", translate("Disable Winbind"))
+end
tmpl = s:taboption("template", Value, "_tmpl",
translate("Edit the template that is used for generating the samba configuration."),
@@ -49,42 +60,53 @@ if nixio.fs.access("/etc/config/fstab") then
pth.titleref = luci.dispatcher.build_url("admin", "system", "fstab")
end
-s:option(Value, "users", translate("Allowed users")).rmempty = true
+br = s:option(Flag, "browseable", translate("Browse-able"))
+br.enabled = "yes"
+br.disabled = "no"
+br.default = "yes"
ro = s:option(Flag, "read_only", translate("Read-only"))
-ro.rmempty = false
ro.enabled = "yes"
ro.disabled = "no"
+ro.default = "yes"
-br = s:option(Flag, "browseable", translate("Browseable"))
-br.rmempty = false
-br.default = "yes"
-br.enabled = "yes"
-br.disabled = "no"
+s:option(Flag, "force_root", translate("Force Root"))
+
+au = s:option(Value, "users", translate("Allowed users"))
+au.rmempty = true
go = s:option(Flag, "guest_ok", translate("Allow guests"))
-go.rmempty = false
go.enabled = "yes"
go.disabled = "no"
+go.default = "no"
gon = s:option(Flag, "guest_only", translate("Guests only"))
-gon.rmempty = false
gon.enabled = "yes"
gon.disabled = "no"
+gon.default = "no"
-io = s:option(Flag, "inherit_owner", translate("Inherit owner"))
-io.rmempty = false
-io.enabled = "yes"
-io.disabled = "no"
+iown = s:option(Flag, "inherit_owner", translate("Inherit owner"))
+iown.enabled = "yes"
+iown.disabled = "no"
+iown.default = "no"
cm = s:option(Value, "create_mask", translate("Create mask"))
cm.rmempty = true
-cm.size = 4
+cm.maxlength = 4
+cm.placeholder = "0666"
dm = s:option(Value, "dir_mask", translate("Directory mask"))
dm.rmempty = true
-dm.size = 4
+dm.maxlength = 4
+dm.placeholder = "0777"
+
+vfs = s:option(Value, "vfs_objects", translate("Vfs objects"))
+vfs.rmempty = true
+
+s:option(Flag, "timemachine", translate("Apple Time-machine share"))
-s:option(Value, "vfs_objects", translate("Vfs objects")).rmempty = true
+tms = s:option(Value, "timemachine_maxsize", translate("Time-machine size in GB"))
+tms.rmempty = true
+tms.maxlength = 5
return m
diff --git a/applications/luci-app-samba4/po/ca/samba4.po b/applications/luci-app-samba4/po/ca/samba4.po
index ddd306d07a..0183f56b70 100644
--- a/applications/luci-app-samba4/po/ca/samba4.po
+++ b/applications/luci-app-samba4/po/ca/samba4.po
@@ -26,7 +26,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Usuaris permesos"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -53,6 +56,17 @@ msgstr "Edita plantilla"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Edita la plantilla que s'usa per generar la configuració de samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Ajusts generals"
@@ -99,6 +113,9 @@ msgstr ""
"barra ('|') no es deuen canviar. Reben els seus valors de la pestanya "
"'Ajusts generals'."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/cs/samba4.po b/applications/luci-app-samba4/po/cs/samba4.po
index a013bcc13e..88cd178367 100644
--- a/applications/luci-app-samba4/po/cs/samba4.po
+++ b/applications/luci-app-samba4/po/cs/samba4.po
@@ -22,7 +22,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Povolení uživatelé"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -51,6 +54,17 @@ msgstr ""
"Editovat šablonu, která je použita pro generování konfiguračního souboru pro "
"sambu."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Obecné nastavení"
@@ -96,6 +110,9 @@ msgstr ""
"konfigurace samby generována. Hodnoty uzavřené rourou (\"|\"), by se neměly "
"měnit. Tyto hodnoty jsou brány ze záložky \"Obecná nastavení\"."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/de/samba4.po b/applications/luci-app-samba4/po/de/samba4.po
index b9caa61d1c..35a4815284 100644
--- a/applications/luci-app-samba4/po/de/samba4.po
+++ b/applications/luci-app-samba4/po/de/samba4.po
@@ -24,17 +24,20 @@ msgstr ""
msgid "Allowed users"
msgstr "Legitimierte Benutzer"
-msgid "Browseable"
-msgstr "Suchbar"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
+msgstr "Durchsuchbar"
msgid "Create mask"
-msgstr "Berechtigungsmaske für neue Dateien"
+msgstr "Berechtigungs-maske für neue Dateien"
msgid "Description"
msgstr "Beschreibung"
msgid "Directory mask"
-msgstr "Verzeichnismaske"
+msgstr "Verzeichnis-maske"
msgid "Disable Active Directory Domain Controller"
msgstr "Deaktiviere Active Directory Domain Controller"
@@ -53,6 +56,17 @@ msgstr ""
"Hier kann das Template bearbeitet werden, das zur Erstellung der Samba-"
"Konfigurationsdateien verwendet wird."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Allgemeine Einstellungen"
@@ -69,7 +83,7 @@ msgid "Name"
msgstr "Name"
msgid "Network Shares"
-msgstr "Netzwerkfreigaben"
+msgstr "Netzwerk-freigaben"
msgid "Path"
msgstr "Pfad"
@@ -83,7 +97,7 @@ msgid "Read-only"
msgstr "Nur Lesen"
msgid "Share home-directories"
-msgstr "Heimatverzeichnisse freigeben"
+msgstr "Heimat-verzeichnisse freigeben"
msgid "Shared Directories"
msgstr "Freigegebene Verzeichnisse"
@@ -100,12 +114,18 @@ msgstr ""
"werden, da diese beim Erstellen der Konfiguration mit den Werten aus dem Tab "
"'Allgemeine Einstellungen' ersetzt werden."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
-msgstr "Virtuelle Filesystem Module"
+msgstr ""
msgid "Workgroup"
msgstr "Arbeitsgruppe"
+#~ msgid "Browseable"
+#~ msgstr "Suchbar"
+
#~ msgid "Mask for new directories"
#~ msgstr "Maske für neue Verzeichnisse"
diff --git a/applications/luci-app-samba4/po/el/samba4.po b/applications/luci-app-samba4/po/el/samba4.po
index 946915f74d..88999d4071 100644
--- a/applications/luci-app-samba4/po/el/samba4.po
+++ b/applications/luci-app-samba4/po/el/samba4.po
@@ -22,7 +22,10 @@ msgstr ""
msgid "Allowed users"
msgstr ""
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -49,6 +52,17 @@ msgstr ""
msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -91,6 +105,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/en/samba4.po b/applications/luci-app-samba4/po/en/samba4.po
index 75ef0f96e9..35ecc99e25 100644
--- a/applications/luci-app-samba4/po/en/samba4.po
+++ b/applications/luci-app-samba4/po/en/samba4.po
@@ -22,7 +22,10 @@ msgstr "Allow system users to reach their home directories via network shares"
msgid "Allowed users"
msgstr "Allowed users"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -49,6 +52,17 @@ msgstr "Edit template"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Edit the template that is used for generating the Samba configuration."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "General settings"
@@ -95,6 +109,9 @@ msgstr ""
"('|') should not be changed. They get their values from the 'General "
"settings' tab."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/es/samba4.po b/applications/luci-app-samba4/po/es/samba4.po
index 1e6b8fd368..99d64f970b 100644
--- a/applications/luci-app-samba4/po/es/samba4.po
+++ b/applications/luci-app-samba4/po/es/samba4.po
@@ -24,7 +24,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Usuarios permitidos"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -51,6 +54,17 @@ msgstr "Editar plantilla"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Editar la plantilla usada para generar la configuración de samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Configuración general"
@@ -96,6 +110,9 @@ msgstr ""
"generará la configuración de samba. Los valores entre tuberías ('|') no "
"deben cambiarse. Su valor se toma desde la pestaña 'Configuración General'."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/fr/samba4.po b/applications/luci-app-samba4/po/fr/samba4.po
index 53212311cf..a5b7dc7935 100644
--- a/applications/luci-app-samba4/po/fr/samba4.po
+++ b/applications/luci-app-samba4/po/fr/samba4.po
@@ -24,7 +24,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Utilisateurs autorisés"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -51,6 +54,17 @@ msgstr "Éditer le modèle"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Éditer le modèle utilisé pour générer la configuration Samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Paramètres généraux"
@@ -97,6 +111,9 @@ msgstr ""
" (« | ») ne doivent pas être modifiées, elles proviennent de l'onglet "
"« Paramètres généraux »."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/he/samba4.po b/applications/luci-app-samba4/po/he/samba4.po
index 3f670e6c2d..859dd8d896 100644
--- a/applications/luci-app-samba4/po/he/samba4.po
+++ b/applications/luci-app-samba4/po/he/samba4.po
@@ -17,7 +17,10 @@ msgstr ""
msgid "Allowed users"
msgstr ""
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -44,6 +47,17 @@ msgstr ""
msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -86,6 +100,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/hu/samba4.po b/applications/luci-app-samba4/po/hu/samba4.po
index 08ff729f4b..8dbe91558d 100644
--- a/applications/luci-app-samba4/po/hu/samba4.po
+++ b/applications/luci-app-samba4/po/hu/samba4.po
@@ -22,7 +22,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Engedélyezett felhasználók"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -51,6 +54,17 @@ msgstr ""
"Itt szerkesztheti a sablont, ami a végleges samba konfiguráció "
"elkészítéséhez kerül felhasználásra."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Általános beállítások"
@@ -97,6 +111,9 @@ msgstr ""
"közé zárt értékek módosítása nem szükséges, az értéküket az általános "
"beállítások fülről kapják."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/it/samba4.po b/applications/luci-app-samba4/po/it/samba4.po
index 93359d7ba7..d7f5631965 100644
--- a/applications/luci-app-samba4/po/it/samba4.po
+++ b/applications/luci-app-samba4/po/it/samba4.po
@@ -24,8 +24,11 @@ msgstr ""
msgid "Allowed users"
msgstr "Utenti ammessi"
-msgid "Browseable"
-msgstr "Sfogliabile"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
+msgstr ""
msgid "Create mask"
msgstr "Crea maschera"
@@ -52,6 +55,17 @@ msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
"Modifica il template utilizzato per generare la configurazione di samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Opzioni Generali"
@@ -100,12 +114,18 @@ msgstr ""
"('|') non dovrebbero essere toccati. Essi vengono generati dalla schermata "
"'Opzioni Generali'."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
msgid "Workgroup"
msgstr "Gruppo di lavoro"
+#~ msgid "Browseable"
+#~ msgstr "Sfogliabile"
+
#~ msgid "Mask for new directories"
#~ msgstr "Maschera per le nuove cartelle"
diff --git a/applications/luci-app-samba4/po/ja/samba4.po b/applications/luci-app-samba4/po/ja/samba4.po
index 3e82cbca2c..1358c2bd0e 100644
--- a/applications/luci-app-samba4/po/ja/samba4.po
+++ b/applications/luci-app-samba4/po/ja/samba4.po
@@ -22,7 +22,10 @@ msgstr "sambaを介してユーザーのホームディレクトリへのアク
msgid "Allowed users"
msgstr "許可されたユーザー"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -49,6 +52,17 @@ msgstr "テンプレートの編集"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "samba設定を生成するテンプレートを編集します。"
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "一般設定"
@@ -96,6 +110,9 @@ msgstr ""
"容です。パイプ('|')で閉じられた値は変更しないでください。これらの値は'一般設"
"定'タブ内の値によって置き換えられます。"
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/ms/samba4.po b/applications/luci-app-samba4/po/ms/samba4.po
index 9e138471d0..c6ca22fba0 100644
--- a/applications/luci-app-samba4/po/ms/samba4.po
+++ b/applications/luci-app-samba4/po/ms/samba4.po
@@ -16,7 +16,10 @@ msgstr ""
msgid "Allowed users"
msgstr ""
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -43,6 +46,17 @@ msgstr ""
msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -85,6 +99,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/no/samba4.po b/applications/luci-app-samba4/po/no/samba4.po
index 6e84259337..8742cbb0a5 100644
--- a/applications/luci-app-samba4/po/no/samba4.po
+++ b/applications/luci-app-samba4/po/no/samba4.po
@@ -13,7 +13,10 @@ msgstr "Tillat systembrukere å nå sine hjemmekataloger via nettverks mapper."
msgid "Allowed users"
msgstr "Tillatte brukere"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -40,6 +43,17 @@ msgstr "Rediger Mal"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Rediger malen som brukes til å generere samba konfigurasjonen."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Generelle Innstillinger"
@@ -85,6 +99,9 @@ msgstr ""
"konfigurasjon vil bli generert fra. Verdier omsluttet av ('|') bør ikke "
"endres. De får sine verdier fra 'Generelle Innstillinger' fanen."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/pl/samba4.po b/applications/luci-app-samba4/po/pl/samba4.po
index aec7082d53..faad499c46 100644
--- a/applications/luci-app-samba4/po/pl/samba4.po
+++ b/applications/luci-app-samba4/po/pl/samba4.po
@@ -23,7 +23,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Użytkownicy z prawem dostępu"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -50,6 +53,17 @@ msgstr "Edytuj szablon"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Edytuj szablon, który jest używany do generowania konfiguracji samby."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Ustawienia ogólne"
@@ -96,6 +110,9 @@ msgstr ""
"kreski pionowej ('|') nie powinny być zmieniane. Wartości ich zostaną "
"pobrane z zakładki \"Ustawienia ogólne\"."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/pt-br/samba4.po b/applications/luci-app-samba4/po/pt-br/samba4.po
index 8f6dbb6c99..5383aa32de 100644
--- a/applications/luci-app-samba4/po/pt-br/samba4.po
+++ b/applications/luci-app-samba4/po/pt-br/samba4.po
@@ -24,7 +24,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Usuários permitidos"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -51,6 +54,17 @@ msgstr "Editar modelo"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Edita o modelo que é usado para gerar a configuração do samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Configurações Gerais"
@@ -97,6 +111,9 @@ msgstr ""
"não devem ser alterados. Estes valores serão obtidos a partir da aba "
"'Configurações Gerais'."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/pt/samba4.po b/applications/luci-app-samba4/po/pt/samba4.po
index 2f8f2dafc0..50c1645f0c 100644
--- a/applications/luci-app-samba4/po/pt/samba4.po
+++ b/applications/luci-app-samba4/po/pt/samba4.po
@@ -24,7 +24,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Utilizadores Permitidos"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -51,6 +54,17 @@ msgstr "Editar Template"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Editar a template que é utilizada para gerar a configuração samba"
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Definições Gerais"
@@ -97,6 +111,9 @@ msgstr ""
"| não devem ser alterados. Eles recebem os valores do separador 'Definições "
"Gerais'."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/ro/samba4.po b/applications/luci-app-samba4/po/ro/samba4.po
index d9f698971e..b481b1f952 100644
--- a/applications/luci-app-samba4/po/ro/samba4.po
+++ b/applications/luci-app-samba4/po/ro/samba4.po
@@ -23,7 +23,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Utilizatori acceptati"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -50,6 +53,17 @@ msgstr "Editeaza sablon"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Editeaza sablonul care e folosit pentru generarea configuratiei samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Setari generale"
@@ -95,6 +109,9 @@ msgstr ""
"genereaza configuratia samba. Valorile dintre liniuta verticala ('|') n-ar "
"trebui schimbate, ele iau valorile direct din tab-ul de \"Setari generale\"."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/ru/samba4.po b/applications/luci-app-samba4/po/ru/samba4.po
index f588424d95..f7ec3269eb 100644
--- a/applications/luci-app-samba4/po/ru/samba4.po
+++ b/applications/luci-app-samba4/po/ru/samba4.po
@@ -26,8 +26,11 @@ msgstr ""
msgid "Allowed users"
msgstr "Разрешенные пользователи"
-msgid "Browseable"
-msgstr "Виден в списке доступных ресурсов"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
+msgstr ""
msgid "Create mask"
msgstr "Создать маску"
@@ -53,6 +56,17 @@ msgstr "Настройка config файла"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "Настройка config<br />файла samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Основные настройки"
@@ -101,12 +115,18 @@ msgstr ""
"('|'), не должны быть изменены.<br />Они будут автоматически заменены на "
"значения со страницы 'Основные настройки'."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
msgid "Workgroup"
msgstr "Рабочая группа"
+#~ msgid "Browseable"
+#~ msgstr "Виден в списке доступных ресурсов"
+
#~ msgid "Mask for new directories"
#~ msgstr "Маска для новых папок"
diff --git a/applications/luci-app-samba4/po/sk/samba4.po b/applications/luci-app-samba4/po/sk/samba4.po
index 53e8e214ea..44299ac1aa 100644
--- a/applications/luci-app-samba4/po/sk/samba4.po
+++ b/applications/luci-app-samba4/po/sk/samba4.po
@@ -17,7 +17,10 @@ msgstr ""
msgid "Allowed users"
msgstr ""
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -44,6 +47,17 @@ msgstr ""
msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -86,6 +100,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/sv/samba4.po b/applications/luci-app-samba4/po/sv/samba4.po
index d9c0cc0df9..39695eb0b7 100644
--- a/applications/luci-app-samba4/po/sv/samba4.po
+++ b/applications/luci-app-samba4/po/sv/samba4.po
@@ -18,7 +18,10 @@ msgstr "Tillåt systemanvändare att nå deras hem-mappar via nätverksdelningar
msgid "Allowed users"
msgstr "Tillåtna användare"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -46,6 +49,17 @@ msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
"Redigera mallen som används för att generera konfigurationen för samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Generella inställningar"
@@ -88,6 +102,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/templates/samba4.pot b/applications/luci-app-samba4/po/templates/samba4.pot
index 3041807b14..33142d047c 100644
--- a/applications/luci-app-samba4/po/templates/samba4.pot
+++ b/applications/luci-app-samba4/po/templates/samba4.pot
@@ -10,7 +10,10 @@ msgstr ""
msgid "Allowed users"
msgstr ""
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -37,6 +40,17 @@ msgstr ""
msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -79,6 +93,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/tr/samba4.po b/applications/luci-app-samba4/po/tr/samba4.po
index 1c233f1ec3..4368fb2710 100644
--- a/applications/luci-app-samba4/po/tr/samba4.po
+++ b/applications/luci-app-samba4/po/tr/samba4.po
@@ -17,7 +17,10 @@ msgstr ""
msgid "Allowed users"
msgstr ""
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -44,6 +47,17 @@ msgstr ""
msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -86,6 +100,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/uk/samba4.po b/applications/luci-app-samba4/po/uk/samba4.po
index e228baec2e..a4f7e5a02b 100644
--- a/applications/luci-app-samba4/po/uk/samba4.po
+++ b/applications/luci-app-samba4/po/uk/samba4.po
@@ -23,7 +23,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Дозволені користувачі"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
msgid "Create mask"
@@ -51,6 +54,17 @@ msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
"Редагувати шаблон, який використовується для створення конфігурації samba."
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "Загальні настройки"
@@ -97,6 +111,9 @@ msgstr ""
"\" (\"|\") не повинні змінюватися. Вони отримують свої значення з вкладки "
"\"Загальні налаштування\"."
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/vi/samba4.po b/applications/luci-app-samba4/po/vi/samba4.po
index b176471b0d..d597628229 100644
--- a/applications/luci-app-samba4/po/vi/samba4.po
+++ b/applications/luci-app-samba4/po/vi/samba4.po
@@ -28,7 +28,10 @@ msgstr ""
msgid "Allowed users"
msgstr "Người sử dụng được cho phép"
-msgid "Browseable"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
msgstr ""
#, fuzzy
@@ -57,6 +60,17 @@ msgstr ""
msgid "Edit the template that is used for generating the samba configuration."
msgstr ""
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -100,6 +114,9 @@ msgid ""
"Settings' tab."
msgstr ""
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr ""
diff --git a/applications/luci-app-samba4/po/zh-cn/samba4.po b/applications/luci-app-samba4/po/zh-cn/samba4.po
index bab5f9b9cb..f49abac4e9 100644
--- a/applications/luci-app-samba4/po/zh-cn/samba4.po
+++ b/applications/luci-app-samba4/po/zh-cn/samba4.po
@@ -25,8 +25,11 @@ msgstr "允许系统用户通过网络共享访问他们的家目录"
msgid "Allowed users"
msgstr "允许用户"
-msgid "Browseable"
-msgstr "可浏览"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
+msgstr ""
msgid "Create mask"
msgstr "创建权限掩码"
@@ -52,6 +55,17 @@ msgstr "编辑模板"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "编辑用来生成 samba 设置的模板"
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "基本设置"
@@ -96,12 +110,18 @@ msgstr ""
"这是将从其上生成 samba 配置的文件“/etc/samba/smb.conf.template”的内容。由管道"
"符(“|”)包围的值不应更改。它们将从“常规设置”标签中获取其值。"
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr "VFS 对象"
msgid "Workgroup"
msgstr "工作组"
+#~ msgid "Browseable"
+#~ msgstr "可浏览"
+
#~ msgid "Mask for new directories"
#~ msgstr "新目录权限掩码"
diff --git a/applications/luci-app-samba4/po/zh-tw/samba4.po b/applications/luci-app-samba4/po/zh-tw/samba4.po
index 17d18e6200..ae962f9e82 100644
--- a/applications/luci-app-samba4/po/zh-tw/samba4.po
+++ b/applications/luci-app-samba4/po/zh-tw/samba4.po
@@ -25,8 +25,11 @@ msgstr "允許系統使用者通過網路共享訪問他們的家目錄"
msgid "Allowed users"
msgstr "允許使用者"
-msgid "Browseable"
-msgstr "可瀏覽"
+msgid "Apple Time-machine share"
+msgstr ""
+
+msgid "Browse-able"
+msgstr ""
msgid "Create mask"
msgstr "建立權限掩碼"
@@ -52,6 +55,17 @@ msgstr "編輯模板"
msgid "Edit the template that is used for generating the samba configuration."
msgstr "編輯用來生成 samba 設定的模板"
+msgid "Enable macOS compatible shares"
+msgstr ""
+
+msgid ""
+"Enables Apple's AAPL extension globally and adds macOS compatibility options "
+"to all shares."
+msgstr ""
+
+msgid "Force Root"
+msgstr ""
+
msgid "General Settings"
msgstr "基本設定"
@@ -96,12 +110,18 @@ msgstr ""
"這是將從其上生成 samba 配置的檔案“/etc/samba/smb.conf.template”的內容。由管道"
"符(“|”)包圍的值不應更改。它們將從“常規設定”標籤中獲取其值。"
+msgid "Time-machine size in GB"
+msgstr ""
+
msgid "Vfs objects"
msgstr "VFS 物件"
msgid "Workgroup"
msgstr "工作組"
+#~ msgid "Browseable"
+#~ msgstr "可瀏覽"
+
#~ msgid "Mask for new directories"
#~ msgstr "新目錄權限掩碼"
diff --git a/applications/luci-app-unbound/luasrc/controller/unbound.lua b/applications/luci-app-unbound/luasrc/controller/unbound.lua
index 771385b798..734476acae 100644
--- a/applications/luci-app-unbound/luasrc/controller/unbound.lua
+++ b/applications/luci-app-unbound/luasrc/controller/unbound.lua
@@ -52,6 +52,8 @@ function index()
entry({"admin", "services", "unbound", "status", "localzone"},
call("QueryLocalZone"), _("Local Zones"), 30).leaf = true
+ entry({"admin", "services", "unbound", "status", "dumpcache"},
+ call("QueryCacheDump"), _("Cache Dump"), 40).leaf = true
else
entry({"admin", "services", "unbound", "status", "statistics"},
call("ShowEmpty"), _("Statistics"), 10).leaf = true
@@ -151,6 +153,16 @@ function QueryLocalZone()
{heading = "", description = lcldesc, content = lcldata})
end
+function QueryCacheDump()
+ local lcldata = luci.util.exec(
+ "unbound-control -c /var/lib/unbound/unbound.conf dump_cache")
+
+ local lcldesc = luci.i18n.translate(
+ "This shows Unbound 'cache_dump'. Usefull to check if unbound is actually caching dns entities.")
+
+ luci.template.render("unbound/show-textbox",
+ {heading = "", description = lcldesc, content = lcldata})
+end
function ShowUnboundConf()
local unboundfile = "/var/lib/unbound/unbound.conf"
diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua
index df2164f8a6..60d0477d53 100644
--- a/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua
+++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound/configure.lua
@@ -210,10 +210,11 @@ if (valman == "0") then
pro = s1:taboption("resource", ListValue, "protocol",
translate("Recursion Protocol"),
- translate("Chose the protocol recursion queries leave on"))
+ translate("Chose the IP versions used upstream and downstream"))
pro:value("default", translate("Default"))
pro:value("ip4_only", translate("IP4 Only"))
- pro:value("ip6_only", translate("IP6 Only"))
+ pro:value("ip6_local", translate("IP4 All and IP6 Local"))
+ pro:value("ip6_only", translate("IP6 Only*"))
pro:value("ip6_prefer", translate("IP6 Preferred"))
pro:value("mixed", translate("IP4 and IP6"))
pro.rmempty = false
diff --git a/modules/luci-base/luasrc/sys.lua b/modules/luci-base/luasrc/sys.lua
index 823e20770c..1436a3a235 100644
--- a/modules/luci-base/luasrc/sys.lua
+++ b/modules/luci-base/luasrc/sys.lua
@@ -70,6 +70,24 @@ function mounts()
return data
end
+function mtds()
+ local data = {}
+
+ if fs.access("/proc/mtd") then
+ for l in io.lines("/proc/mtd") do
+ local d, s, e, n = l:match('^([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+"([^%s]+)"')
+ if s and n then
+ local d = {}
+ d.size = tonumber(s, 16)
+ d.name = n
+ table.insert(data, d)
+ end
+ end
+ end
+
+ return data
+end
+
-- containing the whole environment is returned otherwise this function returns
-- the corresponding string value for the given name or nil if no such variable
-- exists.
diff --git a/modules/luci-base/po/ru/base.po b/modules/luci-base/po/ru/base.po
index 4fa5940c4b..d84167a520 100644
--- a/modules/luci-base/po/ru/base.po
+++ b/modules/luci-base/po/ru/base.po
@@ -2755,8 +2755,8 @@ msgid ""
"Query all available upstream <abbr title=\"Domain Name System\">DNS</abbr> "
"servers"
msgstr ""
-"Опрашивать все имеющиеся внешние <abbr title=\"Domain Name System\">DNS</abbr>"
-"-серверы"
+"Опрашивать все имеющиеся внешние <abbr title=\"Domain Name System\">DNS</"
+"abbr>-серверы"
msgid "R0 Key Lifetime"
msgstr "R0 Key время жизни"
diff --git a/modules/luci-base/po/tr/base.po b/modules/luci-base/po/tr/base.po
index 5113bc9869..f8d89b4b17 100644
--- a/modules/luci-base/po/tr/base.po
+++ b/modules/luci-base/po/tr/base.po
@@ -1,15 +1,16 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2013-11-25 14:47+0200\n"
-"Last-Translator: qbilay <qbilay@mynet.com>\n"
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2018-09-13 22:59+0300\n"
+"Last-Translator: Yusuf Soyipek <yusuf@soyipek.com>\n"
"Language-Team: none\n"
"Language: tr\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.6\n"
+"X-Generator: Poedit 2.1.1\n"
+"POT-Creation-Date: \n"
msgid "%.1f dB"
msgstr ""
@@ -48,7 +49,7 @@ msgid "-- match by uuid --"
msgstr "-- uuid'e göre eşleştir --"
msgid "-- please select --"
-msgstr ""
+msgstr "-- lütfen seçin --"
msgid "1 Minute Load:"
msgstr "1 Dakikalık Yük:"
@@ -240,13 +241,13 @@ msgid "Add new interface..."
msgstr "Yeni arabirim ekle..."
msgid "Additional Hosts files"
-msgstr ""
+msgstr "Ek Hosts dosyaları"
msgid "Additional servers file"
-msgstr ""
+msgstr "Ek sunucular dosyası"
msgid "Address"
-msgstr "Adresler"
+msgstr "Adres"
msgid "Address to access local relay bridge"
msgstr ""
@@ -406,7 +407,7 @@ msgid "Apply unchecked"
msgstr ""
msgid "Architecture"
-msgstr ""
+msgstr "Mimari"
msgid ""
"Assign a part of given length of every public IPv6-prefix to this interface"
@@ -420,7 +421,7 @@ msgid ""
msgstr ""
msgid "Associated Stations"
-msgstr ""
+msgstr "İlişkili istasyonlar"
msgid "Associations"
msgstr ""
@@ -429,10 +430,10 @@ msgid "Auth Group"
msgstr ""
msgid "Authentication"
-msgstr "Kimlik doğrulama"
+msgstr "Kimlik Doğrulama"
msgid "Authentication Type"
-msgstr ""
+msgstr "Kimlik doğrulama türü"
msgid "Authoritative"
msgstr "Yetkilendirme"
@@ -504,7 +505,7 @@ msgid "Backup"
msgstr "Yedekleme"
msgid "Backup / Flash Firmware"
-msgstr ""
+msgstr "Yedek/Firmware Yazma"
msgid "Backup file list"
msgstr ""
@@ -534,16 +535,16 @@ msgid "Bind the tunnel to this interface (optional)."
msgstr ""
msgid "Bitrate"
-msgstr ""
+msgstr "Bit hızı"
msgid "Bogus NX Domain Override"
msgstr ""
msgid "Bridge"
-msgstr ""
+msgstr "Köprü"
msgid "Bridge interfaces"
-msgstr ""
+msgstr "Köprü arabirimleri"
msgid "Bridge unit number"
msgstr ""
@@ -558,7 +559,7 @@ msgid "Broadcom BCM%04x 802.11 Wireless Controller"
msgstr ""
msgid "Buffered"
-msgstr ""
+msgstr "Tamponlu"
msgid ""
"Build/distribution specific feed definitions. This file will NOT be "
@@ -643,6 +644,8 @@ msgid ""
"Click \"Generate archive\" to download a tar archive of the current "
"configuration files."
msgstr ""
+"Mevcut yapılandırma dosyalarının yeni bir arşivini indirmek için \"Arşiv "
+"Oluştur\"'u tıklayın."
msgid "Client"
msgstr ""
@@ -690,22 +693,22 @@ msgid "Configuration has been rolled back!"
msgstr ""
msgid "Confirmation"
-msgstr ""
+msgstr "Onayla"
msgid "Connect"
-msgstr ""
+msgstr "Bağlan"
msgid "Connected"
-msgstr ""
+msgstr "Bağlandı"
msgid "Connection Limit"
-msgstr ""
+msgstr "Bağlantı limiti"
msgid "Connection attempt failed"
msgstr ""
msgid "Connections"
-msgstr ""
+msgstr "Bağlantılar"
msgid ""
"Could not regain access to the device after applying the configuration "
@@ -714,10 +717,10 @@ msgid ""
msgstr ""
msgid "Country"
-msgstr ""
+msgstr "Ülke"
msgid "Country Code"
-msgstr ""
+msgstr "Ülke Kodu"
msgid "Cover the following interface"
msgstr ""
@@ -729,19 +732,19 @@ msgid "Create / Assign firewall-zone"
msgstr ""
msgid "Create Interface"
-msgstr ""
+msgstr "Arabirim Oluştur"
msgid "Create a bridge over multiple interfaces"
msgstr ""
msgid "Critical"
-msgstr ""
+msgstr "Kritik"
msgid "Cron Log Level"
msgstr ""
msgid "Custom Interface"
-msgstr ""
+msgstr "Özel Arabirim"
msgid "Custom delegated IPv6-prefix"
msgstr ""
@@ -828,19 +831,19 @@ msgid "Debug"
msgstr ""
msgid "Default %d"
-msgstr ""
+msgstr "Varsayılan"
msgid "Default gateway"
-msgstr ""
+msgstr "Default ağ geçidi"
msgid "Default is stateless + stateful"
msgstr ""
msgid "Default state"
-msgstr ""
+msgstr "Varsayılan durum"
msgid "Define a name for this network."
-msgstr ""
+msgstr "Bu ağ için bir ad tanımlayın."
msgid ""
"Define additional DHCP options, for example "
@@ -849,69 +852,71 @@ msgid ""
msgstr ""
msgid "Delete"
-msgstr ""
+msgstr "Sil"
msgid "Delete this network"
-msgstr ""
+msgstr "Bu ağı sil"
msgid "Delivery Traffic Indication Message Interval"
msgstr ""
msgid "Description"
-msgstr ""
+msgstr "Açıklama"
msgid "Design"
-msgstr ""
+msgstr "Tasarım"
msgid "Destination"
-msgstr ""
+msgstr "Hedef"
msgid "Device"
-msgstr ""
+msgstr "Cihaz"
msgid "Device Configuration"
-msgstr ""
+msgstr "Cihaz Yapılandırması"
msgid "Device is rebooting..."
-msgstr ""
+msgstr "Cihaz yeniden başlatılıyor..."
msgid "Device unreachable!"
-msgstr ""
+msgstr "Cihaz ulaşılamaz!"
msgid "Device unreachable! Still waiting for device..."
-msgstr ""
+msgstr "Cihaz ulaşılamaz! Hala cihazı bekliyorum..."
msgid "Diagnostics"
-msgstr ""
+msgstr "Tanı"
msgid "Dial number"
-msgstr ""
+msgstr "Arama numarası"
msgid "Directory"
-msgstr ""
+msgstr "Dizin"
msgid "Disable"
-msgstr ""
+msgstr "Pasif"
msgid ""
"Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
"this interface."
msgstr ""
+"Bu arabirim için <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
+"abbr>'yi devre dışı bırakın."
msgid "Disable DNS setup"
-msgstr ""
+msgstr "DNS kurulumunu devre dışı"
msgid "Disable Encryption"
-msgstr ""
+msgstr "Şifrelemeyi Devre Dışı"
msgid "Disable this network"
-msgstr ""
+msgstr "Ağ devre dışı"
msgid "Disabled"
-msgstr ""
+msgstr "Devre dışı"
msgid "Disabled (default)"
-msgstr ""
+msgstr "Devre dışı (varsayılan)"
msgid "Disassociate On Low Acknowledgement"
msgstr ""
@@ -920,16 +925,16 @@ msgid "Discard upstream RFC1918 responses"
msgstr ""
msgid "Disconnection attempt failed"
-msgstr ""
+msgstr "Bağlantı kesme girişimi başarısız oldu"
msgid "Dismiss"
-msgstr ""
+msgstr "Reddet"
msgid "Displaying only packages containing"
-msgstr ""
+msgstr "Yalnızca içeren paketler görüntüleniyor"
msgid "Distance Optimization"
-msgstr ""
+msgstr "Mesafe Optimizasyonu"
msgid "Distance to farthest network member in meters."
msgstr ""
@@ -1146,7 +1151,7 @@ msgid "Expand hosts"
msgstr ""
msgid "Expires"
-msgstr ""
+msgstr "Süre Bitişi"
msgid ""
"Expiry time of leased addresses, minimum is 2 minutes (<code>2m</code>)."
@@ -1236,19 +1241,19 @@ msgid "Firmware File"
msgstr ""
msgid "Firmware Version"
-msgstr ""
+msgstr "Firmware Versiyon"
msgid "Fixed source port for outbound DNS queries"
msgstr ""
msgid "Flash Firmware"
-msgstr ""
+msgstr "Firmware Güncelle"
msgid "Flash image..."
-msgstr ""
+msgstr "Dosyayı yaz..."
msgid "Flash new firmware image"
-msgstr ""
+msgstr "Yeni firmware dosyasını yaz"
msgid "Flash operations"
msgstr ""
@@ -1308,10 +1313,10 @@ msgid "Frame Bursting"
msgstr ""
msgid "Free"
-msgstr ""
+msgstr "Boş"
msgid "Free space"
-msgstr ""
+msgstr "Boş alan"
msgid ""
"Further information about WireGuard interfaces and peers at <a href=\"http://"
@@ -1325,7 +1330,7 @@ msgid "GPRS only"
msgstr ""
msgid "Gateway"
-msgstr ""
+msgstr "Ağ Geçidi"
msgid "Gateway address is invalid"
msgstr ""
@@ -1349,7 +1354,7 @@ msgid "Generate PMK locally"
msgstr ""
msgid "Generate archive"
-msgstr ""
+msgstr "Arşiv oluştur"
msgid "Generic 802.11%s Wireless Controller"
msgstr ""
@@ -1488,7 +1493,7 @@ msgid "IPv4+IPv6"
msgstr ""
msgid "IPv4-Address"
-msgstr ""
+msgstr "IPv4-Adres"
msgid "IPv4-in-IPv4 (RFC2003)"
msgstr ""
@@ -1539,7 +1544,7 @@ msgid "IPv6 suffix"
msgstr ""
msgid "IPv6-Address"
-msgstr ""
+msgstr "IPv6-Adres"
msgid "IPv6-PD"
msgstr ""
@@ -1707,7 +1712,7 @@ msgid "Kernel Log"
msgstr ""
msgid "Kernel Version"
-msgstr ""
+msgstr "Çekirdek Versiyonu"
msgid "Key"
msgstr ""
@@ -1758,7 +1763,7 @@ msgid "Leasefile"
msgstr ""
msgid "Leasetime remaining"
-msgstr ""
+msgstr "Kalan kira süresi"
msgid "Leave empty to autodetect"
msgstr ""
@@ -1839,7 +1844,7 @@ msgid "Load"
msgstr ""
msgid "Load Average"
-msgstr ""
+msgstr "Ortalama Yük"
msgid "Loading"
msgstr ""
@@ -1863,7 +1868,7 @@ msgid "Local Startup"
msgstr ""
msgid "Local Time"
-msgstr ""
+msgstr "Yerel Zaman"
msgid "Local domain"
msgstr ""
@@ -1915,7 +1920,7 @@ msgid "MAC"
msgstr ""
msgid "MAC-Address"
-msgstr ""
+msgstr "MAC-Adres"
msgid "MAC-Address Filter"
msgstr ""
@@ -1979,7 +1984,7 @@ msgid "Mbit/s"
msgstr ""
msgid "Memory"
-msgstr ""
+msgstr "Bellek"
msgid "Memory usage (%)"
msgstr ""
@@ -2101,10 +2106,10 @@ msgid "Navigation"
msgstr ""
msgid "Netmask"
-msgstr ""
+msgstr "Ağ Maskesi"
msgid "Network"
-msgstr ""
+msgstr "Ağ"
msgid "Network Utilities"
msgstr ""
@@ -2164,7 +2169,7 @@ msgid "No zone assigned"
msgstr ""
msgid "Noise"
-msgstr ""
+msgstr "Parazit"
msgid "Noise Margin (SNR)"
msgstr ""
@@ -2349,7 +2354,7 @@ msgid "Override the table used for internal routes"
msgstr ""
msgid "Overview"
-msgstr ""
+msgstr "Genel Bakış"
msgid "Owner"
msgstr ""
@@ -2543,7 +2548,7 @@ msgid "Prot."
msgstr ""
msgid "Protocol"
-msgstr ""
+msgstr "Protokol"
msgid "Protocol family"
msgstr ""
@@ -3370,7 +3375,7 @@ msgid "Tone"
msgstr ""
msgid "Total Available"
-msgstr ""
+msgstr "Toplam Mevcut"
msgid "Traceroute"
msgstr ""
@@ -3502,7 +3507,7 @@ msgid "Uploaded File"
msgstr "Yüklenen Dosya"
msgid "Uptime"
-msgstr "Açılma süresi"
+msgstr "Çalışma Zamanı"
msgid "Use <code>/etc/ethers</code>"
msgstr ""
diff --git a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua
index 2fa7847fc6..46d2e36c32 100644
--- a/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua
+++ b/modules/luci-mod-admin-full/luasrc/controller/admin/system.lua
@@ -35,6 +35,7 @@ function index()
entry({"admin", "system", "flashops"}, call("action_flashops"), _("Backup / Flash Firmware"), 70)
entry({"admin", "system", "flashops", "reset"}, post("action_reset"))
entry({"admin", "system", "flashops", "backup"}, post("action_backup"))
+ entry({"admin", "system", "flashops", "backupmtdblock"}, post("action_backupmtdblock"))
entry({"admin", "system", "flashops", "backupfiles"}, form("admin_system/backupfiles"))
-- call() instead of post() due to upload handling!
@@ -318,6 +319,23 @@ function action_backup()
luci.ltn12.pump.all(reader, luci.http.write)
end
+function action_backupmtdblock()
+ local http = require "luci.http"
+ local mv = http.formvalue("mtdblockname")
+ local m, s, n = mv:match('^([^%s]+)/([^%s]+)/([^%s]+)')
+
+ local reader = ltn12_popen("dd if=/dev/mtd%s conv=fsync,notrunc 2>/dev/null" % n)
+
+ luci.http.header(
+ 'Content-Disposition', 'attachment; filename="backup-%s-%s-%s.bin"' %{
+ luci.sys.hostname(), m,
+ os.date("%Y-%m-%d")
+ })
+
+ luci.http.prepare_content("application/octet-stream")
+ luci.ltn12.pump.all(reader, luci.http.write)
+end
+
function action_restore()
local fs = require "nixio.fs"
local http = require "luci.http"
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua
index 06bce01fc4..8be354b448 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua
@@ -53,7 +53,7 @@ local function get_ifstate(name, option)
m.uci:foreach("luci", "ifstate", function (s)
if s.interface == name then
- val = m.uci:get("luci", s[".name"], option)
+ val = s[option]
return false
end
end)
diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua
index 3e46628d3f..d79b3c4704 100644
--- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua
+++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/vlan.lua
@@ -17,7 +17,7 @@ local update_interfaces = function(old_ifname, new_ifname)
local info = { }
m.uci:foreach("network", "interface", function(section)
- local old_ifnames = m.uci:get("network", section[".name"], "ifname")
+ local old_ifnames = section.ifname
local new_ifnames = { }
local cur_ifname
local changed = false
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm
index b409c8b039..03dd5aab29 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm
@@ -68,10 +68,12 @@ local route_host = luci.config.diag and luci.config.diag.route or "dev.openwrt.o
<div class="td left">
<input style="margin: 5px 0" type="text" value="<%=ping_host%>" name="ping" /><br />
<% if has_ping6 then %>
- <select name="ping_proto" style="width:auto">
- <option value="" selected="selected"><%:IPv4%></option>
- <option value="6"><%:IPv6%></option>
- </select>
+ <span>
+ <select name="ping_proto" style="width:auto">
+ <option value="" selected="selected"><%:IPv4%></option>
+ <option value="6"><%:IPv6%></option>
+ </select>
+ </span>
<input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping, this.form.ping_proto.selectedIndex)" />
<% else %>
<input type="button" value="<%:Ping%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.ping)" />
@@ -81,10 +83,12 @@ local route_host = luci.config.diag and luci.config.diag.route or "dev.openwrt.o
<div class="td left">
<input style="margin: 5px 0" type="text" value="<%=route_host%>" name="traceroute" /><br />
<% if has_traceroute6 then %>
- <select name="traceroute_proto" style="width:auto">
- <option value="" selected="selected"><%:IPv4%></option>
- <option value="6"><%:IPv6%></option>
- </select>
+ <span>
+ <select name="traceroute_proto" style="width:auto">
+ <option value="" selected="selected"><%:IPv4%></option>
+ <option value="6"><%:IPv6%></option>
+ </select>
+ </span>
<input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute, this.form.traceroute_proto.selectedIndex)" />
<% else %>
<input type="button" value="<%:Traceroute%>" class="cbi-button cbi-button-apply" onclick="update_status(this.form.traceroute)" />
diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm
index f3d2e8d7b0..8204d38e34 100644
--- a/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm
+++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm
@@ -59,6 +59,40 @@
<div class="cbi-section-error"><%:The backup archive does not appear to be a valid gzip file.%></div>
<% end %>
</div>
+
+ <% local mtds = require("luci.sys").mtds(); if #mtds > 0 then -%>
+ <h3><%:Save mtdblock contents%></h3>
+ <div class="cbi-section-descr"><%:Click "Save mtdblock" to download specified mtdblock file. (NOTE: THIS FEATURE IS FOR PROFESSIONALS! )%></div>
+ <div class="cbi-section-node">
+ <form class="inline" method="post" action="<%=url('admin/system/flashops/backupmtdblock')%>">
+ <input type="hidden" name="token" value="<%=token%>" />
+ <div class="cbi-value">
+ <label class="cbi-value-title" for="mtdblockname"><%:Choose mtdblock%></label>
+ <div class="cbi-value-field">
+ <select class="cbi-input-select" data-update="change" name="mtdblockname" id="mtdblockname">
+ <% for i, key in ipairs(mtds) do
+ if key and key.name ~= "rootfs_data" then -%>
+ <option<%=
+ attr("id", "mtdblockname-" .. key.name) ..
+ attr("value", key.name .. '/'.. key.size .. '/' .. i - 1) ..
+ attr("data-index", i) ..
+ ifattr(key.name == "linux" or key.name == "firmware", "selected", "selected")
+ %>><%=pcdata(key.name)%></option>
+ <% end
+ end -%>
+ </select>
+ </div>
+ </div>
+ <div class="cbi-value cbi-value-last<% if reset_avail then %> cbi-value-error<% end %>">
+ <label class="cbi-value-title" for="image"><%:Download mtdblock%></label>
+ <div class="cbi-value-field">
+ <input type="submit" class="cbi-button cbi-button-action important" value="<%:Save mtdblock%>" />
+ </div>
+ </div>
+ </form>
+ </div>
+ <% end %>
+
</div>
<div class="cbi-section">
diff --git a/protocols/luci-proto-ipv6/Makefile b/protocols/luci-proto-ipv6/Makefile
index b28c8d5895..b0c8395e86 100644
--- a/protocols/luci-proto-ipv6/Makefile
+++ b/protocols/luci-proto-ipv6/Makefile
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Support for DHCPv6/6in4/6to4/6rd/DS-Lite
-LUCI_DEPENDS:=
+LUCI_DEPENDS:=@IPV6
PKG_LICENSE:=Apache-2.0
diff --git a/themes/luci-theme-material/htdocs/luci-static/material/cascade.css b/themes/luci-theme-material/htdocs/luci-static/material/cascade.css
index 4875c33f8d..fa0316343b 100644
--- a/themes/luci-theme-material/htdocs/luci-static/material/cascade.css
+++ b/themes/luci-theme-material/htdocs/luci-static/material/cascade.css
@@ -19,6 +19,11 @@
*/
/*
+ * Include custom css
+ */
+@import url("custom.css");
+
+/*
* Font generate by Icomoon<icomoon.io>
*/
@font-face {
@@ -255,7 +260,7 @@ footer > a {
width: calc(0% + 15rem);
height: 100%;
height: calc(100% - 4rem);
- background-color: white;
+ background-color: var(--menu-bg-color, #FFFFFF);
overflow-x: auto;
position: fixed;
}
@@ -281,8 +286,8 @@ footer > a {
}
header {
- background: #0099CC;
- color: white;
+ background: var(--header-bg, #0099CC);
+ color: var(--header-color, #FFFFFF);
}
header > .fill > .container {
@@ -292,7 +297,7 @@ header > .fill > .container {
header > .fill > .container > .brand {
font-size: 1.4rem;
- color: white;
+ color: var(--header-color, #FFFFFF);
text-decoration: none;
cursor: default;
vertical-align: text-bottom;
@@ -374,7 +379,7 @@ header > .fill > .container > .brand {
}
.main > .main-left > .nav > li a {
- color: #404040;
+ color: var(--menu-color, #404040);
display: block;
}
@@ -406,7 +411,7 @@ header > .fill > .container > .brand {
.main > .main-left > .nav > li:hover,
.main > .main-left > .nav > .slide > .menu:hover {
- background: #D4D4D4;
+ background: var(--submenu-bg-hover, #D4D4D4)
}
.main > .main-left > .nav > .slide:hover {
@@ -418,7 +423,7 @@ header > .fill > .container > .brand {
}
.main > .main-left > .nav > .slide > .slide-menu > .active {
- background-color: #0099CC;
+ background-color: var(--submenu-bg-hover-active, #0099CC);
}
.main > .main-left > .nav > .slide > .slide-menu > li > a {
@@ -431,7 +436,7 @@ header > .fill > .container > .brand {
}
.main > .main-left > .nav > .slide > .slide-menu > li:hover {
- background: #D4D4D4;
+ background: var(--submenu-bg-hover, #D4D4D4)
}
.main > .main-left > .nav > .slide > .slide-menu > .active:hover {
@@ -1226,7 +1231,7 @@ td > .ifacebadge,
min-height: 14rem;
padding: 0.8rem;
font-size: 0.8rem;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-family: monospace;
color: black;
}
diff --git a/themes/luci-theme-material/htdocs/luci-static/material/custom.css b/themes/luci-theme-material/htdocs/luci-static/material/custom.css
new file mode 100644
index 0000000000..b32eb2af1b
--- /dev/null
+++ b/themes/luci-theme-material/htdocs/luci-static/material/custom.css
@@ -0,0 +1,9 @@
+
+:root {
+ --header-bg: #0099CC;
+ --header-color: #FFFFFF;
+ --menu-bg-color: #FFFFFF;
+ --menu-color: #404040;
+ --submenu-bg-hover: #D4D4D4;
+ --submenu-bg-hover-active: #0099CC;
+}