summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-adblock/root/usr/share/rpcd/acl.d/luci-app-adblock.json3
-rw-r--r--applications/luci-app-advanced-reboot/Makefile2
-rw-r--r--applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua26
-rw-r--r--applications/luci-app-advanced-reboot/po/templates/advanced-reboot.pot17
-rw-r--r--applications/luci-app-advanced-reboot/root/etc/uci-defaults/40_luci-advanced-reboot5
-rw-r--r--applications/luci-app-ahcp/root/usr/share/rpcd/acl.d/luci-app-ahcp.json11
-rw-r--r--applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json11
-rw-r--r--applications/luci-app-banip/root/usr/share/rpcd/acl.d/luci-app-banip.json11
-rw-r--r--applications/luci-app-bcp38/root/usr/share/rpcd/acl.d/luci-app-bcp38.json11
-rw-r--r--applications/luci-app-clamav/root/usr/share/rpcd/acl.d/luci-app-clamav.json11
-rw-r--r--applications/luci-app-commands/root/usr/share/rpcd/acl.d/luci-app-commands.json11
-rw-r--r--applications/luci-app-coovachilli/root/usr/share/rpcd/acl.d/luci-app-coovachilli.json11
-rw-r--r--applications/luci-app-cshark/root/usr/share/rpcd/acl.d/luci-app-cshark.json11
-rw-r--r--applications/luci-app-dawn/root/usr/share/rpcd/acl.d/luci-app-dawn.json11
-rw-r--r--applications/luci-app-dcwapd/root/usr/share/rpcd/acl.d/luci-app-dcwapd.json11
-rw-r--r--applications/luci-app-ddns/po/zh_Hans/ddns.po8
-rw-r--r--applications/luci-app-dnscrypt-proxy/root/usr/share/rpcd/acl.d/luci-app-dnscrypt-proxy.json11
-rw-r--r--applications/luci-app-dump1090/root/usr/share/rpcd/acl.d/luci-app-dump1090.json11
-rw-r--r--applications/luci-app-dynapoint/root/usr/share/rpcd/acl.d/luci-app-dynapoint.json11
-rw-r--r--applications/luci-app-fwknopd/root/usr/share/rpcd/acl.d/luci-app-fwknopd.json11
-rw-r--r--applications/luci-app-hd-idle/root/usr/share/rpcd/acl.d/luci-app-hd-idle.json11
-rw-r--r--applications/luci-app-https-dns-proxy/Makefile2
-rw-r--r--applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua39
-rw-r--r--applications/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot51
-rw-r--r--applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json11
-rw-r--r--applications/luci-app-ltqtapi/root/usr/share/rpcd/acl.d/luci-app-ltqtapi.json11
-rw-r--r--applications/luci-app-lxc/root/usr/share/rpcd/acl.d/luci-app-lxc.json11
-rw-r--r--applications/luci-app-mjpg-streamer/root/usr/share/rpcd/acl.d/luci-app-mjpg-streamer.json11
-rw-r--r--applications/luci-app-mosquitto/root/usr/share/rpcd/acl.d/luci-app-mosquitto.json11
-rw-r--r--applications/luci-app-mwan3/root/usr/share/rpcd/acl.d/luci-app-mwan3.json11
-rw-r--r--applications/luci-app-nft-qos/root/usr/share/rpcd/acl.d/luci-app-nft-qos.json11
-rw-r--r--applications/luci-app-nlbwmon/root/usr/share/rpcd/acl.d/luci-app-nlbwmon.json11
-rw-r--r--applications/luci-app-noddos/root/usr/share/rpcd/acl.d/luci-app-noddos.json11
-rw-r--r--applications/luci-app-ntpc/root/usr/share/rpcd/acl.d/luci-app-ntpc.json11
-rw-r--r--applications/luci-app-nut/root/usr/share/rpcd/acl.d/luci-app-nut.json11
-rw-r--r--applications/luci-app-ocserv/root/usr/share/rpcd/acl.d/luci-app-ocserv.json11
-rw-r--r--applications/luci-app-olsr/root/usr/share/rpcd/acl.d/luci-app-olsr.json11
-rw-r--r--applications/luci-app-openvpn/root/usr/share/rpcd/acl.d/luci-app-openvpn.json8
-rw-r--r--applications/luci-app-p910nd/root/usr/share/rpcd/acl.d/luci-app-p910nd.json11
-rw-r--r--applications/luci-app-polipo/root/usr/share/rpcd/acl.d/luci-app-polipo.json11
-rw-r--r--applications/luci-app-privoxy/root/usr/share/rpcd/acl.d/luci-app-privoxy.json11
-rw-r--r--applications/luci-app-qos/root/usr/share/rpcd/acl.d/luci-app-qos.json11
-rw-r--r--applications/luci-app-radicale/root/usr/share/rpcd/acl.d/luci-app-radicale.json11
-rw-r--r--applications/luci-app-radicale2/root/usr/share/rpcd/acl.d/luci-app-radicale2.json11
-rw-r--r--applications/luci-app-rosy-file-server/root/usr/share/rpcd/acl.d/luci-app-rosy-file-server.json11
-rw-r--r--applications/luci-app-rp-pppoe-server/root/usr/share/rpcd/acl.d/luci-app-rp-pppoe-server.json11
-rw-r--r--applications/luci-app-samba/root/usr/share/rpcd/acl.d/luci-app-samba.json11
-rw-r--r--applications/luci-app-shairplay/root/usr/share/rpcd/acl.d/luci-app-shairplay.json11
-rw-r--r--applications/luci-app-simple-adblock/po/de/simple-adblock.po4
-rw-r--r--applications/luci-app-simple-adblock/root/usr/share/rpcd/acl.d/luci-app-simple-adblock.json11
-rw-r--r--applications/luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json11
-rw-r--r--applications/luci-app-splash/root/usr/share/rpcd/acl.d/luci-app-splash.json11
-rw-r--r--applications/luci-app-sqm/po/zh_Hans/sqm.po78
-rw-r--r--applications/luci-app-sqm/root/usr/share/rpcd/acl.d/luci-app-sqm.json11
-rw-r--r--applications/luci-app-squid/root/usr/share/rpcd/acl.d/luci-app-squid.json11
-rw-r--r--applications/luci-app-tinyproxy/root/usr/share/rpcd/acl.d/luci-app-tinyproxy.json11
-rw-r--r--applications/luci-app-travelmate/root/usr/share/rpcd/acl.d/luci-app-travelmate.json11
-rw-r--r--applications/luci-app-udpxy/root/usr/share/rpcd/acl.d/luci-app-udpxy.json11
-rw-r--r--applications/luci-app-uhttpd/root/usr/share/rpcd/acl.d/luci-app-uhttpd.json11
-rw-r--r--applications/luci-app-unbound/root/usr/share/rpcd/acl.d/luci-app-unbound.json11
-rw-r--r--applications/luci-app-vnstat/root/usr/share/rpcd/acl.d/luci-app-vnstat.json11
-rw-r--r--applications/luci-app-vpn-policy-routing/root/usr/share/rpcd/acl.d/luci-app-vpn-policy-routing.json11
-rw-r--r--applications/luci-app-vpnbypass/root/usr/share/rpcd/acl.d/luci-app-vpnbypass.json11
-rw-r--r--applications/luci-app-watchcat/root/usr/share/rpcd/acl.d/luci-app-watchcat.json11
-rw-r--r--applications/luci-app-wifischedule/root/usr/share/rpcd/acl.d/luci-app-wifischedule.json11
65 files changed, 704 insertions, 122 deletions
diff --git a/applications/luci-app-adblock/root/usr/share/rpcd/acl.d/luci-app-adblock.json b/applications/luci-app-adblock/root/usr/share/rpcd/acl.d/luci-app-adblock.json
index 557e5328c3..3f52b7eea2 100644
--- a/applications/luci-app-adblock/root/usr/share/rpcd/acl.d/luci-app-adblock.json
+++ b/applications/luci-app-adblock/root/usr/share/rpcd/acl.d/luci-app-adblock.json
@@ -24,7 +24,8 @@
"/etc/init.d/adblock report * [0-9]* [a-z]* json" : [ "exec" ],
"/etc/init.d/adblock timer * [0-9]* [0-9*]* [1-7,-*]*" : [ "exec" ],
"/etc/init.d/adblock query *" : [ "exec" ]
- }
+ },
+ "uci": ["adblock"]
}
}
}
diff --git a/applications/luci-app-advanced-reboot/Makefile b/applications/luci-app-advanced-reboot/Makefile
index f6882b2c02..e119e6acc2 100644
--- a/applications/luci-app-advanced-reboot/Makefile
+++ b/applications/luci-app-advanced-reboot/Makefile
@@ -13,7 +13,7 @@ LUCI_DESCRIPTION:=Provides Web UI (found under System/Advanced Reboot) to reboot
LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full
LUCI_PKGARCH:=all
-PKG_RELEASE:=51
+PKG_RELEASE:=52
include ../../luci.mk
diff --git a/applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua b/applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua
index 512626351f..4b651a9df0 100644
--- a/applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua
+++ b/applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua
@@ -42,7 +42,7 @@ function get_partition_os_info(op_ubi)
cp_info = util.trim(util.exec('. /etc/os-release && echo "$OPENWRT_RELEASE"'))
end
end
- logger(i18n.translate("attempting to mount alternative partition") .. " (mtd" .. tostring(op_ubi) .. ")")
+ logger(i18n.translatef("attempting to mount alternative partition (mtd%s)", tostring(op_ubi))
alt_partition_unmount(op_ubi)
alt_partition_mount(op_ubi)
if fs.access("/alt/rom/etc/os-release") then
@@ -51,7 +51,7 @@ function get_partition_os_info(op_ubi)
op_info = util.trim(util.exec('. /alt/rom/etc/os-release && echo "$OPENWRT_RELEASE"'))
end
end
- logger(i18n.translate("attempting to unmount alternative partition") .. " (mtd" .. tostring(op_ubi) .. ")")
+ logger(i18n.translatef("attempting to unmount alternative partition (mtd%s)", tostring(op_ubi))
alt_partition_unmount(op_ubi)
return cp_info, op_info
end
@@ -176,7 +176,7 @@ function action_template()
bev1p2=bev1p2,
p2_os=p2_os,
current_partition=current_partition,
- errorMessage = errorMessage})
+ errorMessage=errorMessage})
end
function action_reboot()
@@ -209,28 +209,28 @@ function action_altreboot()
if bev1 then
curEnvSetting = tonumber(util.trim(util.exec("fw_printenv -n " .. bev1)))
if not curEnvSetting then
- errorMessage = errorMessage .. i18n.translate("Unable to obtain firmware environment variable") .. ": " .. bev1 .. ". "
- util.perror(i18n.translate("Unable to obtain firmware environment variable") .. ": " .. bev1 .. ".")
+ errorMessage = errorMessage .. i18n.translatef("Unable to obtain firmware environment variable: %s.", bev1)
+ util.perror(i18n.translatef("Unable to obtain firmware environment variable: %s.", bev1))
else
newEnvSetting = curEnvSetting == bev1p1 and bev1p2 or bev1p1
errorCode = sys.call("fw_setenv " .. bev1 .. " " .. newEnvSetting)
if errorCode ~= 0 then
- errorMessage = errorMessage or "" .. i18n.translate("Unable to set firmware environment variable") .. ": " .. bev1 .. " " .. i18n.translate("to") .. " " .. newEnvSetting .. ". "
- util.perror(i18n.translate("Unable to set firmware environment variable") .. ": " .. bev1 .. " " .. i18n.translate("to") .. " " .. newEnvSetting .. ".")
+ errorMessage = errorMessage or "" .. i18n.translatef("Unable to set firmware environment variable: %s to %s.", bev1, newEnvSetting)
+ util.perror(i18n.translatef("Unable to set firmware environment variable: %s to %s.", bev1, newEnvSetting))
end
end
end
if bev2 then
curEnvSetting = util.trim(util.exec("fw_printenv -n " .. bev2))
if not curEnvSetting then
- errorMessage = errorMessage or "" .. i18n.translate("Unable to obtain firmware environment variable") .. ": " .. bev2 .. ". "
- util.perror(i18n.translate("Unable to obtain firmware environment variable") .. ": " .. bev2 .. ".")
+ errorMessage = errorMessage or "" .. i18n.translatef("Unable to obtain firmware environment variable: %s.", bev2)
+ util.perror(i18n.translatef("Unable to obtain firmware environment variable: %s.", bev2))
else
newEnvSetting = curEnvSetting == bev2p1 and bev2p2 or bev2p1
errorCode = sys.call("fw_setenv " .. bev2 .. " '" .. newEnvSetting .. "'")
if errorCode ~= 0 then
- errorMessage = errorMessage or "" .. i18n.translate("Unable to set firmware environment variable") .. ": " .. bev2 .. " " .. i18n.translate("to") .. " " .. newEnvSetting .. ". "
- util.perror(i18n.translate("Unable to set firmware environment variable") .. ": " .. bev2 .. " " .. i18n.translate("to") .. " " .. newEnvSetting .. ".")
+ errorMessage = errorMessage or "" .. i18n.translatef("Unable to set firmware environment variable: %s to %s.", bev2, newEnvSetting)
+ util.perror(i18n.translatef("Unable to set firmware environment variable: %s to %s.", bev2, newEnvSetting))
end
end
end
@@ -245,8 +245,8 @@ function action_altreboot()
if zyxelNewBootFlag then
errorCode = sys.call("printf \"" .. zyxelNewBootFlag .. "\" >" .. zyxelFlagPartition )
if errorCode ~= 0 then
- errorMessage = errorMessage or "" .. i18n.translate("Unable to set Dual Boot Flag Partition entry for partition") .. ": " .. zyxelFlagPartition .. ". "
- util.perror(i18n.translate("Unable to set Dual Boot Flag Partition entry for partition") .. ": " .. zyxelFlagPartition .. ".")
+ errorMessage = errorMessage or "" .. i18n.translatef("Unable to set Dual Boot Flag Partition entry for partition: %s.", zyxelFlagPartition)
+ util.perror(i18n.translatef("Unable to set Dual Boot Flag Partition entry for partition: %s.", zyxelFlagPartition))
end
end
end
diff --git a/applications/luci-app-advanced-reboot/po/templates/advanced-reboot.pot b/applications/luci-app-advanced-reboot/po/templates/advanced-reboot.pot
index 73173319c5..6aabe66a5a 100644
--- a/applications/luci-app-advanced-reboot/po/templates/advanced-reboot.pot
+++ b/applications/luci-app-advanced-reboot/po/templates/advanced-reboot.pot
@@ -143,19 +143,19 @@ msgstr ""
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:213
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:226
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:227
-msgid "Unable to obtain firmware environment variable"
+msgid "Unable to obtain firmware environment variable: %s."
msgstr ""
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:248
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:249
-msgid "Unable to set Dual Boot Flag Partition entry for partition"
+msgid "Unable to set Dual Boot Flag Partition entry for partition: %s."
msgstr ""
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:218
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:219
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:232
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:233
-msgid "Unable to set firmware environment variable"
+msgid "Unable to set firmware environment variable: %s to %s."
msgstr ""
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:118
@@ -205,16 +205,9 @@ msgid "Warning: Unable to obtain device information!"
msgstr ""
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:45
-msgid "attempting to mount alternative partition"
+msgid "attempting to mount alternative partition (mtd%s)"
msgstr ""
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:54
-msgid "attempting to unmount alternative partition"
-msgstr ""
-
-#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:218
-#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:219
-#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:232
-#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:233
-msgid "to"
+msgid "attempting to unmount alternative partition (mtd%s)"
msgstr ""
diff --git a/applications/luci-app-advanced-reboot/root/etc/uci-defaults/40_luci-advanced-reboot b/applications/luci-app-advanced-reboot/root/etc/uci-defaults/40_luci-advanced-reboot
new file mode 100644
index 0000000000..e1a8f1e307
--- /dev/null
+++ b/applications/luci-app-advanced-reboot/root/etc/uci-defaults/40_luci-advanced-reboot
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+rm -rf /var/luci-modulecache/; rm -f /var/luci-indexcache;
+exit 0
+
diff --git a/applications/luci-app-ahcp/root/usr/share/rpcd/acl.d/luci-app-ahcp.json b/applications/luci-app-ahcp/root/usr/share/rpcd/acl.d/luci-app-ahcp.json
new file mode 100644
index 0000000000..cdd81347ef
--- /dev/null
+++ b/applications/luci-app-ahcp/root/usr/share/rpcd/acl.d/luci-app-ahcp.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-ahcp": {
+ "description": "Grant UCI access for luci-app-ahcp",
+ "read": {
+ "uci": [ "ahcpd" ]
+ },
+ "write": {
+ "uci": [ "ahcpd" ]
+ }
+ }
+}
diff --git a/applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json b/applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json
new file mode 100644
index 0000000000..891f97c28f
--- /dev/null
+++ b/applications/luci-app-aria2/root/usr/share/rpcd/acl.d/luci-app-aria2.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-aria2": {
+ "description": "Grant UCI access for luci-app-aria2",
+ "read": {
+ "uci": [ "aria2" ]
+ },
+ "write": {
+ "uci": [ "aria2" ]
+ }
+ }
+}
diff --git a/applications/luci-app-banip/root/usr/share/rpcd/acl.d/luci-app-banip.json b/applications/luci-app-banip/root/usr/share/rpcd/acl.d/luci-app-banip.json
new file mode 100644
index 0000000000..c4472c2035
--- /dev/null
+++ b/applications/luci-app-banip/root/usr/share/rpcd/acl.d/luci-app-banip.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-banip": {
+ "description": "Grant UCI access for luci-app-banip",
+ "read": {
+ "uci": [ "banip" ]
+ },
+ "write": {
+ "uci": [ "banip" ]
+ }
+ }
+}
diff --git a/applications/luci-app-bcp38/root/usr/share/rpcd/acl.d/luci-app-bcp38.json b/applications/luci-app-bcp38/root/usr/share/rpcd/acl.d/luci-app-bcp38.json
new file mode 100644
index 0000000000..731c4974ea
--- /dev/null
+++ b/applications/luci-app-bcp38/root/usr/share/rpcd/acl.d/luci-app-bcp38.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-bcp38": {
+ "description": "Grant UCI access for luci-app-bcp38",
+ "read": {
+ "uci": [ "bcp38" ]
+ },
+ "write": {
+ "uci": [ "bcp38" ]
+ }
+ }
+}
diff --git a/applications/luci-app-clamav/root/usr/share/rpcd/acl.d/luci-app-clamav.json b/applications/luci-app-clamav/root/usr/share/rpcd/acl.d/luci-app-clamav.json
new file mode 100644
index 0000000000..09d46d08bb
--- /dev/null
+++ b/applications/luci-app-clamav/root/usr/share/rpcd/acl.d/luci-app-clamav.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-clamav": {
+ "description": "Grant UCI access for luci-app-clamav",
+ "read": {
+ "uci": [ "clamav" ]
+ },
+ "write": {
+ "uci": [ "clamav" ]
+ }
+ }
+}
diff --git a/applications/luci-app-commands/root/usr/share/rpcd/acl.d/luci-app-commands.json b/applications/luci-app-commands/root/usr/share/rpcd/acl.d/luci-app-commands.json
new file mode 100644
index 0000000000..45facdfd17
--- /dev/null
+++ b/applications/luci-app-commands/root/usr/share/rpcd/acl.d/luci-app-commands.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-commands": {
+ "description": "Grant UCI access for luci-app-commands",
+ "read": {
+ "uci": [ "luci" ]
+ },
+ "write": {
+ "uci": [ "luci" ]
+ }
+ }
+}
diff --git a/applications/luci-app-coovachilli/root/usr/share/rpcd/acl.d/luci-app-coovachilli.json b/applications/luci-app-coovachilli/root/usr/share/rpcd/acl.d/luci-app-coovachilli.json
new file mode 100644
index 0000000000..a3643b5311
--- /dev/null
+++ b/applications/luci-app-coovachilli/root/usr/share/rpcd/acl.d/luci-app-coovachilli.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-coovachilli": {
+ "description": "Grant UCI access for luci-app-coovachilli",
+ "read": {
+ "uci": [ "coovachilli" ]
+ },
+ "write": {
+ "uci": [ "coovachilli" ]
+ }
+ }
+}
diff --git a/applications/luci-app-cshark/root/usr/share/rpcd/acl.d/luci-app-cshark.json b/applications/luci-app-cshark/root/usr/share/rpcd/acl.d/luci-app-cshark.json
new file mode 100644
index 0000000000..32f5fb6041
--- /dev/null
+++ b/applications/luci-app-cshark/root/usr/share/rpcd/acl.d/luci-app-cshark.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-cshark": {
+ "description": "Grant UCI access for luci-app-cshark",
+ "read": {
+ "uci": [ "cshark" ]
+ },
+ "write": {
+ "uci": [ "cshark" ]
+ }
+ }
+}
diff --git a/applications/luci-app-dawn/root/usr/share/rpcd/acl.d/luci-app-dawn.json b/applications/luci-app-dawn/root/usr/share/rpcd/acl.d/luci-app-dawn.json
new file mode 100644
index 0000000000..4fece64a86
--- /dev/null
+++ b/applications/luci-app-dawn/root/usr/share/rpcd/acl.d/luci-app-dawn.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-dawn": {
+ "description": "Grant UCI access for luci-app-dawn",
+ "read": {
+ "uci": [ "dawn" ]
+ },
+ "write": {
+ "uci": [ "dawn" ]
+ }
+ }
+}
diff --git a/applications/luci-app-dcwapd/root/usr/share/rpcd/acl.d/luci-app-dcwapd.json b/applications/luci-app-dcwapd/root/usr/share/rpcd/acl.d/luci-app-dcwapd.json
new file mode 100644
index 0000000000..07a392a5d5
--- /dev/null
+++ b/applications/luci-app-dcwapd/root/usr/share/rpcd/acl.d/luci-app-dcwapd.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-dcwapd": {
+ "description": "Grant UCI access for luci-app-dcwapd",
+ "read": {
+ "uci": [ "dcwapd" ]
+ },
+ "write": {
+ "uci": [ "dcwapd" ]
+ }
+ }
+}
diff --git a/applications/luci-app-ddns/po/zh_Hans/ddns.po b/applications/luci-app-ddns/po/zh_Hans/ddns.po
index b6bb055d45..8d8b0a28f0 100644
--- a/applications/luci-app-ddns/po/zh_Hans/ddns.po
+++ b/applications/luci-app-ddns/po/zh_Hans/ddns.po
@@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
-"PO-Revision-Date: 2020-02-21 07:57+0000\n"
-"Last-Translator: xiazhang <xz@xia.plus>\n"
+"PO-Revision-Date: 2020-04-11 07:51+0000\n"
+"Last-Translator: 01230 <4585006@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsddns/zh_Hans/>\n"
"Language: zh_Hans\n"
@@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.11.1\n"
+"X-Generator: Weblate 4.0-dev\n"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:964
msgid "\"../\" not allowed in path for Security Reason."
@@ -35,7 +35,7 @@ msgstr "允许非公网 IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:442
msgid "Basic Settings"
-msgstr "基础设置"
+msgstr "基本设置"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:710
msgid "Bind Network"
diff --git a/applications/luci-app-dnscrypt-proxy/root/usr/share/rpcd/acl.d/luci-app-dnscrypt-proxy.json b/applications/luci-app-dnscrypt-proxy/root/usr/share/rpcd/acl.d/luci-app-dnscrypt-proxy.json
new file mode 100644
index 0000000000..020bc217cd
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/root/usr/share/rpcd/acl.d/luci-app-dnscrypt-proxy.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-dnscrypt-proxy": {
+ "description": "Grant UCI access for luci-app-dnscrypt-proxy",
+ "read": {
+ "uci": [ "dhcp", "dnscrypt-proxy" ]
+ },
+ "write": {
+ "uci": [ "dhcp", "dnscrypt-proxy" ]
+ }
+ }
+}
diff --git a/applications/luci-app-dump1090/root/usr/share/rpcd/acl.d/luci-app-dump1090.json b/applications/luci-app-dump1090/root/usr/share/rpcd/acl.d/luci-app-dump1090.json
new file mode 100644
index 0000000000..55fb9fd812
--- /dev/null
+++ b/applications/luci-app-dump1090/root/usr/share/rpcd/acl.d/luci-app-dump1090.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-dump1090": {
+ "description": "Grant UCI access for luci-app-dump1090",
+ "read": {
+ "uci": [ "dump1090" ]
+ },
+ "write": {
+ "uci": [ "dump1090" ]
+ }
+ }
+}
diff --git a/applications/luci-app-dynapoint/root/usr/share/rpcd/acl.d/luci-app-dynapoint.json b/applications/luci-app-dynapoint/root/usr/share/rpcd/acl.d/luci-app-dynapoint.json
new file mode 100644
index 0000000000..2dea0fc185
--- /dev/null
+++ b/applications/luci-app-dynapoint/root/usr/share/rpcd/acl.d/luci-app-dynapoint.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-dynapoint": {
+ "description": "Grant UCI access for luci-app-dynapoint",
+ "read": {
+ "uci": [ "dynapoint", "wireless" ]
+ },
+ "write": {
+ "uci": [ "dynapoint", "wireless" ]
+ }
+ }
+}
diff --git a/applications/luci-app-fwknopd/root/usr/share/rpcd/acl.d/luci-app-fwknopd.json b/applications/luci-app-fwknopd/root/usr/share/rpcd/acl.d/luci-app-fwknopd.json
new file mode 100644
index 0000000000..3877f87526
--- /dev/null
+++ b/applications/luci-app-fwknopd/root/usr/share/rpcd/acl.d/luci-app-fwknopd.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-fwknopd": {
+ "description": "Grant UCI access for luci-app-fwknopd",
+ "read": {
+ "uci": [ "fwknopd" ]
+ },
+ "write": {
+ "uci": [ "fwknopd" ]
+ }
+ }
+}
diff --git a/applications/luci-app-hd-idle/root/usr/share/rpcd/acl.d/luci-app-hd-idle.json b/applications/luci-app-hd-idle/root/usr/share/rpcd/acl.d/luci-app-hd-idle.json
new file mode 100644
index 0000000000..0a48a9ad87
--- /dev/null
+++ b/applications/luci-app-hd-idle/root/usr/share/rpcd/acl.d/luci-app-hd-idle.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-hd-idle": {
+ "description": "Grant UCI access for luci-app-hd-idle",
+ "read": {
+ "uci": [ "hd-idle" ]
+ },
+ "write": {
+ "uci": [ "hd-idle" ]
+ }
+ }
+}
diff --git a/applications/luci-app-https-dns-proxy/Makefile b/applications/luci-app-https-dns-proxy/Makefile
index 918d8b0856..1fe1881856 100644
--- a/applications/luci-app-https-dns-proxy/Makefile
+++ b/applications/luci-app-https-dns-proxy/Makefile
@@ -10,7 +10,7 @@ LUCI_TITLE:=DNS Over HTTPS Proxy Web UI
LUCI_DESCRIPTION:=Provides Web UI for DNS Over HTTPS Proxy
LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +https-dns-proxy
LUCI_PKGARCH:=all
-PKG_RELEASE:=3
+PKG_RELEASE:=4
include ../../luci.mk
diff --git a/applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua b/applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua
index d914bf09a3..14e1b54343 100644
--- a/applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua
+++ b/applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua
@@ -49,24 +49,22 @@ function get_provider_name(value)
return translate("Unknown Provider")
end
-local tmpfsStatus, tmpfsStatusCode
+local packageStatus, packageStatusCode
local ubusStatus = util.ubus("service", "list", { name = packageName })
-local tmpfsVersion = tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'")))
+local packageVersion = tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'"))) or ""
-if not tmpfsVersion or tmpfsVersion == "" then
- tmpfsStatusCode = -1
- tmpfsVersion = ""
- tmpfsStatus = packageName .. " " .. translate("is not installed or not found")
+if packageVersion == "" then
+ packageStatusCode = -1
+ packageStatus = translatef("%s is not installed or not found", packageName)
else
- tmpfsVersion = " [" .. packageName .. " " .. tmpfsVersion .. "]"
if not ubusStatus or not ubusStatus[packageName] then
- tmpfsStatusCode = 0
- tmpfsStatus = translate("Stopped")
- if not luci.sys.init.enabled(packageName) then
- tmpfsStatus = tmpfsStatus .. " (" .. translate("disabled") .. ")"
+ packageStatusCode = 0
+ packageStatus = translate("Stopped")
+ if not sys.init.enabled(packageName) then
+ packageStatus = packageStatus .. " (" .. translate("disabled") .. ")"
end
else
- tmpfsStatusCode, tmpfsStatus = 1, ""
+ packageStatusCode, packageStatus = 1, ""
for n = 1,1000 do
if ubusStatus and ubusStatus[packageName] and
ubusStatus[packageName]["instances"] and
@@ -83,7 +81,7 @@ else
end
la = la or "127.0.0.1"
lp = lp or n + 5053
- tmpfsStatus = tmpfsStatus .. translate("Running") .. ": " .. get_provider_name(url) .. " " .. translate("DoH") .. " " .. translate("at") .. " " .. la .. ":" .. lp .. "\n"
+ packageStatus = packageStatus .. translatef("Running: %s DoH at %s:%s", get_provider_name(url), la, lp) .. "\n"
else
break
end
@@ -93,27 +91,26 @@ end
m = Map("https-dns-proxy", translate("DNS Over HTTPS Proxy Settings"))
-h = m:section(TypedSection, "_dummy", translate("Service Status") .. tmpfsVersion)
+h = m:section(TypedSection, "_dummy", translatef("Service Status [%s %s]", packageName, packageVersion))
h.template = "cbi/nullsection"
ss = h:option(DummyValue, "_dummy", translate("Service Status"))
-if tmpfsStatusCode == -1 then
+if packageStatusCode == -1 then
ss.template = packageName .. "/status"
- ss.value = tmpfsStatus
+ ss.value = packageStatus
else
- if tmpfsStatusCode == 0 then
+ if packageStatusCode == 0 then
ss.template = packageName .. "/status"
else
ss.template = packageName .. "/status-textarea"
end
- ss.value = tmpfsStatus
+ ss.value = packageStatus
buttons = h:option(DummyValue, "_dummy")
buttons.template = packageName .. "/buttons"
end
create_helper_text()
-s3 = m:section(TypedSection, "https-dns-proxy", translate("Instances"), translate("When you add/remove any instances below, they will be used to override the 'DNS forwardings' section of ")
- .. [[ <a href="]] .. dispatcher.build_url("admin/network/dhcp") .. [[">]]
- .. translate("DHCP and DNS") .. [[</a>]] .. "." .. helperText)
+s3 = m:section(TypedSection, "https-dns-proxy", translate("Instances"),
+ translatef("When you add/remove any instances below, they will be used to override the 'DNS forwardings' section of <a href=\"%s\">DHCP and DNS</a>.", dispatcher.build_url("admin/network/dhcp")) .. helperText)
s3.template = "cbi/tblsection"
s3.sortable = false
s3.anonymous = true
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 6b7877f265..3a2a3306eb 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,6 +1,10 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:59
+msgid "%s is not installed or not found"
+msgstr ""
+
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3
msgid "AdGuard (Family Protection)"
msgstr ""
@@ -25,15 +29,11 @@ msgstr ""
msgid "Cloudflare"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:116
-msgid "DHCP and DNS"
-msgstr ""
-
#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4
msgid "DNS Over HTTPS Proxy"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:94
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:93
msgid "DNS Over HTTPS Proxy Settings"
msgstr ""
@@ -49,11 +49,7 @@ msgstr ""
msgid "Disable"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86
-msgid "DoH"
-msgstr ""
-
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:166
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:164
msgid "EDNS client subnet"
msgstr ""
@@ -69,7 +65,7 @@ msgstr ""
msgid "Google"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:114
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:113
msgid "Instances"
msgstr ""
@@ -81,11 +77,11 @@ msgstr ""
msgid "LibreDNS (No Ads)"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:149
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:147
msgid "Listen address"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:162
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:160
msgid "Listen port"
msgstr ""
@@ -97,7 +93,7 @@ msgstr ""
msgid "ODVR (nic.cz)"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:169
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:167
msgid "Proxy server"
msgstr ""
@@ -121,19 +117,22 @@ msgstr ""
msgid "Reload"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:122
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:120
msgid "Resolver"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86
-msgid "Running"
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85
+msgid "Running: %s DoH at %s:%s"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:96
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:98
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:97
msgid "Service Status"
msgstr ""
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:95
+msgid "Service Status [%s %s]"
+msgstr ""
+
#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41
msgid "Start"
msgstr ""
@@ -142,7 +141,7 @@ msgstr ""
msgid "Stop"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:63
msgid "Stopped"
msgstr ""
@@ -153,25 +152,17 @@ msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:114
msgid ""
"When you add/remove any instances below, they will be used to override the "
-"'DNS forwardings' section of"
+"'DNS forwardings' section of <a href=\"%s\">DHCP and DNS</a>."
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:34
msgid "and"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86
-msgid "at"
-msgstr ""
-
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66
+#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:65
msgid "disabled"
msgstr ""
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:59
-msgid "is not installed or not found"
-msgstr ""
-
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3
msgid "rubyfish.cn"
msgstr ""
diff --git a/applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json b/applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json
new file mode 100644
index 0000000000..0886cc885a
--- /dev/null
+++ b/applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-https-dns-proxy": {
+ "description": "Grant UCI access for luci-app-https-dns-proxy",
+ "read": {
+ "uci": [ "https-dns-proxy" ]
+ },
+ "write": {
+ "uci": [ "https-dns-proxy" ]
+ }
+ }
+}
diff --git a/applications/luci-app-ltqtapi/root/usr/share/rpcd/acl.d/luci-app-ltqtapi.json b/applications/luci-app-ltqtapi/root/usr/share/rpcd/acl.d/luci-app-ltqtapi.json
new file mode 100644
index 0000000000..0d4df93a85
--- /dev/null
+++ b/applications/luci-app-ltqtapi/root/usr/share/rpcd/acl.d/luci-app-ltqtapi.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-ltqtapi": {
+ "description": "Grant UCI access for luci-app-ltqtapi",
+ "read": {
+ "uci": [ "telephony" ]
+ },
+ "write": {
+ "uci": [ "telephony" ]
+ }
+ }
+}
diff --git a/applications/luci-app-lxc/root/usr/share/rpcd/acl.d/luci-app-lxc.json b/applications/luci-app-lxc/root/usr/share/rpcd/acl.d/luci-app-lxc.json
new file mode 100644
index 0000000000..9cf9f3ca57
--- /dev/null
+++ b/applications/luci-app-lxc/root/usr/share/rpcd/acl.d/luci-app-lxc.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-lxc": {
+ "description": "Grant UCI access for luci-app-lxc",
+ "read": {
+ "uci": [ "lxc" ]
+ },
+ "write": {
+ "uci": [ "lxc" ]
+ }
+ }
+}
diff --git a/applications/luci-app-mjpg-streamer/root/usr/share/rpcd/acl.d/luci-app-mjpg-streamer.json b/applications/luci-app-mjpg-streamer/root/usr/share/rpcd/acl.d/luci-app-mjpg-streamer.json
new file mode 100644
index 0000000000..ab68a6e1c2
--- /dev/null
+++ b/applications/luci-app-mjpg-streamer/root/usr/share/rpcd/acl.d/luci-app-mjpg-streamer.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-mjpg-streamer": {
+ "description": "Grant UCI access for luci-app-mjpg-streamer",
+ "read": {
+ "uci": [ "mjpg-streamer" ]
+ },
+ "write": {
+ "uci": [ "mjpg-streamer" ]
+ }
+ }
+}
diff --git a/applications/luci-app-mosquitto/root/usr/share/rpcd/acl.d/luci-app-mosquitto.json b/applications/luci-app-mosquitto/root/usr/share/rpcd/acl.d/luci-app-mosquitto.json
new file mode 100644
index 0000000000..dd3c6f7a20
--- /dev/null
+++ b/applications/luci-app-mosquitto/root/usr/share/rpcd/acl.d/luci-app-mosquitto.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-mosquitto": {
+ "description": "Grant UCI access for luci-app-mosquitto",
+ "read": {
+ "uci": [ "mosquitto" ]
+ },
+ "write": {
+ "uci": [ "mosquitto" ]
+ }
+ }
+}
diff --git a/applications/luci-app-mwan3/root/usr/share/rpcd/acl.d/luci-app-mwan3.json b/applications/luci-app-mwan3/root/usr/share/rpcd/acl.d/luci-app-mwan3.json
new file mode 100644
index 0000000000..539ed0fb90
--- /dev/null
+++ b/applications/luci-app-mwan3/root/usr/share/rpcd/acl.d/luci-app-mwan3.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-mwan3": {
+ "description": "Grant UCI access for luci-app-mwan3",
+ "read": {
+ "uci": [ "mwan3" ]
+ },
+ "write": {
+ "uci": [ "mwan3" ]
+ }
+ }
+}
diff --git a/applications/luci-app-nft-qos/root/usr/share/rpcd/acl.d/luci-app-nft-qos.json b/applications/luci-app-nft-qos/root/usr/share/rpcd/acl.d/luci-app-nft-qos.json
new file mode 100644
index 0000000000..b2de6260ba
--- /dev/null
+++ b/applications/luci-app-nft-qos/root/usr/share/rpcd/acl.d/luci-app-nft-qos.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-nft-qos": {
+ "description": "Grant UCI access for luci-app-nft-qos",
+ "read": {
+ "uci": [ "nft-qos" ]
+ },
+ "write": {
+ "uci": [ "nft-qos" ]
+ }
+ }
+}
diff --git a/applications/luci-app-nlbwmon/root/usr/share/rpcd/acl.d/luci-app-nlbwmon.json b/applications/luci-app-nlbwmon/root/usr/share/rpcd/acl.d/luci-app-nlbwmon.json
new file mode 100644
index 0000000000..0ccc5b1c36
--- /dev/null
+++ b/applications/luci-app-nlbwmon/root/usr/share/rpcd/acl.d/luci-app-nlbwmon.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-nlbwmon": {
+ "description": "Grant UCI access for luci-app-nlbwmon",
+ "read": {
+ "uci": [ "nlbwmon" ]
+ },
+ "write": {
+ "uci": [ "nlbwmon" ]
+ }
+ }
+}
diff --git a/applications/luci-app-noddos/root/usr/share/rpcd/acl.d/luci-app-noddos.json b/applications/luci-app-noddos/root/usr/share/rpcd/acl.d/luci-app-noddos.json
new file mode 100644
index 0000000000..1560c39eed
--- /dev/null
+++ b/applications/luci-app-noddos/root/usr/share/rpcd/acl.d/luci-app-noddos.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-noddos": {
+ "description": "Grant UCI access for luci-app-noddos",
+ "read": {
+ "uci": [ "noddos" ]
+ },
+ "write": {
+ "uci": [ "noddos" ]
+ }
+ }
+}
diff --git a/applications/luci-app-ntpc/root/usr/share/rpcd/acl.d/luci-app-ntpc.json b/applications/luci-app-ntpc/root/usr/share/rpcd/acl.d/luci-app-ntpc.json
new file mode 100644
index 0000000000..2b534a9770
--- /dev/null
+++ b/applications/luci-app-ntpc/root/usr/share/rpcd/acl.d/luci-app-ntpc.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-ntpc": {
+ "description": "Grant UCI access for luci-app-ntpc",
+ "read": {
+ "uci": [ "ntpclient" ]
+ },
+ "write": {
+ "uci": [ "ntpclient" ]
+ }
+ }
+}
diff --git a/applications/luci-app-nut/root/usr/share/rpcd/acl.d/luci-app-nut.json b/applications/luci-app-nut/root/usr/share/rpcd/acl.d/luci-app-nut.json
new file mode 100644
index 0000000000..f9abbed338
--- /dev/null
+++ b/applications/luci-app-nut/root/usr/share/rpcd/acl.d/luci-app-nut.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-nut": {
+ "description": "Grant UCI access for luci-app-nut",
+ "read": {
+ "uci": [ "nut_cgi", "nut_monitor", "nut_server" ]
+ },
+ "write": {
+ "uci": [ "nut_cgi", "nut_monitor", "nut_server" ]
+ }
+ }
+}
diff --git a/applications/luci-app-ocserv/root/usr/share/rpcd/acl.d/luci-app-ocserv.json b/applications/luci-app-ocserv/root/usr/share/rpcd/acl.d/luci-app-ocserv.json
new file mode 100644
index 0000000000..fce65d8c70
--- /dev/null
+++ b/applications/luci-app-ocserv/root/usr/share/rpcd/acl.d/luci-app-ocserv.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-ocserv": {
+ "description": "Grant UCI access for luci-app-ocserv",
+ "read": {
+ "uci": [ "ocserv" ]
+ },
+ "write": {
+ "uci": [ "ocserv" ]
+ }
+ }
+}
diff --git a/applications/luci-app-olsr/root/usr/share/rpcd/acl.d/luci-app-olsr.json b/applications/luci-app-olsr/root/usr/share/rpcd/acl.d/luci-app-olsr.json
new file mode 100644
index 0000000000..246afbc941
--- /dev/null
+++ b/applications/luci-app-olsr/root/usr/share/rpcd/acl.d/luci-app-olsr.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-olsr": {
+ "description": "Grant UCI access for luci-app-olsr",
+ "read": {
+ "uci": [ "luci_olsr", "olsrd", "olsrd6" ]
+ },
+ "write": {
+ "uci": [ "luci_olsr", "olsrd", "olsrd6" ]
+ }
+ }
+}
diff --git a/applications/luci-app-openvpn/root/usr/share/rpcd/acl.d/luci-app-openvpn.json b/applications/luci-app-openvpn/root/usr/share/rpcd/acl.d/luci-app-openvpn.json
index bc9d8e184d..41f62ad294 100644
--- a/applications/luci-app-openvpn/root/usr/share/rpcd/acl.d/luci-app-openvpn.json
+++ b/applications/luci-app-openvpn/root/usr/share/rpcd/acl.d/luci-app-openvpn.json
@@ -1,11 +1,15 @@
{
"luci-app-openvpn": {
- "description": "Grant file upload access to /etc/openvpn",
+ "description": "Grant access to OpenVPN configuration",
+ "read": {
+ "uci": [ "openvpn" ]
+ },
"write": {
"cgi-io": [ "upload" ],
"file": {
"/etc/openvpn/*": [ "write" ]
- }
+ },
+ "uci": [ "openvpn" ]
}
}
}
diff --git a/applications/luci-app-p910nd/root/usr/share/rpcd/acl.d/luci-app-p910nd.json b/applications/luci-app-p910nd/root/usr/share/rpcd/acl.d/luci-app-p910nd.json
new file mode 100644
index 0000000000..b2e7476e61
--- /dev/null
+++ b/applications/luci-app-p910nd/root/usr/share/rpcd/acl.d/luci-app-p910nd.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-p910nd": {
+ "description": "Grant UCI access for luci-app-p910nd",
+ "read": {
+ "uci": [ "p910nd" ]
+ },
+ "write": {
+ "uci": [ "p910nd" ]
+ }
+ }
+}
diff --git a/applications/luci-app-polipo/root/usr/share/rpcd/acl.d/luci-app-polipo.json b/applications/luci-app-polipo/root/usr/share/rpcd/acl.d/luci-app-polipo.json
new file mode 100644
index 0000000000..5b9dfa88fa
--- /dev/null
+++ b/applications/luci-app-polipo/root/usr/share/rpcd/acl.d/luci-app-polipo.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-polipo": {
+ "description": "Grant UCI access for luci-app-polipo",
+ "read": {
+ "uci": [ "polipo" ]
+ },
+ "write": {
+ "uci": [ "polipo" ]
+ }
+ }
+}
diff --git a/applications/luci-app-privoxy/root/usr/share/rpcd/acl.d/luci-app-privoxy.json b/applications/luci-app-privoxy/root/usr/share/rpcd/acl.d/luci-app-privoxy.json
new file mode 100644
index 0000000000..6b328a07a4
--- /dev/null
+++ b/applications/luci-app-privoxy/root/usr/share/rpcd/acl.d/luci-app-privoxy.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-privoxy": {
+ "description": "Grant UCI access for luci-app-privoxy",
+ "read": {
+ "uci": [ "privoxy" ]
+ },
+ "write": {
+ "uci": [ "privoxy" ]
+ }
+ }
+}
diff --git a/applications/luci-app-qos/root/usr/share/rpcd/acl.d/luci-app-qos.json b/applications/luci-app-qos/root/usr/share/rpcd/acl.d/luci-app-qos.json
new file mode 100644
index 0000000000..f37a98eeaf
--- /dev/null
+++ b/applications/luci-app-qos/root/usr/share/rpcd/acl.d/luci-app-qos.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-qos": {
+ "description": "Grant UCI access for luci-app-qos",
+ "read": {
+ "uci": [ "qos" ]
+ },
+ "write": {
+ "uci": [ "qos" ]
+ }
+ }
+}
diff --git a/applications/luci-app-radicale/root/usr/share/rpcd/acl.d/luci-app-radicale.json b/applications/luci-app-radicale/root/usr/share/rpcd/acl.d/luci-app-radicale.json
new file mode 100644
index 0000000000..122c85630d
--- /dev/null
+++ b/applications/luci-app-radicale/root/usr/share/rpcd/acl.d/luci-app-radicale.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-radicale": {
+ "description": "Grant UCI access for luci-app-radicale",
+ "read": {
+ "uci": [ "radicale" ]
+ },
+ "write": {
+ "uci": [ "radicale" ]
+ }
+ }
+}
diff --git a/applications/luci-app-radicale2/root/usr/share/rpcd/acl.d/luci-app-radicale2.json b/applications/luci-app-radicale2/root/usr/share/rpcd/acl.d/luci-app-radicale2.json
new file mode 100644
index 0000000000..edb1dbd499
--- /dev/null
+++ b/applications/luci-app-radicale2/root/usr/share/rpcd/acl.d/luci-app-radicale2.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-radicale2": {
+ "description": "Grant UCI access for luci-app-radicale2",
+ "read": {
+ "uci": [ "radicale2" ]
+ },
+ "write": {
+ "uci": [ "radicale2" ]
+ }
+ }
+}
diff --git a/applications/luci-app-rosy-file-server/root/usr/share/rpcd/acl.d/luci-app-rosy-file-server.json b/applications/luci-app-rosy-file-server/root/usr/share/rpcd/acl.d/luci-app-rosy-file-server.json
new file mode 100644
index 0000000000..b5ce1ffa16
--- /dev/null
+++ b/applications/luci-app-rosy-file-server/root/usr/share/rpcd/acl.d/luci-app-rosy-file-server.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-rosy-file-server": {
+ "description": "Grant UCI access for luci-app-rosy-file-server",
+ "read": {
+ "uci": [ "rosyfs" ]
+ },
+ "write": {
+ "uci": [ "rosyfs" ]
+ }
+ }
+}
diff --git a/applications/luci-app-rp-pppoe-server/root/usr/share/rpcd/acl.d/luci-app-rp-pppoe-server.json b/applications/luci-app-rp-pppoe-server/root/usr/share/rpcd/acl.d/luci-app-rp-pppoe-server.json
new file mode 100644
index 0000000000..904faac7c6
--- /dev/null
+++ b/applications/luci-app-rp-pppoe-server/root/usr/share/rpcd/acl.d/luci-app-rp-pppoe-server.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-rp-pppoe-server": {
+ "description": "Grant UCI access for luci-app-rp-pppoe-server",
+ "read": {
+ "uci": [ "pppoe" ]
+ },
+ "write": {
+ "uci": [ "pppoe" ]
+ }
+ }
+}
diff --git a/applications/luci-app-samba/root/usr/share/rpcd/acl.d/luci-app-samba.json b/applications/luci-app-samba/root/usr/share/rpcd/acl.d/luci-app-samba.json
new file mode 100644
index 0000000000..c261084718
--- /dev/null
+++ b/applications/luci-app-samba/root/usr/share/rpcd/acl.d/luci-app-samba.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-samba": {
+ "description": "Grant UCI access for luci-app-samba",
+ "read": {
+ "uci": [ "samba" ]
+ },
+ "write": {
+ "uci": [ "samba" ]
+ }
+ }
+}
diff --git a/applications/luci-app-shairplay/root/usr/share/rpcd/acl.d/luci-app-shairplay.json b/applications/luci-app-shairplay/root/usr/share/rpcd/acl.d/luci-app-shairplay.json
new file mode 100644
index 0000000000..b755d17fb5
--- /dev/null
+++ b/applications/luci-app-shairplay/root/usr/share/rpcd/acl.d/luci-app-shairplay.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-shairplay": {
+ "description": "Grant UCI access for luci-app-shairplay",
+ "read": {
+ "uci": [ "shairplay" ]
+ },
+ "write": {
+ "uci": [ "shairplay" ]
+ }
+ }
+}
diff --git a/applications/luci-app-simple-adblock/po/de/simple-adblock.po b/applications/luci-app-simple-adblock/po/de/simple-adblock.po
index 486e1c2ae8..ee22fa964d 100644
--- a/applications/luci-app-simple-adblock/po/de/simple-adblock.po
+++ b/applications/luci-app-simple-adblock/po/de/simple-adblock.po
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2020-04-10 05:59+0000\n"
+"PO-Revision-Date: 2020-04-10 22:22+0000\n"
"Last-Translator: ce4 <chregger@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssimple-adblock/de/>\n"
@@ -397,7 +397,7 @@ msgstr "Formatierung der Datei schlug fehl"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:102
msgid "failed to move"
-msgstr "Kopieren schlug fehl von"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:98
msgid "failed to move temporary data file to"
diff --git a/applications/luci-app-simple-adblock/root/usr/share/rpcd/acl.d/luci-app-simple-adblock.json b/applications/luci-app-simple-adblock/root/usr/share/rpcd/acl.d/luci-app-simple-adblock.json
new file mode 100644
index 0000000000..8a890532bb
--- /dev/null
+++ b/applications/luci-app-simple-adblock/root/usr/share/rpcd/acl.d/luci-app-simple-adblock.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-simple-adblock": {
+ "description": "Grant UCI access for luci-app-simple-adblock",
+ "read": {
+ "uci": [ "simple-adblock" ]
+ },
+ "write": {
+ "uci": [ "simple-adblock" ]
+ }
+ }
+}
diff --git a/applications/luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json b/applications/luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json
new file mode 100644
index 0000000000..566e521391
--- /dev/null
+++ b/applications/luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-snmpd": {
+ "description": "Grant UCI access for luci-app-snmpd",
+ "read": {
+ "uci": [ "snmpd" ]
+ },
+ "write": {
+ "uci": [ "snmpd" ]
+ }
+ }
+}
diff --git a/applications/luci-app-splash/root/usr/share/rpcd/acl.d/luci-app-splash.json b/applications/luci-app-splash/root/usr/share/rpcd/acl.d/luci-app-splash.json
new file mode 100644
index 0000000000..49801fb9ac
--- /dev/null
+++ b/applications/luci-app-splash/root/usr/share/rpcd/acl.d/luci-app-splash.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-splash": {
+ "description": "Grant UCI access for luci-app-splash",
+ "read": {
+ "uci": [ "luci_splash" ]
+ },
+ "write": {
+ "uci": [ "luci_splash" ]
+ }
+ }
+}
diff --git a/applications/luci-app-sqm/po/zh_Hans/sqm.po b/applications/luci-app-sqm/po/zh_Hans/sqm.po
index 3d1b80472c..643387c14a 100644
--- a/applications/luci-app-sqm/po/zh_Hans/sqm.po
+++ b/applications/luci-app-sqm/po/zh_Hans/sqm.po
@@ -1,176 +1,182 @@
msgid ""
msgstr ""
+"PO-Revision-Date: 2020-04-11 07:51+0000\n"
+"Last-Translator: 01230 <4585006@gmail.com>\n"
+"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationssqm/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.0-dev\n"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:206
msgid ""
"Advanced option string to pass to the egress queueing disciplines; no error "
"checking, use very carefully."
-msgstr ""
+msgstr "传递到出站队列规则的高级选项字符串,没有错误检查,请谨慎使用。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:202
msgid ""
"Advanced option string to pass to the ingress queueing disciplines; no error "
"checking, use very carefully."
-msgstr ""
+msgstr "传递到入站队列规则的高级选项字符串,没有错误检查,请谨慎使用。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:33
msgid "Basic Settings"
-msgstr ""
+msgstr "基本设置"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:88
msgid ""
"Create log file for this SQM instance under /var/run/sqm/${Interface_name}."
"[start|stop]-sqm.log."
-msgstr ""
+msgstr "创建日志文件(/var/run/sqm/${Interface_name}.[start|stop]-sqm.log)。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:80
msgid ""
"Download speed (kbit/s) (ingress) set to 0 to selectively disable ingress "
"shaping:"
-msgstr ""
+msgstr "下载速度(kbit/s)(0-无限制):"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:40
msgid "Enable this SQM instance."
-msgstr ""
+msgstr "启用SQM。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:157
msgid ""
"Explicit congestion notification (ECN) status on inbound packets (ingress):"
-msgstr ""
+msgstr "入站数据包的显式拥塞通知(ECN)状态:"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:164
msgid ""
"Explicit congestion notification (ECN) status on outbound packets (egress)."
-msgstr ""
+msgstr "出站数据包的显式拥塞通知(ECN)状态。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:183
msgid "Hard limit on egress queues; leave empty for default."
-msgstr ""
+msgstr "出站队列严格限制,默认留空。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:176
msgid "Hard limit on ingress queues; leave empty for default."
-msgstr ""
+msgstr "入站队列严格限制,默认留空。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:150
msgid "Ignore DSCP on ingress:"
-msgstr ""
+msgstr "忽略入站DSCP:"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:64
msgid "Interface name"
-msgstr ""
+msgstr "接口名称"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:195
msgid ""
"Latency target for egress, e.g. 5ms [units: s, ms, or us]; leave empty for "
"automatic selection, put in the word default for the qdisc's default."
-msgstr ""
+msgstr "出站延迟目标,例如 5ms [单位: s, ms, 或 us];留空为自动选择,默认为列队规则预设值。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:190
msgid ""
"Latency target for ingress, e.g 5ms [units: s, ms, or us]; leave empty for "
"automatic selection, put in the word default for the qdisc's default."
-msgstr ""
+msgstr "入站延迟目标,例如 5ms [单位: s, ms, 或 us];留空为自动选择,默认为列队规则预设值。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:35
msgid "Link Layer Adaptation"
-msgstr ""
+msgstr "链路层适应"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:231
msgid ""
"Maximal Size for size and rate calculations, tcMTU (byte); needs to be >= "
"interface MTU + overhead:"
-msgstr ""
+msgstr "大小和速率计算的最大尺寸,tcMTU(byte); 需要 >= 接口MTU + 开销:"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:245
msgid ""
"Minimal packet size, MPU (byte); needs to be > 0 for ethernet size tables:"
-msgstr ""
+msgstr "最小数据包大小,MPU(byte); 在以太网中需要 >0 :"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:238
msgid ""
"Number of entries in size/rate tables, TSIZE; for ATM choose TSIZE = (tcMTU "
"+ 1) / 16:"
-msgstr ""
+msgstr "大小/速率表中的条目数,TSIZE; 对于ATM选择TSIZE =(tcMTU + 1 ) / 16:"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:217
msgid "Per Packet Overhead (byte):"
-msgstr ""
+msgstr "数据包开销(byte):"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:34
msgid "Queue Discipline"
-msgstr ""
+msgstr "列队规则"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:122
msgid "Queue setup script"
-msgstr ""
+msgstr "队列设置脚本"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:32
msgid "Queues"
-msgstr ""
+msgstr "队列"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:108
msgid ""
"Queuing disciplines useable on this system. After installing a new qdisc, "
"you need to restart the router to see updates!"
-msgstr ""
+msgstr "安装新的队列规则后,需要重启路由器!"
#: applications/luci-app-sqm/luasrc/controller/sqm.lua:24
msgid "SQM QoS"
-msgstr ""
+msgstr "SQM QoS"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:226
msgid ""
"Show Advanced Linklayer Options, (only needed if MTU > 1500). Advanced "
"options will only be used as long as this box is checked."
-msgstr ""
+msgstr "显示高级链路选项,(仅在MTU> 1500时才需要)。 只有选中此框时,才会使用高级选项。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:139
msgid ""
"Show and Use Advanced Configuration. Advanced options will only be used as "
"long as this box is checked."
-msgstr ""
+msgstr "显示使用高级链路选项,只有选中此框时,才会使用高级选项。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:171
msgid ""
"Show and Use Dangerous Configuration. Dangerous options will only be used as "
"long as this box is checked."
-msgstr ""
+msgstr "选中该复选框显示危险配置。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:25
msgid "Smart Queue Management"
-msgstr ""
+msgstr "智能队列管理"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:143
msgid "Squash DSCP on inbound packets (ingress):"
-msgstr ""
+msgstr "入站数据包压缩DSCP:"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:54
msgid ""
"The SQM GUI has just enabled the sqm initscript on your behalf. Remember to "
"disable the sqm initscript manually under System Startup menu in case this "
"change was not wished for."
-msgstr ""
+msgstr "你刚刚开启了SQM随机启动功能,如果你不希望SQM随机启动,可以在系统启动菜单下手动禁用。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:84
msgid ""
"Upload speed (kbit/s) (egress) set to 0 to selectively disable egress "
"shaping:"
-msgstr ""
+msgstr "上传速度(kbit/s)(0-无限制):"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:92
msgid "Verbosity of SQM's output into the system log."
-msgstr ""
+msgstr "日志等级。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:211
msgid "Which link layer to account for:"
-msgstr ""
+msgstr "链路层:"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:252
msgid "Which linklayer adaptation mechanism to use; for testing only"
-msgstr ""
+msgstr "使用哪个链路适应机制; 仅用于测试"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:26
msgid ""
@@ -178,6 +184,8 @@ msgid ""
"traffic shaping, better mixing (Fair Queueing), active queue length "
"management (AQM) and prioritisation on one network interface."
msgstr ""
+"使用 <abbr title=\\\"智能列队管理\\\">SQM</abbr> 你可以启用流量整形,更好的混合(公平列队)主动列队管理(AQM) "
+"并设置网络接口优先级。"
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:96
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:109
@@ -186,4 +194,4 @@ msgstr ""
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:212
#: applications/luci-app-sqm/luasrc/model/cbi/sqm.lua:253
msgid "default"
-msgstr ""
+msgstr "默认"
diff --git a/applications/luci-app-sqm/root/usr/share/rpcd/acl.d/luci-app-sqm.json b/applications/luci-app-sqm/root/usr/share/rpcd/acl.d/luci-app-sqm.json
new file mode 100644
index 0000000000..583a54ae5a
--- /dev/null
+++ b/applications/luci-app-sqm/root/usr/share/rpcd/acl.d/luci-app-sqm.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-sqm": {
+ "description": "Grant UCI access for luci-app-sqm",
+ "read": {
+ "uci": [ "sqm" ]
+ },
+ "write": {
+ "uci": [ "sqm" ]
+ }
+ }
+}
diff --git a/applications/luci-app-squid/root/usr/share/rpcd/acl.d/luci-app-squid.json b/applications/luci-app-squid/root/usr/share/rpcd/acl.d/luci-app-squid.json
new file mode 100644
index 0000000000..91f8b5b348
--- /dev/null
+++ b/applications/luci-app-squid/root/usr/share/rpcd/acl.d/luci-app-squid.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-squid": {
+ "description": "Grant UCI access for luci-app-squid",
+ "read": {
+ "uci": [ "squid" ]
+ },
+ "write": {
+ "uci": [ "squid" ]
+ }
+ }
+}
diff --git a/applications/luci-app-tinyproxy/root/usr/share/rpcd/acl.d/luci-app-tinyproxy.json b/applications/luci-app-tinyproxy/root/usr/share/rpcd/acl.d/luci-app-tinyproxy.json
new file mode 100644
index 0000000000..db72bebef5
--- /dev/null
+++ b/applications/luci-app-tinyproxy/root/usr/share/rpcd/acl.d/luci-app-tinyproxy.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-tinyproxy": {
+ "description": "Grant UCI access for luci-app-tinyproxy",
+ "read": {
+ "uci": [ "tinyproxy" ]
+ },
+ "write": {
+ "uci": [ "tinyproxy" ]
+ }
+ }
+}
diff --git a/applications/luci-app-travelmate/root/usr/share/rpcd/acl.d/luci-app-travelmate.json b/applications/luci-app-travelmate/root/usr/share/rpcd/acl.d/luci-app-travelmate.json
new file mode 100644
index 0000000000..a66bc8add6
--- /dev/null
+++ b/applications/luci-app-travelmate/root/usr/share/rpcd/acl.d/luci-app-travelmate.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-travelmate": {
+ "description": "Grant UCI access for luci-app-travelmate",
+ "read": {
+ "uci": [ "travelmate" ]
+ },
+ "write": {
+ "uci": [ "travelmate" ]
+ }
+ }
+}
diff --git a/applications/luci-app-udpxy/root/usr/share/rpcd/acl.d/luci-app-udpxy.json b/applications/luci-app-udpxy/root/usr/share/rpcd/acl.d/luci-app-udpxy.json
new file mode 100644
index 0000000000..c8aacef953
--- /dev/null
+++ b/applications/luci-app-udpxy/root/usr/share/rpcd/acl.d/luci-app-udpxy.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-udpxy": {
+ "description": "Grant UCI access for luci-app-udpxy",
+ "read": {
+ "uci": [ "udpxy" ]
+ },
+ "write": {
+ "uci": [ "udpxy" ]
+ }
+ }
+}
diff --git a/applications/luci-app-uhttpd/root/usr/share/rpcd/acl.d/luci-app-uhttpd.json b/applications/luci-app-uhttpd/root/usr/share/rpcd/acl.d/luci-app-uhttpd.json
new file mode 100644
index 0000000000..d3b93523cc
--- /dev/null
+++ b/applications/luci-app-uhttpd/root/usr/share/rpcd/acl.d/luci-app-uhttpd.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-uhttpd": {
+ "description": "Grant UCI access for luci-app-uhttpd",
+ "read": {
+ "uci": [ "uhttpd" ]
+ },
+ "write": {
+ "uci": [ "uhttpd" ]
+ }
+ }
+}
diff --git a/applications/luci-app-unbound/root/usr/share/rpcd/acl.d/luci-app-unbound.json b/applications/luci-app-unbound/root/usr/share/rpcd/acl.d/luci-app-unbound.json
new file mode 100644
index 0000000000..60779023ac
--- /dev/null
+++ b/applications/luci-app-unbound/root/usr/share/rpcd/acl.d/luci-app-unbound.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-unbound": {
+ "description": "Grant UCI access for luci-app-unbound",
+ "read": {
+ "uci": [ "unbound" ]
+ },
+ "write": {
+ "uci": [ "unbound" ]
+ }
+ }
+}
diff --git a/applications/luci-app-vnstat/root/usr/share/rpcd/acl.d/luci-app-vnstat.json b/applications/luci-app-vnstat/root/usr/share/rpcd/acl.d/luci-app-vnstat.json
new file mode 100644
index 0000000000..01d4134c4e
--- /dev/null
+++ b/applications/luci-app-vnstat/root/usr/share/rpcd/acl.d/luci-app-vnstat.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-vnstat": {
+ "description": "Grant UCI access for luci-app-vnstat",
+ "read": {
+ "uci": [ "vnstat" ]
+ },
+ "write": {
+ "uci": [ "vnstat" ]
+ }
+ }
+}
diff --git a/applications/luci-app-vpn-policy-routing/root/usr/share/rpcd/acl.d/luci-app-vpn-policy-routing.json b/applications/luci-app-vpn-policy-routing/root/usr/share/rpcd/acl.d/luci-app-vpn-policy-routing.json
new file mode 100644
index 0000000000..64e73de9cc
--- /dev/null
+++ b/applications/luci-app-vpn-policy-routing/root/usr/share/rpcd/acl.d/luci-app-vpn-policy-routing.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-vpn-policy-routing": {
+ "description": "Grant UCI access for luci-app-vpn-policy-routing",
+ "read": {
+ "uci": [ "vpn-policy-routing" ]
+ },
+ "write": {
+ "uci": [ "vpn-policy-routing" ]
+ }
+ }
+}
diff --git a/applications/luci-app-vpnbypass/root/usr/share/rpcd/acl.d/luci-app-vpnbypass.json b/applications/luci-app-vpnbypass/root/usr/share/rpcd/acl.d/luci-app-vpnbypass.json
new file mode 100644
index 0000000000..219307e477
--- /dev/null
+++ b/applications/luci-app-vpnbypass/root/usr/share/rpcd/acl.d/luci-app-vpnbypass.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-vpnbypass": {
+ "description": "Grant UCI access for luci-app-vpnbypass",
+ "read": {
+ "uci": [ "dhcp", "vpnbypass" ]
+ },
+ "write": {
+ "uci": [ "dhcp", "vpnbypass" ]
+ }
+ }
+}
diff --git a/applications/luci-app-watchcat/root/usr/share/rpcd/acl.d/luci-app-watchcat.json b/applications/luci-app-watchcat/root/usr/share/rpcd/acl.d/luci-app-watchcat.json
new file mode 100644
index 0000000000..29de34b6d3
--- /dev/null
+++ b/applications/luci-app-watchcat/root/usr/share/rpcd/acl.d/luci-app-watchcat.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-watchcat": {
+ "description": "Grant UCI access for luci-app-watchcat",
+ "read": {
+ "uci": [ "system" ]
+ },
+ "write": {
+ "uci": [ "system" ]
+ }
+ }
+}
diff --git a/applications/luci-app-wifischedule/root/usr/share/rpcd/acl.d/luci-app-wifischedule.json b/applications/luci-app-wifischedule/root/usr/share/rpcd/acl.d/luci-app-wifischedule.json
new file mode 100644
index 0000000000..df44e7c39e
--- /dev/null
+++ b/applications/luci-app-wifischedule/root/usr/share/rpcd/acl.d/luci-app-wifischedule.json
@@ -0,0 +1,11 @@
+{
+ "luci-app-wifischedule": {
+ "description": "Grant UCI access for luci-app-wifischedule",
+ "read": {
+ "uci": [ "wifi_schedule" ]
+ },
+ "write": {
+ "uci": [ "wifi_schedule" ]
+ }
+ }
+}