Paul Donald [Tue, 28 Oct 2025 20:24:45 +0000 (21:24 +0100)]
luci-app-mosquitto: add bind_address property using IPSelect widget
follow-up fix for
0dabba798165701f1ad757d763f9f916a918283f
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Tue, 28 Oct 2025 19:59:45 +0000 (20:59 +0100)]
luci-app-mosquitto: add bind_address property using IPSelect widget
Closes #8046
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Sun, 26 Oct 2025 18:02:51 +0000 (19:02 +0100)]
luci-mod-network: DNS; ES6 treatment
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Sun, 26 Oct 2025 17:17:01 +0000 (18:17 +0100)]
luci-mod-network: DHCP; refactor generateDnsmasqInstanceEntry
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Sun, 26 Oct 2025 17:17:23 +0000 (18:17 +0100)]
luci-mod-network: DHCP; ES6 treatment
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Sun, 26 Oct 2025 17:05:06 +0000 (18:05 +0100)]
luci-mod-network: DHCP; make MAC validation work
Previously it was bound to IP properties when we want to verify whether the MAC
is in use elsewhere.
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Tue, 28 Oct 2025 19:57:28 +0000 (20:57 +0100)]
luci-mod-network: DHCP; convert Relay from to widgets.IPSelect
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Sat, 25 Oct 2025 18:38:26 +0000 (20:38 +0200)]
luci-mod-network: add listen_address for dnsmasq in DHCP and DNS tabs
This limits dnsmasq to listen on specific IPs, when an interface might have
multiple IPs.
Closes #6959
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Sat, 25 Oct 2025 23:47:57 +0000 (01:47 +0200)]
luci-mod-network: Add IPSelect widget which eases selection of interface IPs
This widget is modeled after CBINetworkSelect, which is similar in nature.
It presents a dropdown box of all device IPs with an accompanying badge of the
device.
Signed-off-by: Paul Donald <[email protected]>
Eric Fahlgren [Tue, 28 Oct 2025 16:07:03 +0000 (09:07 -0700)]
luci-app-attendedsysupgrade: improve ux during install and reboot
During the sysupgrade image installation and reboot process, it
is possible for LuCI to reconnect before the device is rebooted.
This leads to confusion and possible danger of changes being made
that will damage the device.
We set expectations as to what will happen during the installation
process with better wording in the spin dialog, and also "lock up"
the interface for 10s, allowing sysupgrade to do its job and avoid
reconnecting too early
Link: https://forum.openwrt.org/t/luci-attended-sysupgrade-support-thread/230552/268
Signed-off-by: Eric Fahlgren <[email protected]>
Paul Donald [Tue, 28 Oct 2025 19:36:09 +0000 (20:36 +0100)]
luci-proto-wireguard: Display times which account for the timezone also
Signed-off-by: Paul Donald <[email protected]>
Tianling Shen [Tue, 28 Oct 2025 08:50:57 +0000 (16:50 +0800)]
luci-mod-network: move max_{preferred,valid}_lifetime to IPv6-RA tab
These options are RA configuration so they should be put under the
IPv6-RA tab instead of the "generic" IPv6 tab.
Also make them depend on RA server/hybrid mode as these values are
pointless without RA server enabled.
Signed-off-by: Tianling Shen <[email protected]>
Paul Donald [Mon, 27 Oct 2025 17:18:58 +0000 (18:18 +0100)]
luci-mod-network: Allow the 'dns' entry under the DHCP tab to take IPv4+6
This option is used by odhcpd. It can take IPv4/6 entries, although IPv4 DNS
servers don't always make sense in an IPv6 environment, they might in a dual
stack environment. Entering an IPv4 here results in its distribution via IPv6.
This option becomes more useful for both families when odhcpd handles IPv4+6.
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Tue, 28 Oct 2025 16:36:53 +0000 (17:36 +0100)]
luci-proto-wireguard: Hide the QR code parent dialogue button row via styling
Previously, the render code attempted to add the class "hidden" to the button
row, the button row which can have a persistent visibility style applied via CSS
so the "hidden" class attribute was overridden. Set the style.display of the row
instead which now hides the button row.
Signed-off-by: Paul Donald <[email protected]>
Martin Schiller [Tue, 7 Oct 2025 06:05:50 +0000 (08:05 +0200)]
protocols: l2tp: add option hostname
This adds the possibility to set our own L2TP hostname in the advanced
tab. It's needed if the peer only allows certain hostnames to connect.
Signed-off-by: Martin Schiller <[email protected]>
Paul Donald [Mon, 27 Oct 2025 15:50:58 +0000 (16:50 +0100)]
luci-mod-status: DHCP; properly handle lease creation with DUID & IAID
Closes #8041
Signed-off-by: Paul Donald <[email protected]>
Dirk Brenken [Sun, 26 Oct 2025 19:38:01 +0000 (20:38 +0100)]
luci-app-banip: use separate log viewer template
Signed-off-by: Dirk Brenken <[email protected]>
Dirk Brenken [Sun, 26 Oct 2025 18:43:48 +0000 (19:43 +0100)]
luci-app-adblock: use separate log viewer template
Signed-off-by: Dirk Brenken <[email protected]>
9Lukas5 [Wed, 8 Oct 2025 10:54:12 +0000 (12:54 +0200)]
collections/luci-nginx: reorganizes dependencies into sorted single lines
Signed-off-by: 9Lukas5 <[email protected]>
Hannu Nyman [Sun, 26 Oct 2025 13:31:59 +0000 (15:31 +0200)]
build: Fix variable usage in i18n-update.pl
Use 'file' instead of 'cmd' to show the failed file name more clearly.
Fixes: 6e9a7e1 "build: set i18n-update.pl to break at .po error"
Signed-off-by: Hannu Nyman <[email protected]>
Hosted Weblate [Sun, 26 Oct 2025 12:39:03 +0000 (13:39 +0100)]
Translated using Weblate (Irish)
Currently translated at 100.0% (88 of 88 strings)
Translation: OpenWrt/LuCI/applications/attendedsysupgrade
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsattendedsysupgrade/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (2713 of 2713 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ga/
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 75.0% (21 of 28 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (88 of 88 strings)
Translation: OpenWrt/LuCI/applications/attendedsysupgrade
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsattendedsysupgrade/pl/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (88 of 88 strings)
Translation: OpenWrt/LuCI/applications/attendedsysupgrade
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsattendedsysupgrade/zh_Hans/
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (2713 of 2713 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hant/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2713 of 2713 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2713 of 2713 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 96.5% (2619 of 2713 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ru/
Translated using Weblate (Polish)
Currently translated at 100.0% (2713 of 2713 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pl/
Co-authored-by: Aindriú Mac Giolla Eoin <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: Matthaiks <[email protected]>
Co-authored-by: SnIPeRSnIPeR <[email protected]>
Co-authored-by: ZW <[email protected]>
Co-authored-by: nKsyn <[email protected]>
Co-authored-by: try496 <[email protected]>
Signed-off-by: Aindriú Mac Giolla Eoin <[email protected]>
Signed-off-by: Matthaiks <[email protected]>
Signed-off-by: SnIPeRSnIPeR <[email protected]>
Signed-off-by: ZW <[email protected]>
Signed-off-by: nKsyn <[email protected]>
Signed-off-by: try496 <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/zh_Hant/
Translation: OpenWrt/LuCI/applications/natmap
Hannu Nyman [Sun, 26 Oct 2025 07:36:15 +0000 (09:36 +0200)]
luci-base: Sync translations
Sync translations.
Signed-off-by: Hannu Nyman <[email protected]>
Hannu Nyman [Sun, 26 Oct 2025 07:36:15 +0000 (09:36 +0200)]
luci-app-attendedsysupgrade: Sync translations
Sync translations.
Signed-off-by: Hannu Nyman <[email protected]>
Hannu Nyman [Sun, 26 Oct 2025 07:36:15 +0000 (09:36 +0200)]
luci-base:remove duplicates from zh_Hant translation
Remove duplicates.
Signed-off-by: Hannu Nyman <[email protected]>
Hannu Nyman [Sun, 26 Oct 2025 07:36:05 +0000 (09:36 +0200)]
luci-app-keepalived: Sync German translation
Sync German translation.
Signed-off-by: Hannu Nyman <[email protected]>
Hannu Nyman [Sun, 26 Oct 2025 07:36:05 +0000 (09:36 +0200)]
luci-app-keepalived: Fix German translation - remove fancy quotes
Remove unaccepted fancy quotes that causes errors for .po tools like
msmerge etc.
Signed-off-by: Hannu Nyman <[email protected]>
Hannu Nyman [Sun, 26 Oct 2025 07:36:05 +0000 (09:36 +0200)]
build: set i18n-update.pl to break at .po error
Add logic into i18n-update.pl to break on noticing a fatal error
in the .po file. That is needed especially for syncing with
i18n-sync script, where possibly all modules and applications are synced
and errors easily disappear from screen.
Example:
Updating ./applications/luci-app-keepalived/po/de/keepalived.po./applications/luci-app-keepalived/po/de/keepalived.po:928:40: invalid control sequence
./applications/luci-app-keepalived/po/de/keepalived.po:928:51: invalid control sequence
msgmerge: found 2 fatal errors
./build/i18n-update.pl: [] failed: 256
and
Updating modules/luci-base/po/zh_Hant/base.po modules/luci-base/po/zh_Hant/base.po:1169: duplicate message definition...
modules/luci-base/po/zh_Hant/base.po:1129: ...this is the location of the first definition
modules/luci-base/po/zh_Hant/base.po:1173: duplicate message definition...
modules/luci-base/po/zh_Hant/base.po:1133: ...this is the location of the first definition
msgmerge: found 2 fatal errors
./build/i18n-update.pl: [] failed: 256
Signed-off-by: Hannu Nyman <[email protected]>
Hosted Weblate [Sun, 26 Oct 2025 03:11:04 +0000 (04:11 +0100)]
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (2571 of 2571 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hant/
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.0% (2621 of 2701 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% (2701 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pl/
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.8% (2617 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pt_BR/
Translated using Weblate (Lithuanian)
Currently translated at 96.4% (165 of 171 strings)
Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/lt/
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (403 of 403 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2701 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/
Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.8% (2617 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pt_BR/
Translated using Weblate (Irish)
Currently translated at 100.0% (33 of 33 strings)
Translation: OpenWrt/LuCI/applications/openlist
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenlist/ga/
Translated using Weblate (Latvian)
Currently translated at 5.8% (158 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/lv/
Translated using Weblate (Irish)
Currently translated at 100.0% (211 of 211 strings)
Translation: OpenWrt/LuCI/applications/dockerman
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (91 of 91 strings)
Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (206 of 206 strings)
Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (162 of 162 strings)
Translation: OpenWrt/LuCI/applications/https-dns-proxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationshttps-dns-proxy/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (198 of 198 strings)
Translation: OpenWrt/LuCI/applications/smartdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssmartdns/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Irish)
Currently translated at 100.0% (94 of 94 strings)
Translation: OpenWrt/LuCI/applications/clamav
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsclamav/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (197 of 197 strings)
Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Irish)
Currently translated at 100.0% (74 of 74 strings)
Translation: OpenWrt/LuCI/applications/frps
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrps/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (28 of 28 strings)
Translated using Weblate (Irish)
Currently translated at 100.0% (177 of 177 strings)
Translation: OpenWrt/LuCI/applications/adblock-fast
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock-fast/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (73 of 73 strings)
Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (171 of 171 strings)
Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (200 of 200 strings)
Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (17 of 17 strings)
Translation: OpenWrt/LuCI/applications/nextdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnextdns/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (292 of 292 strings)
Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/ga/
Translated using Weblate (Irish)
Currently translated at 100.0% (284 of 284 strings)
Translated using Weblate (Irish)
Currently translated at 100.0% (403 of 403 strings)
Translated using Weblate (Irish)
Currently translated at 100.0% (2701 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ga/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (28 of 28 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (171 of 171 strings)
Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (73 of 73 strings)
Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (17 of 17 strings)
Translation: OpenWrt/LuCI/applications/nextdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnextdns/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (292 of 292 strings)
Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (206 of 206 strings)
Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (94 of 94 strings)
Translation: OpenWrt/LuCI/applications/clamav
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsclamav/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
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 (Chinese (Simplified Han script))
Currently translated at 100.0% (200 of 200 strings)
Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2701 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2701 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/
Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.7% (2586 of 2701 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% (77 of 77 strings)
Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/pl/
Translated using Weblate (Spanish)
Currently translated at 92.8% (26 of 28 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (28 of 28 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (171 of 171 strings)
Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/pl/
Translated using Weblate (Spanish)
Currently translated at 98.2% (168 of 171 strings)
Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/es/
Translated using Weblate (Polish)
Currently translated at 100.0% (211 of 211 strings)
Translation: OpenWrt/LuCI/applications/dockerman
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdockerman/pl/
Translated using Weblate (Spanish)
Currently translated at 94.5% (69 of 73 strings)
Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/es/
Translated using Weblate (Polish)
Currently translated at 100.0% (73 of 73 strings)
Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/pl/
Translated using Weblate (Polish)
Currently translated at 100.0% (73 of 73 strings)
Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/pl/
Translated using Weblate (Polish)
Currently translated at 100.0% (74 of 74 strings)
Translation: OpenWrt/LuCI/applications/frps
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrps/pl/
Translated using Weblate (Polish)
Currently translated at 100.0% (91 of 91 strings)
Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/pl/
Translated using Weblate (Spanish)
Currently translated at 95.9% (71 of 74 strings)
Translation: OpenWrt/LuCI/applications/frps
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrps/es/
Translated using Weblate (Spanish)
Currently translated at 97.8% (89 of 91 strings)
Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/es/
Translated using Weblate (Polish)
Currently translated at 100.0% (17 of 17 strings)
Translation: OpenWrt/LuCI/applications/nextdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnextdns/pl/
Translated using Weblate (Spanish)
Currently translated at 100.0% (17 of 17 strings)
Translation: OpenWrt/LuCI/applications/nextdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnextdns/es/
Translated using Weblate (Polish)
Currently translated at 100.0% (200 of 200 strings)
Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/pl/
Translated using Weblate (Polish)
Currently translated at 100.0% (94 of 94 strings)
Translation: OpenWrt/LuCI/applications/clamav
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsclamav/pl/
Translated using Weblate (Polish)
Currently translated at 100.0% (292 of 292 strings)
Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/pl/
Translated using Weblate (Polish)
Currently translated at 100.0% (206 of 206 strings)
Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/pl/
Translated using Weblate (Spanish)
Currently translated at 99.0% (204 of 206 strings)
Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/es/
Translated using Weblate (Spanish)
Currently translated at 100.0% (94 of 94 strings)
Translation: OpenWrt/LuCI/applications/clamav
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsclamav/es/
Translated using Weblate (Spanish)
Currently translated at 99.6% (291 of 292 strings)
Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/es/
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (197 of 197 strings)
Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/zh_Hant/
Translated using Weblate (Spanish)
Currently translated at 96.0% (192 of 200 strings)
Translation: OpenWrt/LuCI/applications/travelmate
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstravelmate/es/
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 (Spanish)
Currently translated at 100.0% (197 of 197 strings)
Translation: OpenWrt/LuCI/applications/ddns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsddns/es/
Translated using Weblate (Polish)
Currently translated at 100.0% (102 of 102 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (2701 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/pl/
Translated using Weblate (Spanish)
Currently translated at 99.4% (2687 of 2701 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/es/
Co-authored-by: Aindriú Mac Giolla Eoin <[email protected]>
Co-authored-by: Džiugas Januševičius <[email protected]>
Co-authored-by: Edgars Andersons <[email protected]>
Co-authored-by: Franco Castillo <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: Janderson Vieira Santos <[email protected]>
Co-authored-by: Matthaiks <[email protected]>
Co-authored-by: Piotr Kołtun <[email protected]>
Co-authored-by: ZW <[email protected]>
Co-authored-by: try496 <[email protected]>
Co-authored-by: 大王叫我来巡山 <[email protected]>
Signed-off-by: Aindriú Mac Giolla Eoin <[email protected]>
Signed-off-by: Džiugas Januševičius <[email protected]>
Signed-off-by: Edgars Andersons <[email protected]>
Signed-off-by: Franco Castillo <[email protected]>
Signed-off-by: Janderson Vieira Santos <[email protected]>
Signed-off-by: Matthaiks <[email protected]>
Signed-off-by: Piotr Kołtun <[email protected]>
Signed-off-by: ZW <[email protected]>
Signed-off-by: try496 <[email protected]>
Signed-off-by: 大王叫我来巡山 <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/lt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsupnp/ga/
Translation: OpenWrt/LuCI/applications/commands
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/natmap
Translation: OpenWrt/LuCI/applications/statistics
Translation: OpenWrt/LuCI/applications/tinyproxy
Translation: OpenWrt/LuCI/applications/transmission
Translation: OpenWrt/LuCI/applications/upnp
David Härdeman [Sat, 25 Oct 2025 22:02:32 +0000 (00:02 +0200)]
luci-mod-network: add odhcpd cfg in DHCP server setup
The "Set up DHCP Server" button is meant to setup the basics for a DHCP server
on the given interface. Add odhcpd setting "dhcpv4" as well. It is a no-op in
case odhcpd isn't setup to take care of DHCPv4 as well, but it makes it easier
to support either dnsmasq or odhpcd as the DHCPv4 server.
One might argue that the button should also set dhcpv6=server and ra=server, so
that it doesn't only setup a DHCPv4 server, but also prepares a DHCPv6 server,
but that's for another PR :)
Signed-off-by: David Härdeman <[email protected]>
Eric Fahlgren [Tue, 23 Sep 2025 14:35:36 +0000 (07:35 -0700)]
luci-app-attendedsysupgrade: reorder and reword error instructions
Many users have been posting incomplete error information to the
forum and in git issues. They'll not report important information
that is above the paragraph indicating where to report it, only
the partial information below it.
Remedy this by putting the reporting instructions first, and make
explicit that everything below is needed. Add a new button that
creates a report appropriate for a forum post and saves it to the
clipboard.
Signed-off-by: Eric Fahlgren <[email protected]>
Lili González [Sat, 25 Oct 2025 00:23:49 +0000 (18:23 -0600)]
luci-app-attendedsysupgrade: use the same logic as the main build when requesting rebuilds
When initiating a build the requests were build differently
between main and rebuild servers leading to the latter using
only POST request instead of the POST->GET flow. This led to
incorrect tracking of builds in the target ASU server due to
each request being classified unique.
This is fixed by switching rebuild requests to the POST->GET
flow and storing each server's request hash in a map and using
it regardless if it is the main or a rebuild server handling
the request.
Fixes: openwrt/asu#1526
Signed-off-by: Lili González <[email protected]>
Paul Donald [Sat, 25 Oct 2025 20:46:20 +0000 (22:46 +0200)]
luci-mod-system: give repokeys the ability to fetch keys from a remote URL
Simply paste in an http(s) URL e.g.
https://example.com/releases/SNAPSHOT/publickey.pub
and press Add Key.
Signed-off-by: Paul Donald <[email protected]>
David Härdeman [Thu, 23 Oct 2025 17:27:29 +0000 (19:27 +0200)]
luci-mod-network: stricter feature check for odhcpd
Only show the DHCPv4 option if support is compiled in.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Thu, 23 Oct 2025 17:20:31 +0000 (19:20 +0200)]
luci-mod-network: sort options in general/IPv4 tabs
No actual code changes.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Thu, 23 Oct 2025 17:18:13 +0000 (19:18 +0200)]
luci-mod-network: rename advanced tab
Move the remaining three options to the general tab, mark two of them as
dnsmasq-only.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Thu, 23 Oct 2025 17:11:10 +0000 (19:11 +0200)]
luci-mod-network: move IPv4 options to the new tab
And mark one option as being dnsmasq-only.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Thu, 23 Oct 2025 17:04:49 +0000 (19:04 +0200)]
luci-mod-network: mark the ignore flag as dnsmasq-only
And also hide the flag if dnsmasq isn't installed.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Thu, 23 Oct 2025 17:02:33 +0000 (19:02 +0200)]
luci-mod-network: add an "IPv4 Settings" tab to interfaces
And add one option to disable/enable odhcpd's DHCPv4 support.
Signed-off-by: David Härdeman <[email protected]>
Paul Donald [Sat, 25 Oct 2025 00:19:33 +0000 (02:19 +0200)]
luci-mod-network: prevent double key for menu JSON
follow-up to
7e1b545bfa1d98a72d18c39528dade2b35421ed5
Signed-off-by: Paul Donald <[email protected]>
Hannu Nyman [Fri, 24 Oct 2025 19:32:15 +0000 (22:32 +0300)]
treewide: Sync translations
Sync translations.
Signed-off-by: Hannu Nyman <[email protected]>
Hosted Weblate [Thu, 23 Oct 2025 15:10:52 +0000 (17:10 +0200)]
Translated using Weblate (Indonesian)
Currently translated at 0.6% (1 of 165 strings)
Translated using Weblate (Indonesian)
Currently translated at 0.5% (1 of 177 strings)
Translation: OpenWrt/LuCI/applications/adblock-fast
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock-fast/id/
Translated using Weblate (Indonesian)
Currently translated at 0.3% (8 of 2639 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/id/
Translated using Weblate (Indonesian)
Currently translated at 33.6% (69 of 205 strings)
Translation: OpenWrt/LuCI/applications/adblock
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock/id/
Translated using Weblate (Indonesian)
Currently translated at 4.4% (18 of 403 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (91 of 91 strings)
Translation: OpenWrt/LuCI/applications/frpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfrpc/zh_Hans/
Translated using Weblate (French)
Currently translated at 28.3% (23 of 81 strings)
Translation: OpenWrt/LuCI/applications/email
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsemail/fr/
Translated using Weblate (French)
Currently translated at 12.1% (8 of 66 strings)
Translation: OpenWrt/LuCI/applications/sshtunnel
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/fr/
Translated using Weblate (Romanian)
Currently translated at 90.0% (2376 of 2639 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ro/
Co-authored-by: Anggun Caksono <[email protected]>
Co-authored-by: CRISTIAN ANDREI <[email protected]>
Co-authored-by: Camelia <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: 大王叫我来巡山 <[email protected]>
Signed-off-by: Anggun Caksono <[email protected]>
Signed-off-by: CRISTIAN ANDREI <[email protected]>
Signed-off-by: Camelia <[email protected]>
Signed-off-by: 大王叫我来巡山 <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/id/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/id/
Translation: OpenWrt/LuCI/applications/coovachilli
Translation: OpenWrt/LuCI/applications/statistics
David Härdeman [Sun, 5 Oct 2025 11:27:29 +0000 (13:27 +0200)]
luci-mod-status: support DUID%IAID for static leases
Add support for creating DUID%IAID style static leases in luci-mod-status.
Also, this contains a bugfix. lease.ip6addrs[i] is a string of the format
"<ipv6addr>/128", which validation.parseIPv6() doesn't like (it expects an IPv6
addr without the "/128" suffix).
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Sun, 5 Oct 2025 09:52:36 +0000 (11:52 +0200)]
rpcd-mod-luci,luci-mod-network: suggest DUID%IAID values
Change the getDUIDHints RPC method to return "DUID%IAID" hints (if the IAID is
known, which it is with odhcpd). Use the complete hints in luci-mod-network.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Sun, 5 Oct 2025 06:50:30 +0000 (08:50 +0200)]
luci-mod-network: add initial support for multi-DUIDs
And also add support/validation for DUID%IAID values.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Sun, 5 Oct 2025 06:43:58 +0000 (08:43 +0200)]
luci-mod-network: consistent language in static cfg
I've tried to make this more consistent by using "for" to describe values
that are assigned to the host by the DHCP server and "of" to describe values
that are provided by the host to the DHCP server.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Sun, 5 Oct 2025 06:36:17 +0000 (08:36 +0200)]
luci-mod-network: simplify multi-MAC help text
Simplify the help text a bit, make it more consistent, capitalize "MAC", remove
references to dnsmasq.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Sun, 5 Oct 2025 06:22:15 +0000 (08:22 +0200)]
luci-mod-network: change IPv6 suffix to token
The term "token" is widely used, e.g. in the relevant internet draft [1],
ip-token(8), systemd-network(5), NetworkManager [2], etc.
[1] https://datatracker.ietf.org/doc/html/draft-chown-6man-tokenised-ipv6-identifiers-02
[2] https://networkmanager.dev/docs/api/1.32.10/settings-ipv6.html
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Sun, 5 Oct 2025 05:51:23 +0000 (07:51 +0200)]
luci-mod-network,-status: update DHCPv6 lease headers
Make it clearer that a single DHCPv6 lease can encompass several IPv6
addresses, e.g. when GUA and ULA prefixes are available.
Signed-off-by: David Härdeman <[email protected]>
Paul Donald [Fri, 24 Oct 2025 15:40:03 +0000 (17:40 +0200)]
luci-app-olsr: fix const reassignment to let
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Fri, 24 Oct 2025 15:30:39 +0000 (17:30 +0200)]
luci-base: widgets: fix const -> let variable which is later reassigned
Signed-off-by: Paul Donald <[email protected]>
David Härdeman [Wed, 22 Oct 2025 00:08:35 +0000 (02:08 +0200)]
luci-mod-network: create separate tabs in dhcp.js
Create three main tabs ("dnsmasq", "odhcpd", "Leases") in dhcp.js and
sort the previous tabs under these main tabs.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 21:53:29 +0000 (23:53 +0200)]
luci-mod-network: split PXE into dnsmasq/odhcpd functions in dhcp.js
This makes it clearer which daemon each part belongs to. But more
importantly, it lays the ground for the next patch.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 21:43:15 +0000 (23:43 +0200)]
luci-mod-network: add a odhcpd tab to dhcp.js
Add a separate tab with the global odhcpd settings.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 21:06:07 +0000 (23:06 +0200)]
luci-mod-network: move leases cfg to own function in dhcp.js
This makes it a bit clearer what is specific to leases and also
prepares for the following patches. No actual code changes.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 20:56:00 +0000 (22:56 +0200)]
luci-mod-network: move dnsmasq cfg to own function in dhcp.js
This makes it a bit clearer what is specific to dnsmasq and also
prepares for the following patches. No actual code changes.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 20:20:39 +0000 (22:20 +0200)]
luci-mod-network: reorder tabs in dhcp.js
This is just in preparation for the following patches.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 20:15:56 +0000 (22:15 +0200)]
luci-mod-network: simplify cbi_update_table in dhcp.js
cbi_update_table() can already take a string suitable for
.querySelector() as its first argument. In addition, it will do the
right thing if the element isn't found, so this can be simplified a bit.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 20:03:29 +0000 (22:03 +0200)]
luci-mod-network: remove customi18n() from dhcp.js
The single user isn't really enough to warrant this function, so remove
it to prepare for the following patches.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Tue, 21 Oct 2025 19:58:26 +0000 (21:58 +0200)]
luci-mod-network: remove firewall loading in dhcp.js
This is just a leftover from the dns/dhcp split. It isn't used in
dhcp.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Mon, 20 Oct 2025 21:46:22 +0000 (23:46 +0200)]
luci-mod-network: move var ipaddrs in dhcp.js
Move var ipaddrs down to the sole place where it is used.
Signed-off-by: David Härdeman <[email protected]>
Paul Donald [Fri, 24 Oct 2025 13:36:09 +0000 (15:36 +0200)]
luci-mod-network: change && to || for DHCP tab predicates
Each prerequisite inside a { } forms an and condition.
Each {} prerequisite forms an or condition.
The tab wasn't displayed because odhcpd was not installed. The condition set
required both. Now only require one or the other to display the DHCP tab.
Closes #8033
Signed-off-by: Paul Donald <[email protected]>
David Härdeman [Wed, 22 Oct 2025 21:22:14 +0000 (23:22 +0200)]
luci-base: add ability to hide section titles
The rationale here is that tabbed CBIMaps were introduced in commit
082fd9ff10b.
With tabbed maps, code could typically look like this:
m = new form.Map('foobar', _('FooBar'));
m.tabbed = true;
s = m.section(form.TypedSection, 'foo', _('foo Settings'));
The problem is that the title of "s" will be used as the name of the tab
rendered in "m", but also rendered as an <h3> right below the tab. IOW,
the same information will be presented twice, which looks weird.
Doing this instead...
m = new form.Map('foobar', _('FooBar'));
m.tabbed = true;
s = m.section(form.TypedSection, 'foo');
...means that the superfluous <h3> won't be rendered (since "s" has no
title), but the tab will then simply have the name of the section
("foo"), which can't be translated (bad).
After this change, the tabbed map can be written like this:
m = new form.Map('foobar', _('FooBar'));
m.tabbed = true;
s = m.section(form.TypedSection, 'foo', _('foo Settings'));
s.hidetitle = true;
Which will give the Map tab the name "foo Settings", but won't add a
title for the TypedSection right under the tab.
Signed-off-by: David Härdeman <[email protected]>
Roc Lai [Tue, 21 Oct 2025 15:19:44 +0000 (23:19 +0800)]
luci-app-frpc: Add the bind_addr & bind_port options to the visitor role.
Fix: https://github.com/openwrt/luci/issues/8024
Signed-off-by: Roc Lai <[email protected]>
Andy Chiang [Wed, 22 Oct 2025 09:49:29 +0000 (16:49 +0700)]
luci-app: fix translation strings
The current handling method introduces extraneous spaces into the translations.
For instance, 'System Log', which is correctly translated to Japanese as 'システムログ' (without extra spaces), is being displayed as 'システム ログ' under the current approach.
Other CJK/Southeast Asian languages are experiencing similar issues, including Chinese, Thai, and Lao.
Therefore, these elements should be translated together as a single unit, rather than separately.
Signed-off-by: Andy Chiang <[email protected]>
Paul Donald [Wed, 22 Oct 2025 20:29:52 +0000 (22:29 +0200)]
luci-mod-network: remove unused dns_search property
The same functionality is fulfilled by the "domain" property. Two fields which
have the same semantics and purpose. None of odhcpd, dnsmasq or odhcp6c use the
dns_search property.
See also:
https://github.com/openwrt/odhcpd/issues/206
The local device might anyway use the "search" entries from /etc/resolv.conf at
the lower layers, but IPv6 RA and DHCPv6 is controlled by the "domain" property,
which is distributed to clients.
Signed-off-by: Paul Donald <[email protected]>
Dirk Brenken [Wed, 22 Oct 2025 19:02:44 +0000 (21:02 +0200)]
luci-app-travelmate: sync with update 2.2.1-3
Signed-off-by: Dirk Brenken <[email protected]>
Paul Donald [Tue, 21 Oct 2025 23:22:04 +0000 (01:22 +0200)]
luci-mod-status: routes: prevent null error if the commands don't resolve
Closes #8026
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Tue, 21 Oct 2025 14:25:18 +0000 (16:25 +0200)]
luci-mod-status: partial revert of styling changes
follow-up to
788e47034becc7806485b40dbef9774a14f8ea9d
Some of the CSS changes have knock-on effects and change behaviour in
other display areas, especially when the CSS is minified.
Simplified to change between label flavours on hide/show status.
Signed-off-by: Paul Donald <[email protected]>
Hosted Weblate [Mon, 20 Oct 2025 06:48:33 +0000 (08:48 +0200)]
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (45 of 45 strings)
Translation: OpenWrt/LuCI/applications/cloudflared
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (46 of 46 strings)
Translation: OpenWrt/LuCI/applications/xfrpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/zh_Hans/
Translated using Weblate (Persian)
Currently translated at 100.0% (50 of 50 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (50 of 50 strings)
Translated using Weblate (Portuguese)
Currently translated at 85.7% (24 of 28 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (28 of 28 strings)
Translation: OpenWrt/LuCI/applications/udpxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsudpxy/zh_Hant/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (60 of 60 strings)
Translation: OpenWrt/LuCI/applications/ttyd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsttyd/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (171 of 171 strings)
Translation: OpenWrt/LuCI/applications/mwan3
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmwan3/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (168 of 168 strings)
Translation: OpenWrt/LuCI/applications/aria2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsaria2/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
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 (Polish)
Currently translated at 100.0% (284 of 284 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (40 of 40 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (2588 of 2588 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hant/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2639 of 2639 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2639 of 2639 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/
Translated using Weblate (Polish)
Currently translated at 100.0% (2639 of 2639 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% (2639 of 2639 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/es/
Translated using Weblate (Georgian)
Currently translated at 11.2% (296 of 2639 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/ka/
Translated using Weblate (Georgian)
Currently translated at 68.6% (195 of 284 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (51 of 51 strings)
Translation: OpenWrt/LuCI/applications/acme
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsacme/it/
Translated using Weblate (Italian)
Currently translated at 100.0% (26 of 26 strings)
Translation: OpenWrt/LuCI/applications/dcwapd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdcwapd/it/
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (2588 of 2588 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hant/
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (2639 of 2639 strings)
Translation: OpenWrt/LuCI/modules/luci-base
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci/zh_Hans/
Co-authored-by: Danial Behzadi <[email protected]>
Co-authored-by: DragonBluep <[email protected]>
Co-authored-by: Franco Castillo <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: KING APPS <[email protected]>
Co-authored-by: Meano Lee <[email protected]>
Co-authored-by: Piotr Kołtun <[email protected]>
Co-authored-by: Random <[email protected]>
Co-authored-by: Temuri Doghonadze <[email protected]>
Co-authored-by: ZW <[email protected]>
Co-authored-by: nKsyn <[email protected]>
Co-authored-by: ssantos <[email protected]>
Signed-off-by: DragonBluep <[email protected]>
Signed-off-by: Franco Castillo <[email protected]>
Signed-off-by: Meano Lee <[email protected]>
Signed-off-by: Piotr Kołtun <[email protected]>
Signed-off-by: Random <[email protected]>
Signed-off-by: Temuri Doghonadze <[email protected]>
Signed-off-by: ZW <[email protected]>
Signed-off-by: nKsyn <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/ka/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsp910nd/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/fa/
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/natmap
Translation: OpenWrt/LuCI/applications/p910nd
Translation: OpenWrt/LuCI/modules/luci-mod-dashboard
Andy Chiang [Mon, 20 Oct 2025 21:18:35 +0000 (04:18 +0700)]
modules: fix default values
fix default values for luci-base and luci-mod-{dashboard,status,system}
Signed-off-by: Andy Chiang <[email protected]>
Paul Donald [Tue, 21 Oct 2025 11:03:38 +0000 (13:03 +0200)]
luci-app-acme: fix ACL JSON
follow-up fix for
fd830434cb5fec77b258f22655dced237ea81f0b
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Mon, 20 Oct 2025 11:11:05 +0000 (13:11 +0200)]
luci-app-*: migrate LogreadBox consumers to use new permission ACLs
"ubus": {
"log": [ "read" ]
}
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Mon, 20 Oct 2025 11:10:59 +0000 (13:10 +0200)]
luci-mod-status: update syslog viewer to use the remodeled CBILogreadBox
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Mon, 20 Oct 2025 19:11:10 +0000 (21:11 +0200)]
luci-base: remodel the LogreadBox after the syslog viewer
Remodeled the CBILogreadBox after the syslog viewer. Also
updated to use ubus log read, and drops the use of the logread binary
(logread is broken on snapshots). The JSON output from ubus is nice
enough to work with.
One potential drawback is that all log entries are sent to the browser
(as it always has been), and no on-device pre-filtering is available yet
except for line count.
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Mon, 20 Oct 2025 19:10:54 +0000 (21:10 +0200)]
Andy Chiang [Fri, 17 Oct 2025 13:43:36 +0000 (20:43 +0700)]
luci-theme-bootstrap: add width for localtime
set an appropriate width for #localtime
Signed-off-by: Andy Chiang <[email protected]>
Andy Chiang [Wed, 15 Oct 2025 17:48:55 +0000 (00:48 +0700)]
luci-mod-dashboard: use localized time
use localized time
Signed-off-by: Andy Chiang <[email protected]>
Andy Chiang [Wed, 15 Oct 2025 17:48:45 +0000 (00:48 +0700)]
luci-mod-system: use localized time
use localized time
Signed-off-by: Andy Chiang <[email protected]>
Andy Chiang [Wed, 15 Oct 2025 17:48:26 +0000 (00:48 +0700)]
luci-mod-status: use localized time
use localized time
Signed-off-by: Andy Chiang <[email protected]>
Andy Chiang [Mon, 20 Oct 2025 08:43:01 +0000 (15:43 +0700)]
luci-mod-status: remove redundant spaces
remove redundant spaces in nftables.js.
Signed-off-by: Andy Chiang <[email protected]>
Paul Donald [Mon, 20 Oct 2025 12:38:12 +0000 (14:38 +0200)]
luci-base: use zone names without spaces
See build: stop zoneinfo builder scripts changing '_' -> ' '
f36f014229fcda2eb962ac3c5355ab089777ac0a
Signed-off-by: Paul Donald <[email protected]>
Paul Donald [Mon, 20 Oct 2025 12:36:52 +0000 (14:36 +0200)]
build: stop zoneinfo builder scripts changing '_' -> ' '
Zone names are correct when they contain an underscore, especially when
the zone names are used as input to functions and libraries.
See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
e.g.
Africa/Addis_Ababa
Africa/Dar_es_Salaam
Pacific/Port_Moresby
This can be revised in future if some GUI aesthetic is required.
Signed-off-by: Paul Donald <[email protected]>
Andy Chiang [Mon, 20 Oct 2025 01:22:11 +0000 (08:22 +0700)]
luci-mod-system: fix JSMIN Error
jsmin cannot handle regular expressions in this format, so use RegExp() instead.
fixes: #8020
Signed-off-by: Andy Chiang <[email protected]>
David Härdeman [Fri, 10 Oct 2025 08:16:35 +0000 (10:16 +0200)]
luci-mod-network: add global DUID cfg option
This exposes the default DHCP DUID config option in the LuCI interface.
For reference:
https://github.com/openwrt/openwrt/pull/20359
https://github.com/openwrt/odhcpd/pull/274
Signed-off-by: David Härdeman <[email protected]>
Dirk Brenken [Sun, 19 Oct 2025 18:23:36 +0000 (20:23 +0200)]
luci-app-travelmate: sync with update 2.2.1-2
Signed-off-by: Dirk Brenken <[email protected]>
David Härdeman [Wed, 15 Oct 2025 17:54:49 +0000 (19:54 +0200)]
luci-mod-network: remove unused permissions from dns
Now that all options have been organized per view, remove unused acl
permissions from dns.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 17:40:36 +0000 (19:40 +0200)]
luci-mod-network: remove unused code from dhcp/dns
Now that all options have been organized per view, remove unused code from
both.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 17:28:56 +0000 (19:28 +0200)]
luci-mod-network: retitle dhcp/dns views
And remove a confusing reference to dnsmasq at the top of each page, the
message is a bit of a non-sequitur and doesn't really add any useful
information.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 17:12:19 +0000 (19:12 +0200)]
luci-mod-network: organize "pxe_tftp" tab in dhcp/dns views
Delete the tab from dns.js, sort the options that belong to it in dhcp.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 17:08:31 +0000 (19:08 +0200)]
luci-mod-network: organize "relay" tab in dhcp/dns views
Delete the tab from dns.js, sort the options that belong to it in dhcp.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 17:05:22 +0000 (19:05 +0200)]
luci-mod-network: organize "ipsets" tab in dhcp/dns views
Delete the tab from dhcp.js, sort the options that belong to it in dns.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 17:02:30 +0000 (19:02 +0200)]
luci-mod-network: organize "leases" tab in dhcp/dns views
Delete the tab from dns.js, sort the options that belong to it in dhcp.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:56:51 +0000 (18:56 +0200)]
luci-mod-network: organize "files" tab in dhcp/dns views
Sort the options in the "files" tab so that they are all grouped together in
the order they appear in the UI and delete ones that are specific to DNS from
dhcp.js and vice versa.
Retitle the tab for the dhcp view from "Resolv & Hosts Files" to "Files".
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:50:11 +0000 (18:50 +0200)]
luci-mod-network: organize "logging" tab in dhcp/dns views
Sort the options in the "logging" tab so that they are all grouped together in
the order they appear in the UI and delete ones that are specific to DNS from
dhcp.js and vice versa.
Note that this means that the "logfacility" option is present in both views,
since it controls the general logfacility of dnsmasq, both for DNS and DHCP.
We might consider adding a help text blurb explaining that, but I've
intentionally not changed any code in these patches.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:43:03 +0000 (18:43 +0200)]
luci-mod-network: organize "limits" tab in dhcp/dns views
Sort the options in the "limits" tab so that they are all grouped together in
the order they appear in the UI and delete ones that are specific to DNS from
dhcp.js and vice versa.
Only one option is relevant to the dhcp view, so move it to the "general" tab.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:40:25 +0000 (18:40 +0200)]
luci-mod-network: organize "forward" tab in dhcp/dns views
Delete the tab from dhcp.js, sort the options that belong to it in dns.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:35:42 +0000 (18:35 +0200)]
luci-mod-network: organize "filteropts" tab in dhcp/dns views
Delete the tab from dhcp.js, sort the options that belong to it in dns.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:29:53 +0000 (18:29 +0200)]
luci-mod-network: organize "dnssec" tab in dhcp/dns views
Delete the tab from dhcp.js, sort the options that belong to it in dns.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:21:58 +0000 (18:21 +0200)]
luci-mod-network: organize "dnsrecords" tab in dhcp/dns views
Delete the tab from dhcp.js, sort the options that belong to it in dns.js.
Signed-off-by: David Härdeman <[email protected]>
David Härdeman [Wed, 15 Oct 2025 16:02:21 +0000 (18:02 +0200)]
luci-mod-network: organize "devices" tab in dhcp/dns views
Sort the options in the "devices" tab so that they are all grouped together in
the order they appear in the UI and delete ones that are specific to DNS from
dhcp.js and vice versa.
Note that this means that the "nonwildcard", "interface" and "notinterface"
options are present in both views, since they control the interfaces that
dnsmasq listens to both for DNS and DHCP.
We might consider adding a help text blurb explaining that, but I've
intentionally not changed any code in these patches.
Signed-off-by: David Härdeman <[email protected]>