Commit Graph
19523 Commits
Author SHA1 Message Date
Dirk BrenkenandClaude acda1ad6f1 luci-app-shunt: update to 0.1.12
* sync with base package

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-10-11 20:50:20 +02:00
Erik Conijn 1a36248ef9 luci-proto-wireguard: add tunlink option
The WireGuard protocol handler passes the tunlink option to netifd as
the interface to create the host routes to the peer endpoints on
(proto_add_host_dependency). Without it, netifd uses the interface with
the most specific route to the endpoint, which is not always the
intended uplink, e.g. with several WAN interfaces or other VPNs.

LuCI has no field for it, so it can only be set with uci. Add it as
"Underlying interface", next to "No Host Routes".

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Erik Conijn <egc112@msn.com>
2026-10-11 09:19:56 +03:00
Ivan Kvashonkin 36720dd716 luci-theme-footstrap: full load after a page litters body
The client router drops its fallbacks for luci-base older than 24.10. An
inline script at the top of <body> records nodes a page appends to
<body>; when such nodes remain, the next client-side navigation is a
full page load. The Refreshing pill also stays clickable after
navigation.

Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
2026-10-10 16:02:37 +03:00
Ivan Kvashonkin 83b2216a96 luci-theme-footstrap: use autofocus and shared input checks
The login form focuses through autofocus instead of an inline script,
the head template validates its settings through two shared helpers with
the same patterns and ranges, and the wallpaper upload reads the SVG
with File.text(). The CGI handler and its CSP are unchanged.

Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
2026-10-10 16:02:37 +03:00
Ivan Kvashonkin 81b0680cc7 luci-theme-footstrap: dedupe js and drop pre-24.10 paths
Shared attribute and activation helpers move into fs-widgets, axes are
exported as objects and the footer partial is inlined. Drops fallbacks
for luci-base older than 24.10 and guards for elements the chrome always
renders. It also drops module exports nothing in the tree reads.

Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
2026-10-10 16:02:37 +03:00
Ivan Kvashonkin aa1d7c0bae luci-theme-footstrap: drop dead css rules and tokens
Removes CSS rules nothing matches and tokens nothing reads, and declares
five light-palette values once. Computed styles are unchanged.

Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
2026-10-10 16:02:37 +03:00
Ivan Kvashonkin d3de328368 luci-theme-footstrap: remove unused plugin and search api
Removes the companion-package extension API: the
footstrap.settings.plugin loader (window.__fsPlugins), fs-search
addSource/refresh and window.__fsSearchSources, and the remember and
nodeForSegs exports. Nothing in the tree used them.

Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
2026-10-10 16:02:37 +03:00
Ivan Kvashonkin a7dc58d459 luci-theme-footstrap: fix foreign-app styling
The checkbox switch is drawn on the input itself rather than on
label[for], and framed tables keep their rounded top corners. Also fixes
a dropdown popup overflowing a phone screen, hex accent ink in dark
palettes, the progressbar value line, key/value table detection and a
selectable Overview card header. An app's offset on a table cell no
longer steps the row separator.

Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
2026-10-10 16:02:37 +03:00
a92c0d4e34 Translated using Weblate (Korean)
Currently translated at 95.4% (63 of 66 strings)

Translation: OpenWrt/LuCI/applications/sshtunnel
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/ko/

Translated using Weblate (Korean)

Currently translated at 88.8% (175 of 197 strings)

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

Translated using Weblate (Korean)

Currently translated at 98.3% (61 of 62 strings)

Translated using Weblate (Irish)

Currently translated at 100.0% (3246 of 3246 strings)

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

Translated using Weblate (Irish)

Currently translated at 30.5% (92 of 301 strings)

Translated using Weblate (Irish)

Currently translated at 100.0% (255 of 255 strings)

Translation: OpenWrt/LuCI/applications/keepalived
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/ga/

Translated using Weblate (Irish)

Currently translated at 100.0% (284 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/ga/

Translated using Weblate (Spanish)

Currently translated at 66.5% (189 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/es/

Translated using Weblate (Irish)

Currently translated at 100.0% (162 of 162 strings)

Translation: OpenWrt/LuCI/applications/ustreamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsustreamer/ga/

Translated using Weblate (Irish)

Currently translated at 100.0% (196 of 196 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (179 of 179 strings)

Translation: OpenWrt/LuCI/applications/lldpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslldpd/ga/

Translated using Weblate (Irish)

Currently translated at 100.0% (65 of 65 strings)

Translation: OpenWrt/LuCI/applications/sqm
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssqm/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% (25 of 25 strings)

Translated using Weblate (Irish)

Currently translated at 100.0% (17 of 17 strings)

Translation: OpenWrt/LuCI/applications/omcproxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsomcproxy/ga/

Translated using Weblate (Irish)

Currently translated at 100.0% (227 of 227 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% (3246 of 3246 strings)

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

Translated using Weblate (Korean)

Currently translated at 100.0% (46 of 46 strings)

Translation: OpenWrt/LuCI/applications/xfrpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/ko/

Translated using Weblate (Korean)

Currently translated at 95.4% (63 of 66 strings)

Translation: OpenWrt/LuCI/applications/sshtunnel
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/ko/

Translated using Weblate (Irish)

Currently translated at 30.2% (91 of 301 strings)

Translated using Weblate (Korean)

Currently translated at 40.4% (115 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/ko/

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 (Irish)

Currently translated at 100.0% (124 of 124 strings)

Translation: OpenWrt/LuCI/applications/nlbwmon
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnlbwmon/ga/

Translated using Weblate (Irish)

Currently translated at 100.0% (179 of 179 strings)

Translation: OpenWrt/LuCI/applications/lldpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslldpd/ga/

Translated using Weblate (Irish)

Currently translated at 100.0% (168 of 168 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (72 of 72 strings)

Translation: OpenWrt/LuCI/applications/ocserv
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsocserv/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% (27 of 27 strings)

Translated using Weblate (Irish)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (93 of 93 strings)

Translated using Weblate (Irish)

Currently translated at 100.0% (321 of 321 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% (3246 of 3246 strings)

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

Translated using Weblate (Korean)

Currently translated at 97.4% (75 of 77 strings)

Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (46 of 46 strings)

Translation: OpenWrt/LuCI/applications/xfrpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/ko/

Translated using Weblate (Korean)

Currently translated at 100.0% (85 of 85 strings)

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

Translated using Weblate (Spanish)

Currently translated at 25.5% (44 of 172 strings)

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

Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hannu Nyman <hannu.nyman@iki.fi>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hyeonjeong Lee <h9101654@gmail.com>
Signed-off-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Hyeonjeong Lee <h9101654@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqos/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqosify/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsuhttpd/ko/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/ga/
Translation: OpenWrt/LuCI/applications/commands
Translation: OpenWrt/LuCI/applications/qos-legacy
Translation: OpenWrt/LuCI/applications/qosify
Translation: OpenWrt/LuCI/applications/uhttpd
Translation: OpenWrt/LuCI/modules/luci-mod-dashboard
2026-10-10 16:01:02 +03:00
dependabot[bot] 37e6a6bb65 npm: bump eslint-plugin-jsdoc from 64.5.4 to 65.1.0
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 64.5.4 to 65.1.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.4...v65.1.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-version: 65.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-08 10:25:13 +02:00
tokisaki galaxy 4bc2f85da8 luci-app-tailscale-community: fix status parsing and TUNMode type
- Return TUNMode as an actual boolean instead of string
- Safely extract first health message from Health array
- Add null-safety checks and fallbacks for peer properties
- Initialize default peers data structure as an object
- Ensure tailscale.uc retains executable file mode (0755)

Signed-off-by: tokisaki galaxy <moebest@outlook.jp>
2026-10-07 19:48:42 +02:00
tokisaki galaxy cd65611681 luci-app-tailscale-community: prevent duplicate dnsmasq forward entries
In setup_tailscale_dns_forward(), the duplicate check used:
  uci -q show dhcp.@dnsmasq[0].server | grep -Fqx ...
However, 'uci show' expands anonymous sections into real named sections
(e.g., cfg01411c) and outputs multiple list values space-separated on
the same line, causing exact matching to always fail and appending
duplicate forward entries on every boot.

Fix this by:
- Adding runtime checks to ensure /etc/config/dhcp and /etc/init.d/dnsmasq
  exist before touching dnsmasq configuration, safely avoiding errors
  on systems without dnsmasq.
- Iterating existing 'uci get' server list values and returning early
  if the entry already exists, preserving user configuration and list
  ordering without rebuilding.

Signed-off-by: tokisaki galaxy <moebest@outlook.jp>
2026-10-07 19:45:03 +02:00
Victor Irzak 7fccab79e3 luci-base: fix JSDoc of option(), taboption() and addNotification()
form: option() documented three parameters for its two: the class as
`optionclass` and the real `cbiClass` as `{object}` classargs. Document
`cbiClass` and `args`. taboption() documented an `optionclass` its
signature (tabName, ...args) does not have; name the class parameter
in the signature instead, which behaves the same. Both said the class
must derive from AbstractSection where they check for AbstractValue.

ui: addNotification() describes a `null` title and is called with one
throughout LuCI, but typed it as string; mark it nullable.

luci: XMLHTTPRequest is spelled XMLHttpRequest.
Signed-off-by: Victor Irzak <victor@irzak.com>
2026-10-07 19:41:22 +02:00
Victor Irzak d175293945 luci-app-example: add a JSONMap example that saves to a file
The existing JSONMap examples are read-only and leave saving as an
exercise ("you would need to define custom handlers"). Add a view that
edits /etc/example.json with a JSONMap - a named section and an
add/remove list - and saves it: handleSave() calls map.save() with a
callback that reads the sections back from map.data, restores numbers
(the form stores strings) and writes the file with fs.write().

The UCI defaults script seeds the file, and the ACL grants read and
write on it in the file scope.

Signed-off-by: Victor Irzak <victor@irzak.com>
2026-10-07 19:38:49 +02:00
Victor Irzak a92bec6a9b luci-base: form: don't let JSONMap add() reuse an existing section
CBIJSONConfig names anonymous sections loaded from an array
<type><n>, with n counted across all section types, while add()
names a new one <type><count of that type>. With data like
{ animals: {...}, pet: [ {...} ] } the loaded pet is "pet1" and
add() also returns "pet1", so the new entry overwrites the existing
one instead of being appended. The same happens after a remove().

Pick the first unused name instead.

Signed-off-by: Victor Irzak <victor@irzak.com>
2026-10-07 19:38:49 +02:00
86d1549227 Translated using Weblate (Spanish)
Currently translated at 66.1% (188 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/es/

Translated using Weblate (Lithuanian)

Currently translated at 97.1% (3153 of 3246 strings)

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

Translated using Weblate (Korean)

Currently translated at 97.8% (91 of 93 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Korean)

Currently translated at 86.8% (2820 of 3246 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (284 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (113 of 113 strings)

Translation: OpenWrt/LuCI/applications/libreswan
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslibreswan/ru/

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (284 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/zh_Hans/

Translated using Weblate (Polish)

Currently translated at 100.0% (284 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/pl/

Translated using Weblate (Spanish)

Currently translated at 60.5% (172 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/es/

Translated using Weblate (Russian)

Currently translated at 100.0% (153 of 153 strings)

Translation: OpenWrt/LuCI/applications/dawn
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdawn/ru/

Translated using Weblate (Korean)

Currently translated at 76.3% (71 of 93 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (227 of 227 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (227 of 227 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (165 of 165 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (3246 of 3246 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% (3246 of 3246 strings)

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

Translated using Weblate (Czech)

Currently translated at 99.2% (282 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/cs/

Translated using Weblate (Polish)

Currently translated at 100.0% (284 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/pl/

Translated using Weblate (Polish)

Currently translated at 100.0% (165 of 165 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (3246 of 3246 strings)

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

Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hannu Nyman <hannu.nyman@iki.fi>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hosted Weblate user 54392 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Hyeonjeong Lee <h9101654@gmail.com>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com>
Co-authored-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Hosted Weblate user 54392 <hamburger2048@users.noreply.hosted.weblate.org>
Signed-off-by: Hyeonjeong Lee <h9101654@gmail.com>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: Pavel Borecki <pavel.borecki@gmail.com>
Signed-off-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/ko/
Translation: OpenWrt/LuCI/applications/coovachilli
Translation: OpenWrt/LuCI/modules/luci-mod-dashboard
2026-10-07 17:17:12 +03:00
Dirk BrenkenandClaude 0257cc05ad luci-app-shunt: update to 0.1.11
* sync with base package

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Dirk Brenken <dev@brenken.org>
2026-10-05 20:42:29 +02:00
Hannu Nyman dc37ec7e33 luci-base/luci-lua-runtime: update timezone data to 2026e
Update timezone data to 2026e.
* Manitoba moves to permanent -05 on 2026-10-31.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2026-10-05 20:46:12 +03:00
Sergei S. d9205d99c6 luci-mod-network: add scrolling to wireless scan results modal
Allow scrolling of wireless scan results within the modal.

Signed-off-by: Sergei S. <it4notice@proton.me>
2026-10-05 20:35:43 +03:00
9c9ad92d8e Translated using Weblate (Polish)
Currently translated at 68.3% (194 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/pl/

Translated using Weblate (Danish)

Currently translated at 100.0% (34 of 34 strings)

Translation: OpenWrt/LuCI/applications/adguardhome
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadguardhome/da/

Translated using Weblate (Danish)

Currently translated at 3.4% (4 of 117 strings)

Translation: OpenWrt/LuCI/applications/tailscale-community
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstailscale-community/da/

Translated using Weblate (Danish)

Currently translated at 3.9% (10 of 255 strings)

Translation: OpenWrt/LuCI/applications/keepalived
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/da/

Translated using Weblate (Danish)

Currently translated at 7.2% (13 of 179 strings)

Translation: OpenWrt/LuCI/applications/lldpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslldpd/da/

Translated using Weblate (Danish)

Currently translated at 3.7% (3 of 81 strings)

Translation: OpenWrt/LuCI/applications/email
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsemail/da/

Translated using Weblate (Danish)

Currently translated at 6.4% (5 of 77 strings)

Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/da/

Translated using Weblate (Danish)

Currently translated at 8.8% (11 of 125 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/da/

Translated using Weblate (Danish)

Currently translated at 12.5% (6 of 48 strings)

Translation: OpenWrt/LuCI/applications/openwisp
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenwisp/da/

Translated using Weblate (Danish)

Currently translated at 9.0% (6 of 66 strings)

Translation: OpenWrt/LuCI/applications/sshtunnel
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/da/

Translated using Weblate (Danish)

Currently translated at 5.5% (11 of 198 strings)

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

Translated using Weblate (Danish)

Currently translated at 66.0% (154 of 233 strings)

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

Translated using Weblate (Danish)

Currently translated at 15.2% (28 of 184 strings)

Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/da/

Translated using Weblate (Danish)

Currently translated at 19.4% (14 of 72 strings)

Translated using Weblate (Danish)

Currently translated at 30.2% (87 of 288 strings)

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

Translated using Weblate (Danish)

Currently translated at 23.3% (53 of 227 strings)

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

Translated using Weblate (Danish)

Currently translated at 68.8% (2236 of 3246 strings)

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

Translated using Weblate (Danish)

Currently translated at 61.2% (49 of 80 strings)

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

Translated using Weblate (Danish)

Currently translated at 48.3% (45 of 93 strings)

Translated using Weblate (Danish)

Currently translated at 11.4% (59 of 515 strings)

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

Translated using Weblate (Danish)

Currently translated at 17.5% (34 of 194 strings)

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

Translated using Weblate (Danish)

Currently translated at 16.9% (28 of 165 strings)

Added translation using Weblate (Danish)

Added translation using Weblate (Danish)

Translated using Weblate (Russian)

Currently translated at 66.1% (188 of 284 strings)

Translation: OpenWrt/LuCI/applications/strongswan-swanctl
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstrongswan-swanctl/ru/

Translated using Weblate (Danish)

Currently translated at 100.0% (22 of 22 strings)

Translation: OpenWrt/LuCI/applications/wifihistory
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswifihistory/da/

Translated using Weblate (Danish)

Currently translated at 0.8% (1 of 117 strings)

Translation: OpenWrt/LuCI/applications/tailscale-community
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstailscale-community/da/

Translated using Weblate (Danish)

Currently translated at 8.6% (14 of 162 strings)

Translation: OpenWrt/LuCI/applications/ustreamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsustreamer/da/

Translated using Weblate (Danish)

Currently translated at 3.5% (9 of 255 strings)

Translation: OpenWrt/LuCI/applications/keepalived
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/da/

Translated using Weblate (Danish)

Currently translated at 6.7% (12 of 179 strings)

Translation: OpenWrt/LuCI/applications/lldpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslldpd/da/

Translated using Weblate (Danish)

Currently translated at 2.6% (4 of 151 strings)

Translation: OpenWrt/LuCI/applications/usteer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/da/

Translated using Weblate (Danish)

Currently translated at 7.2% (9 of 125 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/da/

Translated using Weblate (Danish)

Currently translated at 5.0% (2 of 40 strings)

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

Translated using Weblate (Danish)

Currently translated at 7.5% (5 of 66 strings)

Translation: OpenWrt/LuCI/applications/sshtunnel
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/da/

Translated using Weblate (Danish)

Currently translated at 5.0% (10 of 198 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (149 of 149 strings)

Translated using Weblate (Danish)

Currently translated at 15.8% (51 of 321 strings)

Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/da/

Translated using Weblate (Danish)

Currently translated at 29.5% (85 of 288 strings)

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

Translated using Weblate (Danish)

Currently translated at 22.9% (52 of 227 strings)

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

Translated using Weblate (Danish)

Currently translated at 68.8% (2236 of 3246 strings)

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

Translated using Weblate (Danish)

Currently translated at 54.1% (46 of 85 strings)

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

Translated using Weblate (Danish)

Currently translated at 47.3% (44 of 93 strings)

Translated using Weblate (Danish)

Currently translated at 15.3% (19 of 124 strings)

Translation: OpenWrt/LuCI/applications/nlbwmon
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnlbwmon/da/

Translated using Weblate (Danish)

Currently translated at 10.8% (56 of 515 strings)

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

Translated using Weblate (Danish)

Currently translated at 84.8% (358 of 422 strings)

Added translation using Weblate (Danish)

Added translation using Weblate (Danish)

Translated using Weblate (Danish)

Currently translated at 100.0% (4 of 4 strings)

Translation: OpenWrt/LuCI/applications/ledtrig-usbport
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsledtrig-usbport/da/

Translated using Weblate (Danish)

Currently translated at 8.0% (13 of 162 strings)

Translation: OpenWrt/LuCI/applications/ustreamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsustreamer/da/

Translated using Weblate (Danish)

Currently translated at 3.1% (8 of 255 strings)

Translation: OpenWrt/LuCI/applications/keepalived
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/da/

Translated using Weblate (Danish)

Currently translated at 6.1% (11 of 179 strings)

Translation: OpenWrt/LuCI/applications/lldpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslldpd/da/

Translated using Weblate (Danish)

Currently translated at 5.1% (4 of 77 strings)

Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/da/

Translated using Weblate (Danish)

Currently translated at 5.6% (7 of 125 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/da/

Translated using Weblate (Danish)

Currently translated at 2.2% (2 of 90 strings)

Translation: OpenWrt/LuCI/applications/mosquitto
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmosquitto/da/

Translated using Weblate (Danish)

Currently translated at 4.0% (8 of 198 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (28 of 28 strings)

Translated using Weblate (Danish)

Currently translated at 14.6% (27 of 184 strings)

Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/da/

Translated using Weblate (Danish)

Currently translated at 90.6% (135 of 149 strings)

Translated using Weblate (Danish)

Currently translated at 19.6% (34 of 173 strings)

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

Translated using Weblate (Danish)

Currently translated at 29.1% (84 of 288 strings)

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

Translated using Weblate (Danish)

Currently translated at 21.5% (49 of 227 strings)

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

Translated using Weblate (Danish)

Currently translated at 68.8% (2235 of 3246 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% (72 of 72 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (60 of 60 strings)

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

Translated using Weblate (Danish)

Currently translated at 60.0% (48 of 80 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (48 of 48 strings)

Translation: OpenWrt/LuCI/applications/advanced-reboot
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadvanced-reboot/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (33 of 33 strings)

Translation: OpenWrt/LuCI/applications/vnstat2
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsvnstat2/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (27 of 27 strings)

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

Translated using Weblate (Danish)

Currently translated at 20.3% (40 of 197 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Danish)

Currently translated at 17.3% (32 of 184 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (37 of 37 strings)

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

Translated using Weblate (Danish)

Currently translated at 36.7% (18 of 49 strings)

Translated using Weblate (Danish)

Currently translated at 61.5% (64 of 104 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (17 of 17 strings)

Translation: OpenWrt/LuCI/applications/omcproxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsomcproxy/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (28 of 28 strings)

Translation: OpenWrt/LuCI/applications/udpxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsudpxy/da/

Translated using Weblate (Danish)

Currently translated at 9.9% (51 of 515 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (31 of 31 strings)

Translated using Weblate (Danish)

Currently translated at 84.8% (358 of 422 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (37 of 37 strings)

Added translation using Weblate (Danish)

Translated using Weblate (Danish)

Currently translated at 7.4% (12 of 162 strings)

Translation: OpenWrt/LuCI/applications/ustreamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsustreamer/da/

Translated using Weblate (Danish)

Currently translated at 0.8% (1 of 112 strings)

Translation: OpenWrt/LuCI/applications/radicale3
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsradicale3/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (33 of 33 strings)

Translation: OpenWrt/LuCI/applications/openlist
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsopenlist/da/

Translated using Weblate (Danish)

Currently translated at 1.9% (5 of 255 strings)

Translation: OpenWrt/LuCI/applications/keepalived
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (86 of 86 strings)

Translation: OpenWrt/LuCI/applications/package-manager
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspackage-manager/da/

Translated using Weblate (Danish)

Currently translated at 3.9% (7 of 179 strings)

Translation: OpenWrt/LuCI/applications/lldpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslldpd/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (2 of 2 strings)

Translated using Weblate (Danish)

Currently translated at 6.6% (3 of 45 strings)

Translation: OpenWrt/LuCI/applications/cloudflared
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscloudflared/da/

Translated using Weblate (Danish)

Currently translated at 12.1% (4 of 33 strings)

Translation: OpenWrt/LuCI/applications/v2raya
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsv2raya/da/

Translated using Weblate (Danish)

Currently translated at 1.9% (3 of 151 strings)

Translation: OpenWrt/LuCI/applications/usteer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsusteer/da/

Translated using Weblate (Danish)

Currently translated at 2.4% (2 of 81 strings)

Translation: OpenWrt/LuCI/applications/email
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsemail/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (21 of 21 strings)

Translation: OpenWrt/LuCI/applications/crowdsec-firewall-bouncer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscrowdsec-firewall-bouncer/da/

Translated using Weblate (Danish)

Currently translated at 3.8% (3 of 77 strings)

Translation: OpenWrt/LuCI/applications/xinetd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxinetd/da/

Translated using Weblate (Danish)

Currently translated at 4.8% (6 of 125 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/da/

Translated using Weblate (Danish)

Currently translated at 6.5% (3 of 46 strings)

Translation: OpenWrt/LuCI/applications/xfrpc
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsxfrpc/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (17 of 17 strings)

Translation: OpenWrt/LuCI/applications/eoip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationseoip/da/

Translated using Weblate (Danish)

Currently translated at 4.5% (3 of 66 strings)

Translation: OpenWrt/LuCI/applications/sshtunnel
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssshtunnel/da/

Translated using Weblate (Danish)

Currently translated at 1.1% (1 of 90 strings)

Translation: OpenWrt/LuCI/applications/mosquitto
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsmosquitto/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (33 of 33 strings)

Translation: OpenWrt/LuCI/applications/irqbalance
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsirqbalance/da/

Translated using Weblate (Danish)

Currently translated at 3.5% (7 of 198 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (21 of 21 strings)

Translation: OpenWrt/LuCI/applications/tor
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstor/da/

Translated using Weblate (Danish)

Currently translated at 66.0% (154 of 233 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (28 of 28 strings)

Translated using Weblate (Danish)

Currently translated at 14.6% (27 of 184 strings)

Translation: OpenWrt/LuCI/applications/pbr
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspbr/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (102 of 102 strings)

Translated using Weblate (Danish)

Currently translated at 5.7% (17 of 295 strings)

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

Translated using Weblate (Danish)

Currently translated at 13.3% (10 of 75 strings)

Translated using Weblate (Danish)

Currently translated at 14.8% (25 of 168 strings)

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

Translated using Weblate (Danish)

Currently translated at 15.5% (50 of 321 strings)

Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/da/

Translated using Weblate (Danish)

Currently translated at 19.6% (34 of 173 strings)

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

Translated using Weblate (Danish)

Currently translated at 28.8% (83 of 288 strings)

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

Translated using Weblate (Danish)

Currently translated at 21.5% (49 of 227 strings)

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

Translated using Weblate (Danish)

Currently translated at 68.7% (2232 of 3246 strings)

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

Translated using Weblate (Danish)

Currently translated at 5.2% (9 of 172 strings)

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

Translated using Weblate (Danish)

Currently translated at 83.3% (60 of 72 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (59 of 59 strings)

Translation: OpenWrt/LuCI/applications/dump1090
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsdump1090/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (60 of 60 strings)

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

Translated using Weblate (Danish)

Currently translated at 60.0% (48 of 80 strings)

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

Translated using Weblate (Danish)

Currently translated at 62.5% (30 of 48 strings)

Translation: OpenWrt/LuCI/applications/advanced-reboot
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadvanced-reboot/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (65 of 65 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (27 of 27 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (46 of 46 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (44 of 44 strings)

Translated using Weblate (Danish)

Currently translated at 19.7% (39 of 197 strings)

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

Translated using Weblate (Danish)

Currently translated at 61.8% (34 of 55 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (31 of 31 strings)

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

Translated using Weblate (Danish)

Currently translated at 51.3% (19 of 37 strings)

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

Translated using Weblate (Danish)

Currently translated at 60.5% (63 of 104 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Danish)

Currently translated at 45.1% (42 of 93 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (17 of 17 strings)

Translation: OpenWrt/LuCI/applications/omcproxy
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsomcproxy/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (16 of 16 strings)

Translation: OpenWrt/LuCI/applications/pagekitec
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspagekitec/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (13 of 13 strings)

Translation: OpenWrt/LuCI/applications/bcp38
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbcp38/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (17 of 17 strings)

Translation: OpenWrt/LuCI/applications/nextdns
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnextdns/da/

Translated using Weblate (Danish)

Currently translated at 100.0% (27 of 27 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (7 of 7 strings)

Translation: OpenWrt/LuCI/applications/olsr-services
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr-services/da/

Translated using Weblate (Danish)

Currently translated at 9.3% (48 of 515 strings)

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

Translated using Weblate (Danish)

Currently translated at 12.9% (4 of 31 strings)

Translated using Weblate (Danish)

Currently translated at 16.9% (28 of 165 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (16 of 16 strings)

Translation: OpenWrt/LuCI/applications/squid
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssquid/da/

Translated using Weblate (Danish)

Currently translated at 8.6% (17 of 196 strings)

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

Translated using Weblate (Danish)

Currently translated at 100.0% (282 of 282 strings)

Translated using Weblate (Danish)

Currently translated at 84.5% (357 of 422 strings)

Translated using Weblate (Danish)

Currently translated at 17.5% (7 of 40 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (31 of 31 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 32.3% (11 of 34 strings)

Translation: OpenWrt/LuCI/applications/adguardhome
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadguardhome/uk/

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (4 of 4 strings)

Translation: OpenWrt/LuCI/applications/ledtrig-usbport
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsledtrig-usbport/uk/

Translated using Weblate (Ukrainian)

Currently translated at 5.9% (18 of 301 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (255 of 255 strings)

Translation: OpenWrt/LuCI/applications/keepalived
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/uk/

Translated using Weblate (Czech)

Currently translated at 100.0% (255 of 255 strings)

Translation: OpenWrt/LuCI/applications/keepalived
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationskeepalived/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (21 of 21 strings)

Translation: OpenWrt/LuCI/applications/crowdsec-firewall-bouncer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscrowdsec-firewall-bouncer/cs/

Translated using Weblate (Ukrainian)

Currently translated at 63.6% (21 of 33 strings)

Translation: OpenWrt/LuCI/applications/irqbalance
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsirqbalance/uk/

Translated using Weblate (Czech)

Currently translated at 100.0% (198 of 198 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 47.3% (44 of 93 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (515 of 515 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (124 of 124 strings)

Translation: OpenWrt/LuCI/applications/nlbwmon
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnlbwmon/uk/

Translated using Weblate (Ukrainian)

Currently translated at 91.5% (294 of 321 strings)

Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/uk/

Translated using Weblate (Ukrainian)

Currently translated at 98.2% (283 of 288 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 93.9% (3051 of 3246 strings)

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

Translated using Weblate (Czech)

Currently translated at 100.0% (76 of 76 strings)

Translation: OpenWrt/LuCI/applications/lorawan-basicstation
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationslorawan-basicstation/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (162 of 162 strings)

Translation: OpenWrt/LuCI/applications/ustreamer
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsustreamer/cs/

Translated using Weblate (Czech)

Currently translated at 100.0% (86 of 86 strings)

Translation: OpenWrt/LuCI/applications/package-manager
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspackage-manager/cs/

Translated using Weblate (Russian)

Currently translated at 100.0% (3246 of 3246 strings)

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

Translated using Weblate (Korean)

Currently translated at 41.8% (126 of 301 strings)

Translated using Weblate (Korean)

Currently translated at 86.8% (2820 of 3246 strings)

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

Translated using Weblate (Korean)

Currently translated at 35.5% (107 of 301 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (301 of 301 strings)

Translated using Weblate (Korean)

Currently translated at 35.2% (106 of 301 strings)

Translated using Weblate (Spanish)

Currently translated at 99.6% (300 of 301 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (22 of 22 strings)

Translation: OpenWrt/LuCI/applications/wifihistory
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswifihistory/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (86 of 86 strings)

Translation: OpenWrt/LuCI/applications/package-manager
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationspackage-manager/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (125 of 125 strings)

Translation: OpenWrt/LuCI/applications/snmpd
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssnmpd/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (233 of 233 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (93 of 93 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (93 of 93 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (515 of 515 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (515 of 515 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (194 of 194 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (196 of 196 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (321 of 321 strings)

Translation: OpenWrt/LuCI/applications/banip
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsbanip/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (288 of 288 strings)

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

Translated using Weblate (Spanish)

Currently translated at 99.6% (287 of 288 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (48 of 48 strings)

Translation: OpenWrt/LuCI/applications/advanced-reboot
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadvanced-reboot/ru/

Translated using Weblate (Russian)

Currently translated at 100.0% (94 of 94 strings)

Translation: OpenWrt/LuCI/applications/clamav
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsclamav/ru/

Translated using Weblate (Spanish)

Currently translated at 100.0% (321 of 321 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (197 of 197 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (55 of 55 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (422 of 422 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (3246 of 3246 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (3246 of 3246 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (3246 of 3246 strings)

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

Translated using Weblate (Russian)

Currently translated at 30.9% (94 of 304 strings)

Translated using Weblate (Korean)

Currently translated at 31.5% (96 of 304 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 48.3% (45 of 93 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (3246 of 3246 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (3246 of 3246 strings)

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

Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hosted Weblate user 168028 <muuvckxh81zd@ve0ai.com>
Co-authored-by: Hyeonjeong Lee <h9101654@gmail.com>
Co-authored-by: Karakurt <karakurtspider.s0net@gmail.com>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com>
Co-authored-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org>
Co-authored-by: 加尼瑪空格把變數都破壞了! <roc_fe@users.noreply.hosted.weblate.org>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Hosted Weblate user 168028 <muuvckxh81zd@ve0ai.com>
Signed-off-by: Hyeonjeong Lee <h9101654@gmail.com>
Signed-off-by: Karakurt <karakurtspider.s0net@gmail.com>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: Pavel Borecki <pavel.borecki@gmail.com>
Signed-off-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org>
Signed-off-by: 加尼瑪空格把變數都破壞了! <roc_fe@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luci_modules_luci-mod-dsl/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfilebrowser/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfwknopd/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsminidlna/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnatmap/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsp910nd/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqos/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqosify/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqosify/ko/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqosify/ru/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsqosify/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsrp-pppoe-server/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationssamba4/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/ru/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsuhttpd/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsupnp/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsupnp/ru/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswol/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/da/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/ru/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/lucimodulesluci-mod-dashboard/zh_Hant/
Translation: OpenWrt/LuCI/applications/commands
Translation: OpenWrt/LuCI/applications/coovachilli
Translation: OpenWrt/LuCI/applications/filebrowser
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/fwknopd
Translation: OpenWrt/LuCI/applications/minidlna
Translation: OpenWrt/LuCI/applications/natmap
Translation: OpenWrt/LuCI/applications/nut
Translation: OpenWrt/LuCI/applications/olsr
Translation: OpenWrt/LuCI/applications/p910nd
Translation: OpenWrt/LuCI/applications/qos-legacy
Translation: OpenWrt/LuCI/applications/qosify
Translation: OpenWrt/LuCI/applications/rp-pppoe-server
Translation: OpenWrt/LuCI/applications/samba4
Translation: OpenWrt/LuCI/applications/statistics
Translation: OpenWrt/LuCI/applications/tinyproxy
Translation: OpenWrt/LuCI/applications/transmission
Translation: OpenWrt/LuCI/applications/uhttpd
Translation: OpenWrt/LuCI/applications/upnp
Translation: OpenWrt/LuCI/applications/watchcat
Translation: OpenWrt/LuCI/applications/wol
Translation: OpenWrt/LuCI/modules/luci-mod-dashboard
Translation: OpenWrt/LuCI/modules/luci-mod-dsl
2026-10-05 17:19:16 +03:00
Josef Schlehofer a29ca05b02 luci-app-weechat: add new application
Add a LuCI web interface for the WeeChat IRC client.

- Status page: service state and version, boot autostart toggle and
  start, stop and restart through the rc and service ubus objects, with
  read-only handling for users without write access
- IRC Servers page: grid with modal tabs for connection, identity,
  authentication (none, NickServ, SASL PLAIN, SCRAM-SHA-256 and
  SCRAM-SHA-512) and auto-join channels with optional keys
- Relay page: relay port and listen address, TLS, password, chat
  logging and a link to the hosted Glowing Bear web client. After a
  certificate is generated, a running WeeChat is restarted if the saved
  settings use it.
- rpcd ucode plugin "weechat", which runs as root. It reports the
  daemon version, enables the service by committing only option
  enabled, and checks or generates a self-signed relay certificate with
  an EC key in /etc/weechat/tls, preferring openssl over px5g. The
  bundle is installed as root:weechat 0640, so the daemon can read but
  not replace it. Certificates at other paths are left to the user.
- The forms refuse the values that the init script of the weechat
  package rejects.
- ACL limited to the weechat UCI config and the methods above

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2026-10-05 15:32:59 +02:00
Michael Pfeifroth af2c89c911 luci-proto-modemmanager: rework initial EPS bearer modes
Follow the rework of the 'init_epsbearer' modes in the modemmanager
package:

- modem:      Leave unchanged (stored on modem), the new default
- network:    Network-assigned
- connection: Same as connection (was 'default')
- custom:     Custom

The LuCI value 'none' was stored as an empty option, which since
modemmanager commit 246506690f2d clears the initial EPS bearer instead
of leaving it untouched as described. Store 'modem' explicitly instead.

The legacy values 'none' and 'default' are shown as 'modem' and
'connection'.

Link: https://github.com/openwrt/packages/issues/30299
Signed-off-by: Michael Pfeifroth <micpf@westermo.com>
2026-10-05 11:12:37 +02:00
Florian Eckert 88edddcbb2 luci-app-strongswan-swanctl: sync I18n
Update I18n with the latest changes.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-10-05 11:02:25 +02:00
Michael Pfeifroth aa3d48836e luci-mod-network: hide incompatible encryption modes for 6 GHz
The WiFi 6E (6 GHz) standard mandates WPA3 and management frame
protection.  While wifi-scripts already silently upgrades mixed modes
(psk-sae -> sae) on 6 GHz radios, the LuCI encryption dropdown still
offers all WPA2/WPA/WEP options, leading to confusing hostapd failures
when users pick an unsupported mode.

When the radio band is 6 GHz, hide encryption options that are
incompatible with the standard:
- WPA2-PSK, WPA-PSK, WPA-PSK/WPA2-PSK Mixed Mode
- WPA2-PSK/WPA3-SAE Mixed Mode (6 GHz does not allow WPA2 fallback)
- WPA2-EAP, WPA-EAP, WPA2-EAP/WPA3-EAP Mixed Mode
- WEP
- No Encryption (6 GHz requires protected management frames)

This leaves WPA3-SAE, WPA3-EAP, WPA3-EAP 192-bit, and OWE as the
available choices for 6 GHz interfaces.

Signed-off-by: Michael Pfeifroth <micpf@westermo.com>
2026-10-01 20:42:34 +02:00
Ash Clarke 32775cf32b luci-app-qosify: cosmetic improvements
- Config and Rules: each Quick Add and Reference fold sits in its own
  box, drawn like the quick settings and counters boxes, with a heading
  sized to the rest of the app instead of the theme's full h3
- Advanced: Backup, Restore, Maintenance and Defaults share one layout,
  a box with a description, a table and the buttons on the right;
  the Defaults table lists the two files the Reset replaces
- Advanced: Check Devices sits on the right like the other buttons
  (Bootstrap floats an action button left)
- Overview: the quick settings rows are shallower, the theme's
  .cbi-value bottom margin is dropped and the padding tightened
- Overview: the "Invalid CAKE options can stop qosify starting." note
  is dropped from the quick settings Advanced tab

po/templates/qosify.pot regenerated with build/i18n-scan.pl.

Signed-off-by: Ash Clarke <clarkeaj@hotmail.co.uk>
2026-09-30 20:46:05 +03:00
Florian Eckert 07bca003c7 luci-app-strongswan-swanctl: rename subnet options to traffic selectors
Rename the 'local_subnet' and 'remote_subnet' options to 'local_ts' and
'remote_ts', and relabel them "Local Traffic Selectors" and "Remote
Traffic Selectors" respectively.

In swanctl.conf, these settings are defined as traffic selectors
(local_ts/remote_ts) rather than subnets. Traffic selectors are not
limited to a single subnet: they can hold multiple networks, and in
general they can be any CIDR range, or address range specifier. Using the
strongswan terminology makes the UI match the underlying configuration and
avoids confusion when users cross-reference the strongswan documentation.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 6cbaf78428 luci-app-strongswan-swanctl: add legacy ipsec config migration overlay
The strongswan-swanctl view now checks on load whether a legacy ipsec
configuration exists in '/etc/config/ipsec'. If no uci globals section is
present, a blocking overlay is shown on the connection page which offers
to run the command '/etc/init.d/swanctl migrate'.

While the migration is pending, the page action footer (Save & Apply,
Apply and Revert buttons) is disabled and the main content area is not
clickable, so that no changes can be made to the ipsec configuration
before the migration has finished. A successful migration reloads the page,
while a failed migration is reported with the option to retry.

If a legacy configuration can be found and to trigger the migration, the rpc
ACLs are extended with the need  permissions.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 8afbea7e0c luci-app-strongswan-swanctl: add secrets configuration tab
Add a new "Secrets Configuration" tab for the generic uci 'secret'
section type, which replaces the dedicated 'mschapv2_secrets' section.
The secret kind is selected via the 'type' option, defaulting to 'ike':

- eap, xauth, ntlm, ike, ppk: identity list and shared secret
- private, rsa, ecdsa, pkcs8, pkcs12: key file and passphrase
- token: handle, slot, module and pin

Register 'secret' in the shared section name validator so secret section
names cannot collide with sections of other types.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 43877a130c luci-app-strongswan-swanctl: add authority configuration tab
Add a new tab to the swanctl view for the 'authority' uci section type,
which generates 'authorities/*' entries in the swanctl.conf file.

This adds the option to configure the CA certificate, the base URI for
the hash and URL feature and the CRL and OCSP responder URIs.

The name validation is extended so that authority sections cannot share
the same name as other section types.

This is needed to sync with the authority section handling added to
'etc/init.d/swanctl'.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert a369201287 luci-app-strongswan-swanctl: add shunt configuration tab
Add a new uci shunt section type for pass | drop policies, independent of
remote connections. The uci support for this feature has already been
added to the strongswan package, this change adds the matching
configuration to LuCI.

New supported options:
* mode (pass/drop)
* local_ts
* remote_ts
* priority
* interface

This change also adds a new general page for general configurations that are
not specific to connections or services. The 'shunt' is a general
configuration that is part of the overall configuration.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert feb030fb7d luci-app-strongswan-swanctl: add local and remote configuration tabs
This syncs the LuCI strongswan configuration with the swanctl initscript
change that moved the local and remote authentication options into their
own uci sections, referenced from the connection via the 'list local' and
'list remote' options. This allows modelling of multiple IKEv2
authentication rounds.

Add new 'local' and 'remote' GridSection tabs with the options moved out
of the connection section:
- local: auth, id, certs, key
- remote: auth, id, cacerts, eap_id

The connection section now references the created sections through new
'Local Authentication' and 'Remote Authentication' options. The obsolete
flat options (authentication_method, local_identifier, local_cert,
local_key, remote_identifier, remote_ca_certs) are removed.

The section name validation is extended so that local and remote sections
cannot share names with other section types.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 4a672972a9 luci-app-strongswan-swanctl: migrate section remote to connection
This change aligns LuCI ipsec strongswan configuration with the current
swanctl initscript implementation by migrating the section type
'remote' to section type 'connection'.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert ae7940cf76 luci-app-strongswan-swanctl: migrate section tunnel and transport to child
This change aligns LuCI ipsec strongswan configuration with the current
swanctl initscript implementation by migrating the section type
'tunnel' and 'transport to section type 'child'.

To allow the mode used by the ‘child’ to be specified, the new ucioption
‘mode’ has also been added for the uci section type ‘child’.

Currently, only the ‘transport’ and 'tunnel' modes are supported.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 76d4ed1ced luci-app-strongswan-swanctl: rename dpddelay to dpd_delay in remote
Rename the 'dpddelay' option to 'dpd_delay' in the uci section type
'remote' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert c9d505f9be luci-app-strongswan-swanctl: rename overtime to over_time in remote
Rename the 'overtime' option to 'over_time' in the uci section type
'remote' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert c1db5e86c3 luci-app-strongswan-swanctl: rename rekeytime to rekey_time in remote
Rename the 'rekeytime' option to 'rekey_time' in the uci section type
'remote' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 85e3ff2942 luci-app-strongswan-swanctl: rename lifepackets to life_packets in child
Rename the 'lifepackets' option to 'life_packets' in the uci section type
'child' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 76907027b2 luci-app-strongswan-swanctl: rename rekeypackets to rekey_packets in child
Rename the 'rekeypackets' option to 'rekey_packets' in the uci section type
'child' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert aff3c4c3af luci-app-strongswan-swanctl: rename lifebytes to life_bytes in child
Rename the 'lifebytes' option to 'life_bytes' in the uci section type
'child' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 7bfb15588b luci-app-strongswan-swanctl: rename rekeybytes to rekey_bytes in child
Rename the 'rekeybytes' option to 'rekey_bytes' in the uci section type
'child' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert ce223dac60 luci-app-strongswan-swanctl: rename lifetime to life_time in child
Rename the 'lifetime' option to 'life_time' in the uci section type
'child' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 528e83e3ec luci-app-strongswan-swanctl: rename rekeytime to rekey_time in child
Rename the 'rekeytime' option to 'rekey_time' in the uci section type
'child' to follow the naming convention and improve consistency with
'swanctl.conf' terminology.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 839c42b347 luci-app-strongswan-swanctl: rename startaction to start_action
Update form field to match the renamed 'start_action' uci option. An empty
field now defaults to 'none', matching the 'swanctl.conf'. An empty
value is also not stored in the uci. While we are at it also make this vaule
optional.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert df57ae26f2 luci-app-strongswan-swanctl: rename closeaction to close_action
Update form field to match the renamed 'close_action' uci option. An empty
field now defaults to 'none', matching the 'swanctl.conf'. An empty
value is also not stored in the uci.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 12f6888abc luci-app-strongswan-swanctl: rename dpdaction to dpd_action, drop "none"
Update form field to match the renamed 'dpd_action' uci option.
Remove the 'none' choice from the dropdown, since it has no swanctl
equivalent and is no longer accepted by the backend. If nothing is
specified, 'clear' is used by default in strongswan. Therefore, this is
not included in the configuration.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 0260cfbeb5 luci-app-strongswan-swanctl: create default named sections on load
Ensure the globals, syslog and netlink named sections exist in
'/etc/config/ipsec' when the view is loaded, creating them via uci.add()
if missing and saving the config. Without these named sections present,
the corresponding configuration options cannot be edited/configured in the UI.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert e3ce8d5441 luci-app-strongswan-swanctl: add install_routes_xfrmi option
Add support for the 'kernel-netlink' plugin option 'install_routes_xfrmi'
to 'luci-app-strongswan-swanctl'.

When enabled, charon installs routes for all XFRM interfaces based on the
traffic selectors of installed IPsec SAs, which is required for route-based
VPN setups using XFRM interfaces.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 9f120ba8fe luci-app-strongswan-swanctl: add support for custom_proposal configuration
This commit adds a new checkbox and input field in the LuCI interface,
allowing users to enable and define a custom IKE/IPsec proposal.

- Added a toggle for `custom_proposal` in the 'crypto_proposal' section.
- Added a text input field for the proposal string (visible only when enabled)
- Included a warning in the help text about potential risks and lack of
  upgrade support

This enables advanced users to manually configure proposals directly
from the LuCI web interface, improving flexibility for specialized setups.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert c35ea05c08 luci-app-strongswan-swanctl: sync debug option with swanctl init
Add the 'syslog' option to bring the LuCI configuration model back
in sync with 'swanctl.init', which already supports configuring
syslog output.

Remove the 'debug' option from the 'globals' section, as it no
longer has any effect and is not evaluated by 'swanctl.init' anymore.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00
Florian Eckert 242ba6ae6e luci-app-strongswan-swanctl: remove 15 char section name limit
The 'swanctl.conf' does not impose any length restriction on connection
and children (section) names. They are plain strings parsed by strongswan
config parser without a fixed-size buffer.

Likewise, uci does not enforce a maximum length for named sections.
libuci's uci_validate_str() only restricts the allowed character set
(alphanumeric and underscore, for shell compatibility) and allocates
section names dynamically via strdup(), so there is no built-in
buffer size that would truncate or reject longer names.

The previous 15-character cap therefore had no basis in either
'swanctl.conf' or uci itself and can be dropped without risking
truncation, parsing errors, or incompatibility.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2026-09-30 11:58:57 +02:00