project/luci.git
2 years agoTranslated using Weblate (Dutch) 6069/head
Hosted Weblate [Fri, 4 Nov 2022 10:27:56 +0000 (11:27 +0100)]
Translated using Weblate (Dutch)

Currently translated at 6.9% (13 of 186 strings)

Translation: OpenWrt/LuCI/applications/unbound
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsunbound/nl/

Translated using Weblate (Dutch)

Currently translated at 6.5% (11 of 168 strings)

Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/nl/

Translated using Weblate (Dutch)

Currently translated at 2.3% (5 of 212 strings)

Translated using Weblate (Dutch)

Currently translated at 20.8% (10 of 48 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (3 of 3 strings)

Translated using Weblate (Dutch)

Currently translated at 12.8% (44 of 343 strings)

Translated using Weblate (Dutch)

Currently translated at 8.2% (171 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/nl/

Translated using Weblate (Greek)

Currently translated at 25.9% (55 of 212 strings)

Translated using Weblate (Greek)

Currently translated at 30.4% (631 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/el/

Translated using Weblate (German)

Currently translated at 97.2% (107 of 110 strings)

Translation: OpenWrt/LuCI/applications/smartdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssmartdns/de/

Translated using Weblate (German)

Currently translated at 100.0% (66 of 66 strings)

Translation: OpenWrt/LuCI/applications/frps
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrps/de/

Translated using Weblate (German)

Currently translated at 100.0% (89 of 89 strings)

Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/de/

Translated using Weblate (German)

Currently translated at 100.0% (170 of 170 strings)

Translation: OpenWrt/LuCI/applications/mwan3
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmwan3/de/

Translated using Weblate (German)

Currently translated at 97.1% (2015 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/de/

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: TakissX <pxatzidakis@gmail.com>
Co-authored-by: fodiator <weblate@fodiator.com>
Co-authored-by: tdt-hv <hvoit@tdt.de>
Signed-off-by: TakissX <pxatzidakis@gmail.com>
Signed-off-by: fodiator <weblate@fodiator.com>
Signed-off-by: tdt-hv <hvoit@tdt.de>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/el/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/nl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/nl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-battstatus/nl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/nl/
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/statistics
Translation: OpenWrt/LuCI/modules/luci-mod-battstatus
Translation: OpenWrt/LuCI/modules/luci-mod-dashboard

2 years agoluci-mod-dsl: add i18n
Florian Eckert [Fri, 4 Nov 2022 12:52:44 +0000 (13:52 +0100)]
luci-mod-dsl: add i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-mod-dsl: initial commit
turboproc [Wed, 3 Aug 2022 21:47:23 +0000 (23:47 +0200)]
luci-mod-dsl: initial commit

Signed-off-by: Roland Barenbrug <roland@treslong.com>
[replace spcaes with tabs]
[remove not used dsl_cpe_pipe.sh from acl]
[cleanup file naming]
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-base: fix empty reply format in ubus gateway fallback code
Jo-Philipp Wich [Thu, 3 Nov 2022 10:27:52 +0000 (11:27 +0100)]
luci-base: fix empty reply format in ubus gateway fallback code

The ubus gateway fallback code incorrectly formatted ubus replies
containing no payload data when forwarding them via HTTP, leading
to `TypeError: Unexpected reply data format` errors in at least
the `luci.fs` class when receiving replies without payload.

Fix this issue by ensuring that the result array never contains
a `null` value for the payload, send an one-element array containing
just the status code in this case instead.

Fixes: #6074
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: dispatcher.uc: only flush HTTP headers after rendering output
Jo-Philipp Wich [Thu, 3 Nov 2022 10:13:30 +0000 (11:13 +0100)]
luci-base: dispatcher.uc: only flush HTTP headers after rendering output

Ensure to first completely render the action function before flushing HTTP
headers since the invoked action logic might modify the HTTP headers itself.

Fixes: e7afd0d327 ("luci-base: fix luci.http.close()")
Ref: https://github.com/openwrt/luci/commit/e7afd0d327bb35c502ca41a3c5e3ea098898fbd7#commitcomment-88736854
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoMerge pull request #6072 from TDT-AG/pr/20221103-ovpn-compress
Florian Eckert [Thu, 3 Nov 2022 09:52:25 +0000 (10:52 +0100)]
Merge pull request #6072 from TDT-AG/pr/20221103-ovpn-compress

luci-app-openvpn: add possibility to set param "compress" without algorithm

2 years agoluci-app-openvpn: add possibility to set param "compress" without algorithm 6072/head
Martin Schiller [Mon, 30 Mar 2020 08:16:11 +0000 (10:16 +0200)]
luci-app-openvpn: add possibility to set param "compress" without algorithm

In some situations you need to set the compress param without an
algorithm. Compression will be turned off, but the packet framing for
compression will still be enabled, allowing a different setting to be
pushed later.

As it is not possible to have options with optional values at the
moment, I've introduced a pseudo value "frames_only" which will be
removed in the init script.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2 years agoluci-base: fix luci.http.close()
Jo-Philipp Wich [Wed, 2 Nov 2022 23:38:00 +0000 (00:38 +0100)]
luci-base: fix luci.http.close()

Ensure that `http.write()` or template rendering operations after a call
to `http.close()` do not produce additional output. This is required for
certain legacy Lua apps which invoke write and close operations in the
middle of a server side cbi rendering process.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoMerge pull request #6066 from autoexpect/add_doh
Stan Grishin [Wed, 2 Nov 2022 22:11:27 +0000 (15:11 -0700)]
Merge pull request #6066 from autoexpect/add_doh

luci-app-https-dns-proxy: add cn.edu.tsinghua.tuna.dns.lua provider

2 years agoMerge pull request #6064 from weblate/weblate-openwrt-luci
Florian Eckert [Wed, 2 Nov 2022 13:17:24 +0000 (14:17 +0100)]
Merge pull request #6064 from weblate/weblate-openwrt-luci

Translations update from Hosted Weblate

2 years agoTranslated using Weblate (Persian) 6064/head
Hosted Weblate [Wed, 2 Nov 2022 08:09:47 +0000 (09:09 +0100)]
Translated using Weblate (Persian)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Persian)

Currently translated at 4.8% (4 of 82 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (28 of 28 strings)

Translation: OpenWrt/LuCI/applications/acl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacl/fa/

Translated using Weblate (Persian)

Currently translated at 91.8% (45 of 49 strings)

Translation: OpenWrt/LuCI/applications/bmx7
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbmx7/fa/

Translated using Weblate (German)

Currently translated at 97.2% (107 of 110 strings)

Translation: OpenWrt/LuCI/applications/smartdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssmartdns/de/

Translated using Weblate (Greek)

Currently translated at 14.7% (5 of 34 strings)

Translation: OpenWrt/LuCI/applications/wifischedule
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswifischedule/el/

Translated using Weblate (Greek)

Currently translated at 12.0% (3 of 25 strings)

Translation: OpenWrt/LuCI/applications/cshark
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscshark/el/

Translated using Weblate (Greek)

Currently translated at 25.4% (54 of 212 strings)

Translated using Weblate (Greek)

Currently translated at 30.3% (630 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/el/

Translated using Weblate (German)

Currently translated at 58.1% (64 of 110 strings)

Translation: OpenWrt/LuCI/applications/smartdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssmartdns/de/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (89 of 89 strings)

Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/pt/

Translated using Weblate (German)

Currently translated at 93.6% (88 of 94 strings)

Translation: OpenWrt/LuCI/applications/vpn-policy-routing
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsvpn-policy-routing/de/

Translated using Weblate (Portuguese)

Currently translated at 95.7% (112 of 117 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/pt/

Translated using Weblate (German)

Currently translated at 41.0% (48 of 117 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/de/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (191 of 191 strings)

Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/pt/

Translated using Weblate (Portuguese)

Currently translated at 99.4% (196 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/pt/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (36 of 36 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (82 of 82 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (39 of 39 strings)

Translation: OpenWrt/LuCI/applications/sqm
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssqm/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (116 of 116 strings)

Translation: OpenWrt/LuCI/applications/radicale
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsradicale/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (197 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/pl/

Translated using Weblate (Greek)

Currently translated at 30.3% (629 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/el/

Translated using Weblate (Slovak)

Currently translated at 14.8% (14 of 94 strings)

Translation: OpenWrt/LuCI/applications/vpn-policy-routing
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsvpn-policy-routing/sk/

Translated using Weblate (Slovak)

Currently translated at 3.4% (4 of 117 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/sk/

Translated using Weblate (Slovak)

Currently translated at 8.1% (9 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/sk/

Translated using Weblate (Slovak)

Currently translated at 12.9% (22 of 170 strings)

Translation: OpenWrt/LuCI/applications/mwan3
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmwan3/sk/

Translated using Weblate (Slovak)

Currently translated at 83.3% (20 of 24 strings)

Translation: OpenWrt/LuCI/applications/lxc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslxc/sk/

Translated using Weblate (Slovak)

Currently translated at 16.0% (4 of 25 strings)

Translation: OpenWrt/LuCI/applications/cshark
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscshark/sk/

Translated using Weblate (Slovak)

Currently translated at 25.5% (43 of 168 strings)

Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/sk/

Translated using Weblate (Slovak)

Currently translated at 62.7% (133 of 212 strings)

Translated using Weblate (Slovak)

Currently translated at 78.7% (26 of 33 strings)

Translated using Weblate (Slovak)

Currently translated at 45.4% (5 of 11 strings)

Translated using Weblate (Slovak)

Currently translated at 62.1% (23 of 37 strings)

Translated using Weblate (Slovak)

Currently translated at 36.3% (755 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/sk/

Translated using Weblate (Slovak)

Currently translated at 4.2% (9 of 211 strings)

Translation: OpenWrt/LuCI/applications/dockerman
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/sk/

Translated using Weblate (Slovak)

Currently translated at 13.6% (6 of 44 strings)

Translation: OpenWrt/LuCI/applications/ser2net
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsser2net/sk/

Translated using Weblate (Slovak)

Currently translated at 76.0% (19 of 25 strings)

Translation: OpenWrt/LuCI/applications/ksmbd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsksmbd/sk/

Translated using Weblate (Slovak)

Currently translated at 14.8% (14 of 94 strings)

Translation: OpenWrt/LuCI/applications/vpn-policy-routing
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsvpn-policy-routing/sk/

Translated using Weblate (Slovak)

Currently translated at 19.2% (10 of 52 strings)

Translation: OpenWrt/LuCI/applications/ttyd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsttyd/sk/

Translated using Weblate (Portuguese)

Currently translated at 99.4% (190 of 191 strings)

Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/pt/

Translated using Weblate (Slovak)

Currently translated at 8.1% (9 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/sk/

Translated using Weblate (German)

Currently translated at 100.0% (110 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/de/

Translated using Weblate (Slovak)

Currently translated at 10.3% (12 of 116 strings)

Translation: OpenWrt/LuCI/applications/radicale
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsradicale/sk/

Translated using Weblate (Slovak)

Currently translated at 4.8% (6 of 125 strings)

Translation: OpenWrt/LuCI/applications/privoxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsprivoxy/sk/

Translated using Weblate (Slovak)

Currently translated at 19.3% (12 of 62 strings)

Translation: OpenWrt/LuCI/applications/ocserv
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsocserv/sk/

Translated using Weblate (Slovak)

Currently translated at 11.7% (20 of 170 strings)

Translation: OpenWrt/LuCI/applications/mwan3
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmwan3/sk/

Translated using Weblate (Slovak)

Currently translated at 12.5% (6 of 48 strings)

Translation: OpenWrt/LuCI/applications/mjpg-streamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmjpg-streamer/sk/

Translated using Weblate (Slovak)

Currently translated at 70.8% (17 of 24 strings)

Translation: OpenWrt/LuCI/applications/lxc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslxc/sk/

Translated using Weblate (Slovak)

Currently translated at 21.3% (42 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/sk/

Translated using Weblate (Slovak)

Currently translated at 24.4% (41 of 168 strings)

Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/sk/

Translated using Weblate (Slovak)

Currently translated at 11.5% (13 of 113 strings)

Translated using Weblate (Slovak)

Currently translated at 6.7% (9 of 133 strings)

Translated using Weblate (Slovak)

Currently translated at 54.9% (56 of 102 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Portuguese)

Currently translated at 91.6% (33 of 36 strings)

Translated using Weblate (German)

Currently translated at 97.2% (35 of 36 strings)

Translated using Weblate (German)

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (German)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Slovak)

Currently translated at 43.2% (16 of 37 strings)

Translated using Weblate (Slovak)

Currently translated at 36.3% (755 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/sk/

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: MaycoH <hudec.marian@hotmail.com>
Co-authored-by: Rose <darkrose@privatemail.com>
Co-authored-by: TakissX <pxatzidakis@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: MaycoH <hudec.marian@hotmail.com>
Signed-off-by: Rose <darkrose@privatemail.com>
Signed-off-by: TakissX <pxatzidakis@gmail.com>
Signed-off-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/de/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/sk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/el/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/sk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/sk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/de/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopkg/fa/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopkg/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsp910nd/sk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsradicale2/sk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssamba4/fa/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssamba4/sk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/sk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/de/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/pt/
Translation: OpenWrt/LuCI/applications/commands
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/nut
Translation: OpenWrt/LuCI/applications/openvpn
Translation: OpenWrt/LuCI/applications/opkg
Translation: OpenWrt/LuCI/applications/p910nd
Translation: OpenWrt/LuCI/applications/radicale2
Translation: OpenWrt/LuCI/applications/samba4
Translation: OpenWrt/LuCI/applications/transmission
Translation: OpenWrt/LuCI/applications/watchcat

2 years agoluci-base: runtime.uc: avoid Lua not installed exeption from trycompile()
Jo-Philipp Wich [Wed, 2 Nov 2022 09:17:48 +0000 (10:17 +0100)]
luci-base: runtime.uc: avoid Lua not installed exeption from trycompile()

Make sure to request loading the Lua bridge as optional when initializing
the Lua VM context from trycompile() in order to not raise a fatal exception
in case the Lua runtime support is not present.

Ref: https://forum.openwrt.org/t/x/141426
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: dispatcher.uc: apply ACLs to menu tree JSON
Jo-Philipp Wich [Wed, 2 Nov 2022 09:09:05 +0000 (10:09 +0100)]
luci-base: dispatcher.uc: apply ACLs to menu tree JSON

Add menu tree annotations for node readonly and dependency satisfied state
in order to ensure that unreachable menu nodes are hidden from view.

Fixes: ded8ccf93e ("luci-base-ucode: add initial ucode based LuCI runtime")
Ref: https://forum.openwrt.org/t/x/141426/10
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: http.uc: fix invoking Lua file upload callbacks
Jo-Philipp Wich [Wed, 2 Nov 2022 08:04:25 +0000 (09:04 +0100)]
luci-base: http.uc: fix invoking Lua file upload callbacks

In case a callback is installed from Lua code, the received callback
argument is not a callable function but a resource object with a call
method. Attempts to call it will leading to a `Type error: left-hand
side is not a function` error.

To solve this issue, invoke the internally set filehandler instead
which wraps the resource if needed.

Fixes: #6067
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-app-https-dns-proxy: add cn.edu.tsinghua.tuna.dns.lua provider 6066/head
Zhang Rui [Wed, 2 Nov 2022 07:24:31 +0000 (15:24 +0800)]
luci-app-https-dns-proxy: add cn.edu.tsinghua.tuna.dns.lua provider

Signed-off-by: Zhang Rui <rui.crater@gmail.com>
2 years agotimezone data: update to 2022f
Hannu Nyman [Mon, 31 Oct 2022 18:00:21 +0000 (20:00 +0200)]
timezone data: update to 2022f

Update timezone data to 2022f.
* http://mm.icann.org/pipermail/tz-announce/2022-October/000075.html

 -   Mexico will no longer observe DST after 2022, except for areas
     near the US border that continue to observe US DST rules.
     On 2022-10-30 at 02:00 the Mexican state of Chihuahua moves
     from -07 (-06 with DST) to year-round -06.
 -   Fiji will not observe DST in 2022/3.
     For now, assume DST is suspended indefinitely.
 -   Simplify four Ontario zones.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoTranslated using Weblate (Danish)
Hosted Weblate [Sat, 29 Oct 2022 20:59:32 +0000 (22:59 +0200)]
Translated using Weblate (Danish)

Currently translated at 100.0% (110 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (2075 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Korean)

Currently translated at 33.2% (689 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ko/

Translated using Weblate (Japanese)

Currently translated at 79.9% (1658 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ja/

Translated using Weblate (German)

Currently translated at 90.0% (172 of 191 strings)

Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/de/

Translated using Weblate (Polish)

Currently translated at 100.0% (110 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/pl/

Translated using Weblate (Turkish)

Currently translated at 100.0% (110 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/tr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (197 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/zh_Hans/

Translated using Weblate (Turkish)

Currently translated at 100.0% (197 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/tr/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (197 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (197 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/pl/

Translated using Weblate (German)

Currently translated at 100.0% (197 of 197 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/de/

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.0% (109 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/zh_Hans/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (110 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/pt_BR/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (192 of 192 strings)

Translated using Weblate (Spanish)

Currently translated at 99.4% (191 of 192 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (33 of 33 strings)

Translated using Weblate (Spanish)

Currently translated at 96.9% (32 of 33 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (2075 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/tr/

Translated using Weblate (German)

Currently translated at 97.0% (2013 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/de/

Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Co-authored-by: drax red <drax@outlook.dk>
Co-authored-by: orangepizza <abnoeh@mail.com>
Co-authored-by: sergio <sergio+it@outerface.net>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tdt-hv <hvoit@tdt.de>
Signed-off-by: Eric <hamburger1024@mailbox.org>
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: Oğuz Ersen <oguz@ersen.moe>
Signed-off-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Signed-off-by: drax red <drax@outlook.dk>
Signed-off-by: orangepizza <abnoeh@mail.com>
Signed-off-by: ssantos <ssantos@web.de>
Signed-off-by: tdt-hv <hvoit@tdt.de>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/ru/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/tr/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/ru/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/tr/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenvpn/zh_Hans/
Translation: OpenWrt/LuCI/applications/commands
Translation: OpenWrt/LuCI/applications/openvpn

2 years agoMerge pull request #5965 from jempatel/luci-app-keepalived
Florian Eckert [Fri, 28 Oct 2022 10:57:14 +0000 (12:57 +0200)]
Merge pull request #5965 from jempatel/luci-app-keepalived

luci-app-keepalived: Add LuCI for keepalived

2 years agoMerge pull request #6047 from systemcrash/luci-mod-network-relay
Florian Eckert [Fri, 28 Oct 2022 09:02:47 +0000 (11:02 +0200)]
Merge pull request #6047 from systemcrash/luci-mod-network-relay

luci-mod-network: 'relay' tab added

2 years agoluci-mod-network: 'relay' tab added 6047/head
Paul Dee [Thu, 20 Oct 2022 00:06:32 +0000 (02:06 +0200)]
luci-mod-network: 'relay' tab added

Adds LuCI GUI for dnsmasq DHCP 'relays'.

The helper functions in dnsmasq/files/dnsmasq.init limit behaviour
whereby it is not possible to omit server_addr, where to omit
it (dnsmasq supported) would result in a broad- or multicast further on.

Tested on 22.03.2

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2 years agoluci-mod-network: gracefully handle empty channel lists
Jo-Philipp Wich [Thu, 27 Oct 2022 14:08:11 +0000 (16:08 +0200)]
luci-mod-network: gracefully handle empty channel lists

Avoid undefined value access when the channel list is empty.

Fixes: #5937, #5951
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-app-nextdns: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:06:38 +0000 (14:06 +0200)]
luci-app-nextdns: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-xfrpc: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:06:23 +0000 (14:06 +0200)]
luci-app-xfrpc: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-https-dns-proxy: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:06:09 +0000 (14:06 +0200)]
luci-app-https-dns-proxy: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-frps: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:05:51 +0000 (14:05 +0200)]
luci-app-frps: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-frpc: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:05:42 +0000 (14:05 +0200)]
luci-app-frpc: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-firewall: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:05:31 +0000 (14:05 +0200)]
luci-app-firewall: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-openvpn: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:05:18 +0000 (14:05 +0200)]
luci-app-openvpn: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-simple-adblock: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:05:06 +0000 (14:05 +0200)]
luci-app-simple-adblock: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-travelmate: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:04:51 +0000 (14:04 +0200)]
luci-app-travelmate: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-transmission: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:04:34 +0000 (14:04 +0200)]
luci-app-transmission: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-base: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:04:13 +0000 (14:04 +0200)]
luci-base: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-ddns: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:03:52 +0000 (14:03 +0200)]
luci-app-ddns: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-commands: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:03:37 +0000 (14:03 +0200)]
luci-app-commands: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-aria2: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:03:25 +0000 (14:03 +0200)]
luci-app-aria2: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-app-adblock: sync i18n
Florian Eckert [Thu, 27 Oct 2022 12:03:05 +0000 (14:03 +0200)]
luci-app-adblock: sync i18n

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoMerge pull request #5430 from jeje42/feature/luci-app-openvpn-add-tls_crypt_v2-option
Florian Eckert [Thu, 27 Oct 2022 11:19:41 +0000 (13:19 +0200)]
Merge pull request #5430 from jeje42/feature/luci-app-openvpn-add-tls_crypt_v2-option

Add tls_crypt_v2 openvpn option to LuCI.

2 years agoMerge pull request #6051 from weblate/weblate-openwrt-luci
Florian Eckert [Thu, 27 Oct 2022 11:17:42 +0000 (13:17 +0200)]
Merge pull request #6051 from weblate/weblate-openwrt-luci

Translations update from Hosted Weblate

2 years agoTranslated using Weblate (Spanish) 6051/head
Hosted Weblate [Wed, 26 Oct 2022 20:02:34 +0000 (22:02 +0200)]
Translated using Weblate (Spanish)

Currently translated at 93.3% (14 of 15 strings)

Translation: OpenWrt/LuCI/applications/example
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsexample/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (62 of 62 strings)

Translation: OpenWrt/LuCI/applications/attendedsysupgrade
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsattendedsysupgrade/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2075 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2075 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (2075 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ru/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2075 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (2075 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pl/

Translated using Weblate (Spanish)

Currently translated at 96.2% (1997 of 2075 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/es/

Translated using Weblate (Turkish)

Currently translated at 100.0% (117 of 117 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/tr/

Translated using Weblate (Turkish)

Currently translated at 100.0% (177 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/tr/

Translated using Weblate (Turkish)

Currently translated at 100.0% (196 of 196 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/tr/

Translated using Weblate (Turkish)

Currently translated at 100.0% (2079 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/tr/

Translated using Weblate (Greek)

Currently translated at 30.3% (631 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/el/

Co-authored-by: Byacrya <byacrya@proton.me>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: TakissX <pxatzidakis@gmail.com>
Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Co-authored-by: semih <semiht@gmail.com>
Co-authored-by: sergio <sergio+it@outerface.net>
Signed-off-by: Byacrya <byacrya@proton.me>
Signed-off-by: Eric <hamburger1024@mailbox.org>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: TakissX <pxatzidakis@gmail.com>
Signed-off-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Signed-off-by: semih <semiht@gmail.com>
Signed-off-by: sergio <sergio+it@outerface.net>
2 years agoluci-base: always link core.so with libcrypt to satisfy glibc builds
Jo-Philipp Wich [Thu, 27 Oct 2022 10:36:33 +0000 (12:36 +0200)]
luci-base: always link core.so with libcrypt to satisfy glibc builds

Fixes the following runtime error on glibc based builds:

    Runtime error: Unable to dlopen file ...: undefined symbol: crypt
    In module(), file /usr/share/ucode/luci/dispatcher.uc, line 1, byte 1:
      called from anonymous function (/www/cgi-bin/luci:7:21)

Ref: https://forum.openwrt.org/t/x/137250/18
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: add ui indicator when fallback theme is used
Jo-Philipp Wich [Thu, 27 Oct 2022 09:13:49 +0000 (11:13 +0200)]
luci-base: add ui indicator when fallback theme is used

Add a ui indicator displaying error details when the configured theme
failed to load and the next available one is being used instead.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-theme-material: fix location of template files
Jo-Philipp Wich [Thu, 27 Oct 2022 08:26:06 +0000 (10:26 +0200)]
luci-theme-material: fix location of template files

Fixes: #6060
Fixes: e496014760 ("luci-theme-material: convert Lua templates to ucode")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: dispatcher.uc: update uci session ID in Lua context
Jo-Philipp Wich [Thu, 27 Oct 2022 08:14:58 +0000 (10:14 +0200)]
luci-base: dispatcher.uc: update uci session ID in Lua context

Make sure that the uci session ID of the `luci.model.uci` module within
the Lua context is updated once we acquire the login session information.

In case legacy themes are used, the probing of the theme header template
might indirectly load the Lua runtime and the Lua side `luci.dispatcher`
module which in turn will load the `luci.model.uci` and set the session
ID there which is not yet initialized at this point in time.

This results in broken uci change handling within legacy Lua applications
when a legacy theme is loaded.

Fixes: #6060
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-mod-network: remove uppercase for interface name in modal view
Florian Eckert [Thu, 27 Oct 2022 08:42:05 +0000 (10:42 +0200)]
luci-mod-network: remove uppercase for interface name in modal view

Unify the network name display as shown in the overview by removing the
uppercase conversion.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoluci-ssl-nginx: drop libiwinfo-lua dependency
Jo-Philipp Wich [Wed, 26 Oct 2022 21:41:33 +0000 (23:41 +0200)]
luci-ssl-nginx: drop libiwinfo-lua dependency

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-nginx: drop libiwinfo-lua dependency
Jo-Philipp Wich [Wed, 26 Oct 2022 21:41:21 +0000 (23:41 +0200)]
luci-nginx: drop libiwinfo-lua dependency

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-app-commands: drop luci-compat dependency
Jo-Philipp Wich [Wed, 26 Oct 2022 21:16:51 +0000 (23:16 +0200)]
luci-app-commands: drop luci-compat dependency

This custom commands application does not utilize Lua code anymore.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-theme-openwrt-2020: convert Lua templates to ucode
Jo-Philipp Wich [Wed, 26 Oct 2022 20:43:56 +0000 (22:43 +0200)]
luci-theme-openwrt-2020: convert Lua templates to ucode

Convert the theme's Lua templates to ucode to avoid the implicit dependency
on the luci-lua-runtime package.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-lua-runtime: render cbi header/footer templates via ucode runtime
Jo-Philipp Wich [Wed, 26 Oct 2022 19:59:08 +0000 (21:59 +0200)]
luci-lua-runtime: render cbi header/footer templates via ucode runtime

Trigger rendering of CBI header and footer templates via the ucode runtime
`include()` in order to ensure that scope data is properly inherited from
Lua templates (`cbi/header`) including ucode templates (`header`).

This fixes automatic triggering of the config apply flow on legacy Lua CBI
forms.

Ref: https://github.com/openwrt/luci/pull/6056#issuecomment-1292396588
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoMerge pull request #6055 from TDT-AG/pr/20221026-luci-mod-network
Jo-Philipp Wich [Wed, 26 Oct 2022 13:39:53 +0000 (15:39 +0200)]
Merge pull request #6055 from TDT-AG/pr/20221026-luci-mod-network

luci-mod-network: remove uppercase for interface name on overview page

2 years agoluci-lua-runtime: fix loading header/footer templates for SimpleForms
Jo-Philipp Wich [Wed, 26 Oct 2022 13:30:11 +0000 (15:30 +0200)]
luci-lua-runtime: fix loading header/footer templates for SimpleForms

Fixes: #6054
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-lua-runtime: ensure proper forwarding of route arguments to cbi action
Jo-Philipp Wich [Wed, 26 Oct 2022 07:49:02 +0000 (09:49 +0200)]
luci-lua-runtime: ensure proper forwarding of route arguments to cbi action

Ensure that the optional cbi() `config` argument is set to an empty table
if unspecified to ensure that the static call argument array is exactly
two elements long, otherwise call arguments are shifted and the invoked
method might not receive the expected parameter.

This fixes, among others, the dispatching of `arcombine()` targets.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-mod-network: remove uppercase for interface name on overview page 6055/head
Florian Eckert [Wed, 26 Oct 2022 10:04:52 +0000 (12:04 +0200)]
luci-mod-network: remove uppercase for interface name on overview page

In the overview page, the name of the interface is converted to
uppercase. However, this is not the name in the configuration. From my
point of view, this makes no sense. The name displayed should correspond
exactly to the name in the configuration.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years ago.gitignore: adjust paths for autogenerated plural_formula sources
Jo-Philipp Wich [Tue, 25 Oct 2022 11:26:56 +0000 (13:26 +0200)]
.gitignore: adjust paths for autogenerated plural_formula sources

Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-1290370037
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: dispatcher.uc: ensure usage of dashes in language tags
Jo-Philipp Wich [Tue, 25 Oct 2022 11:01:31 +0000 (13:01 +0200)]
luci-base: dispatcher.uc: ensure usage of dashes in language tags

The LuCI uci configuration requires language tags with underscores due
limitations of uci option names but the language catalogs themselves
are designated with dash separated language tags.

Make sure to substitute underscores with dashes when determining the
desired request language in order to fix loading of languages such as
`pt-br` or `zh-cn`.

Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-1290352951
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: dispatcher.uc: reintroduce support for 'absent' fs depends
Jo-Philipp Wich [Tue, 25 Oct 2022 10:50:37 +0000 (12:50 +0200)]
luci-base: dispatcher.uc: reintroduce support for 'absent' fs depends

The ability to require certain paths to be absent for a menu entry to show
up was lost during the ucode conversion.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci.mk: fix compatibility with GNU Make 4.2
Jo-Philipp Wich [Tue, 25 Oct 2022 09:30:13 +0000 (11:30 +0200)]
luci.mk: fix compatibility with GNU Make 4.2

GNU Make version 4.2 chokes on `#` characters embedded in variable
substitutions, leading to the following error:

    ../../luci.mk:114: *** unterminated call to function 'if': missing ')'.  Stop.

Avoid this problem by replacing variable substitutions with Git branch
format arguments.

Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-1289935106
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoMerge pull request #5976 from jow-/ucode
Jo-Philipp Wich [Mon, 24 Oct 2022 23:04:07 +0000 (01:04 +0200)]
Merge pull request #5976 from jow-/ucode

[RFT] Rewrite LuCI runtime in ucode

2 years agoluci-app-commands: rewrite to client side rendering 5976/head
Jo-Philipp Wich [Mon, 24 Oct 2022 22:55:14 +0000 (00:55 +0200)]
luci-app-commands: rewrite to client side rendering

Rewrite the luci-app-command configuration to client side cbi forms and
port the server side templates and controller logic to ucode.

Also utilize a query string parameter to pass custom arguments.

Fixes: #5559
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agotreewide: add explicit Lua runtime dependencies where needed
Jo-Philipp Wich [Wed, 19 Oct 2022 18:39:57 +0000 (20:39 +0200)]
treewide: add explicit Lua runtime dependencies where needed

Some packages require Lua libraries but do not ship with a luasrc directory,
add explicit dependencies in these cases.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-lua-runtime: drop Lua server gateway modules
Jo-Philipp Wich [Fri, 14 Oct 2022 23:33:29 +0000 (01:33 +0200)]
luci-lua-runtime: drop Lua server gateway modules

Remove the uhttpd and CGI gateway modules as they're not compatible with
the Lua compat stub runtime anymore.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: sys.uc: reliably skip TIME_WAIT connections in conntrack list
Jo-Philipp Wich [Tue, 27 Sep 2022 20:33:04 +0000 (22:33 +0200)]
luci-base: sys.uc: reliably skip TIME_WAIT connections in conntrack list

The TIME_WAIT indicator might not appear at the beginning of the tuple
string in some cases, so match it anywhere.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
[add commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-theme-material: convert Lua templates to ucode
Jo-Philipp Wich [Mon, 26 Sep 2022 10:26:41 +0000 (12:26 +0200)]
luci-theme-material: convert Lua templates to ucode

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: sys.uc: fix parsing conntrack list
Jo-Philipp Wich [Mon, 26 Sep 2022 09:15:55 +0000 (11:15 +0200)]
luci-base: sys.uc: fix parsing conntrack list

Ensure that the extracted tuple string starts with a space to fully match
all contained key-value pairs.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: sys.uc: increase init script START/STOP search space
Jo-Philipp Wich [Mon, 26 Sep 2022 08:50:40 +0000 (10:50 +0200)]
luci-base: sys.uc: increase init script START/STOP search space

Some init scripts, such as the sysfsutils one, declare their START or
STOP variables very late in the file. Duplicate the search buffer to
2048 byte in order to catch these cases.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: don't fail getInitList if no indexes can be determined
Jo-Philipp Wich [Mon, 26 Sep 2022 08:46:00 +0000 (10:46 +0200)]
luci-base: don't fail getInitList if no indexes can be determined

Gracefully handle missing indexes in the luci rpcd plugin getInitList
procedure.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-proto-wireguard: rewrite rpcd handler in ucode
Jo-Philipp Wich [Fri, 23 Sep 2022 19:04:44 +0000 (21:04 +0200)]
luci-proto-wireguard: rewrite rpcd handler in ucode

Rewrite the wireguard rpcd plugin in ucode to prevent an implicit dependency
on the LuCI Lua runtime.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-app-statistics: rewrite stat-genconfig in ucode
Jo-Philipp Wich [Fri, 23 Sep 2022 18:25:01 +0000 (20:25 +0200)]
luci-app-statistics: rewrite stat-genconfig in ucode

Rewrite the collectd config generator script in ucode to remove the implicit
dependency on the Lua runtime.

Also move the stat-genconfig script into /usr/libexec as it isn't really a
user facing executable.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-app-upnp: convert rpcd backend script to ucode
Jo-Philipp Wich [Wed, 21 Sep 2022 21:38:46 +0000 (23:38 +0200)]
luci-app-upnp: convert rpcd backend script to ucode

Utilize the rpcd ucode plugin to reimplement the upnp backend ubus actions
in ucode, simplifying the implementation and roughly halving the processing
time for the `get_status` call.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-lib-base: forward luci.http.context.request.message to ucode
Jo-Philipp Wich [Mon, 19 Sep 2022 12:20:27 +0000 (14:20 +0200)]
luci-lib-base: forward luci.http.context.request.message to ucode

Some existing LuCI application code accesses the
`luci.http.context.request.message.params` HTTP parameter table directly.

Forward the `luci.http.context.request.message` object to the ucode
`luci.http.message` instance in order to properly support this.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: dispatcher.uc: support `cbi` and `form` action types
Jo-Philipp Wich [Mon, 19 Sep 2022 12:19:24 +0000 (14:19 +0200)]
luci-base: dispatcher.uc: support `cbi` and `form` action types

Some existing LuCI apps ship menu.d JSON files with `cbi` and `form` typed
dispatch targets, support those as well.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-lua-runtime: preload luci.sys
Jo-Philipp Wich [Mon, 19 Sep 2022 12:18:27 +0000 (14:18 +0200)]
luci-lua-runtime: preload luci.sys

Some existing model code expects the luci.sys namespace to be implicitly
available, even without requiring it beforehand.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base: rebase translations
Jo-Philipp Wich [Fri, 16 Sep 2022 19:02:58 +0000 (21:02 +0200)]
luci-base: rebase translations

Re-scan base translations after ucode conversion and update po files.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci: drop dependency on libiwinfo-lua
Jo-Philipp Wich [Wed, 14 Sep 2022 11:36:18 +0000 (13:36 +0200)]
luci: drop dependency on libiwinfo-lua

None of the components pulled in by the standard luci collection require
server side Lua processing anymore, so we're free to drop the explicit
dependency on the libiwinfo Lua binding.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-theme-bootstrap: translate Lua templates to ucode equivalents
Jo-Philipp Wich [Fri, 9 Sep 2022 18:08:57 +0000 (20:08 +0200)]
luci-theme-bootstrap: translate Lua templates to ucode equivalents

Add ucode template equivalents for the Lua templates used by the theme.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-mod-system: drop unused Lua code
Jo-Philipp Wich [Wed, 14 Sep 2022 12:26:36 +0000 (14:26 +0200)]
luci-mod-system: drop unused Lua code

Drop an unused, leftover Lua cbi model from the system module.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-mod-status: transform status page Lua template into ucode template
Jo-Philipp Wich [Wed, 14 Sep 2022 11:30:45 +0000 (13:30 +0200)]
luci-mod-status: transform status page Lua template into ucode template

Transform the only Lua template of the status module into an equivalent
ucode template and make it conditionally include the legacy Lua logic
factored out in a previous commit.

Only if the ucode Lua bridge is installed and loadable, the Lua template
loading the legacy Lua status partials is included.

After this commit, luci-mod-status is free of Lua dependencies.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-lua-runtime: add compatibility template for legacy Lua status includes
Jo-Philipp Wich [Wed, 14 Sep 2022 11:29:19 +0000 (13:29 +0200)]
luci-lua-runtime: add compatibility template for legacy Lua status includes

Add a compatibility template containing legacy Lua logic extracted from
the luci-mod-status main status page in order to free the status module
from any explicit or implicit Lua dependencies.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-mod-status: remove uneeded libiwinfo-lua dependency
Jo-Philipp Wich [Wed, 14 Sep 2022 11:24:16 +0000 (13:24 +0200)]
luci-mod-status: remove uneeded libiwinfo-lua dependency

Since the LuCI status module was rewritten into client side views,
there is no server side Lua processing anymore.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-mod-network: remove uneeded libiwinfo-lua dependency
Jo-Philipp Wich [Wed, 14 Sep 2022 11:19:16 +0000 (13:19 +0200)]
luci-mod-network: remove uneeded libiwinfo-lua dependency

Since the LuCI network admin module was rewritten into client side views,
there is no server side Lua processing anymore. The iwinfo routines are
utilized through the corresponding rpcd plugin.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agobuild: i18n-scan.pl: add support for ucode sources and templates
Jo-Philipp Wich [Wed, 14 Sep 2022 09:57:29 +0000 (11:57 +0200)]
build: i18n-scan.pl: add support for ucode sources and templates

Recognize ucode source files and ucode templates and add the necessary logic
to preprocess ucode templates into valid JavaScript sources.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci.mk: automatically depend on luci-lua-runtime
Jo-Philipp Wich [Wed, 14 Sep 2022 12:17:03 +0000 (14:17 +0200)]
luci.mk: automatically depend on luci-lua-runtime

Make packages having a non-empty luasrc/ directory automatically depend
on the LuCI Lua runtime package.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agotreewide: separate Lua runtime resources
Jo-Philipp Wich [Tue, 13 Sep 2022 21:50:12 +0000 (23:50 +0200)]
treewide: separate Lua runtime resources

Move classes required for Lua runtime support into a new `luci-lua-runtime`
package. Also replace the `luci.http` and `luci.util` classes in
`luci-lib-base` with stubbed versions interacting with the ucode based
runtime environment.

Finally merge `luci-base-ucode` into the remainders of `luci-base`.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-base-ucode: add initial ucode based LuCI runtime
Jo-Philipp Wich [Mon, 29 Aug 2022 15:09:22 +0000 (17:09 +0200)]
luci-base-ucode: add initial ucode based LuCI runtime

This commits introduces an initial ucode based LuCI runtime. It supports
JSON menu files as used by Lua based LuCI and the template, call, view and
alias dispatch targets.

It is able to render a basic LuCI installation without errors. An embedded
Lua VM is lazily loaded when Lua based resources are encountered, such as
`*.htm` templates or server side Lua call targets.

When a template is requested, the ucode runtime first tries to render an
`/usr/share/ucode/luci/template/${path}.uc` ucode template and falls back
to rendering the corresponding `/usr/lib/lua/luci/view/${path}.htm` Lua
template in case no suitable ucode replacement is found. This allows for
gradual migration of existing Lua based tmeplates to ucode.

Furthermore, a set of stripped down LuCI libraries is shipped in the
`/usr/lib/lua/luci/ucodebridge/` directory. Those libraries provide
compatibility shims for the current Lua API towards Lua templates and Lua
based server side actions while utilizing the ucode request runtime state
internally.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agobuild: add zoneinfo2ucode.pl
Jo-Philipp Wich [Sat, 10 Sep 2022 11:59:59 +0000 (13:59 +0200)]
build: add zoneinfo2ucode.pl

Add a zoneinfo2ucode.pl script which is the ucode equivalent to
zoneinfo2lua.pl. It will generate a ucode module exporting a dictionary
of known timezone names and their corresponding TZ strings.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci.mk: add basic support for ucode sources
Jo-Philipp Wich [Fri, 9 Sep 2022 21:35:30 +0000 (23:35 +0200)]
luci.mk: add basic support for ucode sources

Add special handling for ucode/ package subdirs, analogeous to luasrc/.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci.mk: adjust path of purged index cache files
Jo-Philipp Wich [Fri, 9 Sep 2022 21:34:32 +0000 (23:34 +0200)]
luci.mk: adjust path of purged index cache files

The index cache files have been split into separate, dynamically named
Lua and JSON files a while ago, so adjust the remove command in the
postinstall script accordingly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci.mk: typo and indentation fixes
Jo-Philipp Wich [Fri, 9 Sep 2022 21:33:15 +0000 (23:33 +0200)]
luci.mk: typo and indentation fixes

 - Fix misspelled comment
 - Fix wrong variable in Lua SrcDiet condition
 - Fix wrong indentation

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci.mk: rework logic to determine current branch
Jo-Philipp Wich [Sat, 10 Sep 2022 12:54:25 +0000 (14:54 +0200)]
luci.mk: rework logic to determine current branch

In case `git branch --remote` yields no result, fall back to `git branch`
without `--remote` since it is possible that the local branch has not
been pushed yet.

Also simplify extraction of the branch name by not passing `--verbose`
and utilizing variable substitutions instead of sed expressions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agocontrib: introduce ucode-mod-html
Jo-Philipp Wich [Fri, 2 Sep 2022 15:04:42 +0000 (17:04 +0200)]
contrib: introduce ucode-mod-html

The ucode-mod-html library provides assorted utility functions for dealing
with HTML markup data.

Example usage:

    #!/usr/bin/ucode

    'use strict';

    import { tokenize, striptags, entitydecode, entityencode,
             OPEN, ATTR, TEXT, CLOSE, RAW, COMMENT, CDATA, PROCINST, EOF } from 'html';

    tokenize('<div class="example">Hello world!</div>...',
        function(type, text, value) {
            switch (type) {
            case OPEN:     print(`Opening tag: ${text}\n`); break;
            case ATTR:     print(`Attribute:   ${text}${value ? `=${value}`}\n`; break;
            case TEXT:     print(`Text data:   ${text}\n`); break;
            case CLOSE:    print(`Closing tag: ${text}\n`); break;
            case RAW:      print(`Script/CSS:  ${text}\n`); break;
            case COMMENT:  print(`Comment:     ${text}\n`); break;
            case CDATA:    print(`CDATA text:  ${text}\n`); break;
            case PROCINST: print(`<!...> tag:  ${text}\n`); break;
            case EOF:      print(`End of input\n`);         break;
            }
        }
    );

    print(striptags('<p>This is some <b>text</b> with <br> markup</p>\n'));
    print(entitydecode('&#60; &#x20; &amp; &auml;'));
    print(entityencode('1 < 2 && "foo"'));

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoucode-mod-lua: improve error reporting
Jo-Philipp Wich [Thu, 15 Sep 2022 14:25:27 +0000 (16:25 +0200)]
ucode-mod-lua: improve error reporting

Avoid redundancies in generated exception messages and include Lua
tracebacks when catching exceptions in protected calls.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoMerge pull request #6052 from stangri/master-luci-app-simple-adblock
Stan Grishin [Mon, 24 Oct 2022 17:41:23 +0000 (10:41 -0700)]
Merge pull request #6052 from stangri/master-luci-app-simple-adblock

luci-app-simple-adblock: bugfix: identify nft set support

2 years agoluci-app-simple-adblock: bugfix: identify nft set support 6052/head
Stan Grishin [Mon, 24 Oct 2022 17:18:43 +0000 (17:18 +0000)]
luci-app-simple-adblock: bugfix: identify nft set support

Signed-off-by: Stan Grishin <stangri@melmac.ca>
2 years agotimezone data: update to 2022e
Hannu Nyman [Mon, 24 Oct 2022 16:00:38 +0000 (19:00 +0300)]
timezone data: update to 2022e

Update timezone data to 2022e.
* http://mm.icann.org/pipermail/tz-announce/2022-September/000073.html
* http://mm.icann.org/pipermail/tz-announce/2022-October/000074.html

 - Palestine transitions are now Saturdays at 02:00.
 - Simplify three Ukraine zones into one.
 - Jordan and Syria switch from +02/+03 with DST to year-round +03.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoTranslated using Weblate (Danish)
Hosted Weblate [Sun, 23 Oct 2022 17:27:15 +0000 (19:27 +0200)]
Translated using Weblate (Danish)

Currently translated at 100.0% (2079 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/da/

Translated using Weblate (Danish)

Currently translated at 17.9% (35 of 195 strings)

Translated using Weblate (German)

Currently translated at 42.7% (47 of 110 strings)

Translation: OpenWrt/LuCI/applications/smartdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssmartdns/de/

Translated using Weblate (German)

Currently translated at 96.2% (203 of 211 strings)

Translation: OpenWrt/LuCI/applications/dockerman
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/de/

Translated using Weblate (German)

Currently translated at 100.0% (50 of 50 strings)

Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/de/

Translated using Weblate (French)

Currently translated at 88.7% (79 of 89 strings)

Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/fr/

Translated using Weblate (German)

Currently translated at 51.6% (16 of 31 strings)

Translation: OpenWrt/LuCI/applications/yggdrasil
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsyggdrasil/de/

Translated using Weblate (German)

Currently translated at 40.1% (47 of 117 strings)

Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/de/

Translated using Weblate (German)

Currently translated at 86.3% (165 of 191 strings)

Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/de/

Translated using Weblate (German)

Currently translated at 100.0% (110 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/de/

Translated using Weblate (French)

Currently translated at 98.8% (175 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/fr/

Translated using Weblate (Greek)

Currently translated at 14.1% (25 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/el/

Translated using Weblate (French)

Currently translated at 80.5% (29 of 36 strings)

Translated using Weblate (German)

Currently translated at 83.3% (30 of 36 strings)

Translated using Weblate (German)

Currently translated at 100.0% (15 of 15 strings)

Translation: OpenWrt/LuCI/applications/example
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsexample/de/

Translated using Weblate (German)

Currently translated at 95.7% (202 of 211 strings)

Translation: OpenWrt/LuCI/applications/dockerman
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/de/

Translated using Weblate (Arabic)

Currently translated at 4.4% (4 of 89 strings)

Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/ar/

Translated using Weblate (Arabic)

Currently translated at 8.9% (15 of 168 strings)

Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/ar/

Translated using Weblate (Arabic)

Currently translated at 7.6% (5 of 65 strings)

Translation: OpenWrt/LuCI/applications/dnscrypt-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdnscrypt-proxy/ar/

Translated using Weblate (Arabic)

Currently translated at 24.4% (12 of 49 strings)

Translation: OpenWrt/LuCI/applications/bmx7
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbmx7/ar/

Translated using Weblate (Arabic)

Currently translated at 3.0% (2 of 66 strings)

Translation: OpenWrt/LuCI/applications/frps
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrps/ar/

Translated using Weblate (Arabic)

Currently translated at 20.2% (19 of 94 strings)

Translation: OpenWrt/LuCI/applications/vpn-policy-routing
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsvpn-policy-routing/ar/

Translated using Weblate (Arabic)

Currently translated at 25.0% (13 of 52 strings)

Translation: OpenWrt/LuCI/applications/ttyd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsttyd/ar/

Translated using Weblate (Arabic)

Currently translated at 22.5% (7 of 31 strings)

Translation: OpenWrt/LuCI/applications/dynapoint
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdynapoint/ar/

Translated using Weblate (Arabic)

Currently translated at 73.3% (1525 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ar/

Translated using Weblate (German)

Currently translated at 100.0% (89 of 89 strings)

Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/de/

Translated using Weblate (German)

Currently translated at 100.0% (110 of 110 strings)

Translation: OpenWrt/LuCI/applications/simple-adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssimple-adblock/de/

Translated using Weblate (Portuguese)

Currently translated at 100.0% (177 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/pt/

Translated using Weblate (German)

Currently translated at 100.0% (177 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (196 of 196 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/pt_BR/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (2079 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pt_BR/

Translated using Weblate (Polish)

Currently translated at 100.0% (2079 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pl/

Translated using Weblate (Spanish)

Currently translated at 100.0% (177 of 177 strings)

Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/es/

Translated using Weblate (Polish)

Currently translated at 100.0% (195 of 195 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2079 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/

Translated using Weblate (Russian)

Currently translated at 100.0% (2079 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ru/

Translated using Weblate (Polish)

Currently translated at 99.9% (2077 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pl/

Translated using Weblate (Spanish)

Currently translated at 96.2% (2001 of 2079 strings)

Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/es/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (196 of 196 strings)

Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/zh_Hans/

Co-authored-by: Abdullah AlShaikh <abdullah@alshai5.com>
Co-authored-by: Amaury <y0da@live.fr>
Co-authored-by: Anton Kikin <a.a.kikin@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Glax <gfreak70@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: TakissX <pxatzidakis@gmail.com>
Co-authored-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Co-authored-by: Zeik0s <zeik0s@zeik0s.at>
Co-authored-by: drax red <drax@outlook.dk>
Co-authored-by: ssantos <ssantos@web.de>
Signed-off-by: Abdullah AlShaikh <abdullah@alshai5.com>
Signed-off-by: Amaury <y0da@live.fr>
Signed-off-by: Anton Kikin <a.a.kikin@gmail.com>
Signed-off-by: Eric <hamburger1024@mailbox.org>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Glax <gfreak70@gmail.com>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: TakissX <pxatzidakis@gmail.com>
Signed-off-by: Wellington Terumi Uemura <wellingtonuemura@gmail.com>
Signed-off-by: Zeik0s <zeik0s@zeik0s.at>
Signed-off-by: drax red <drax@outlook.dk>
Signed-off-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/de/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/fr/
Translation: OpenWrt/LuCI/applications/olsr
Translation: OpenWrt/LuCI/applications/watchcat

2 years agoluci-app-keepalived: Add LuCI for keepalived 5965/head
Jaymin Patel [Thu, 8 Sep 2022 04:35:13 +0000 (10:05 +0530)]
luci-app-keepalived: Add LuCI for keepalived

LuCI Support for Keepalived

Signed-off-by: Jaymin Patel <jem.patel@gmail.com>
2 years agoluci-mod-status: fix determining DSL modem type
Jo-Philipp Wich [Sat, 22 Oct 2022 13:46:47 +0000 (15:46 +0200)]
luci-mod-status: fix determining DSL modem type

The `network.getDSLModemType()` function returns a promise, so handle it
accordingly.

Fixes: 45ab2cd6be ("luci-mod-status: use network.getDSLModemType()")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoMerge pull request #6048 from dhewg/dsl
Jo-Philipp Wich [Fri, 21 Oct 2022 07:25:14 +0000 (09:25 +0200)]
Merge pull request #6048 from dhewg/dsl

remove 'dsl' feature flag

2 years agoluci-base: remove 'dsl' feature flag 6048/head
Andre Heider [Tue, 20 Sep 2022 06:15:56 +0000 (08:15 +0200)]
luci-base: remove 'dsl' feature flag

This is now unused.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2 years agoluci-mod-status: use network.getDSLModemType()
Andre Heider [Tue, 20 Sep 2022 06:11:44 +0000 (08:11 +0200)]
luci-mod-status: use network.getDSLModemType()

This matches what luci-mod-network does for the DSL modem configuration.

Since this is based on a common uci config, it may also prevent issues as
fixed with 111c551c "luci-base: fix DSL feature detection" in the future.

Signed-off-by: Andre Heider <a.heider@gmail.com>