Files
luci/applications/luci-app-rustdesk-server
Hosted Weblate 00c1a0a921 Translated using Weblate (Korean)
Currently translated at 82.3% (2481 of 3012 strings)

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

Translated using Weblate (Korean)

Currently translated at 47.7% (21 of 44 strings)

Translated using Weblate (Korean)

Currently translated at 60.1% (121 of 201 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (282 of 282 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 97.6% (164 of 168 strings)

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

Translated using Weblate (Italian)

Currently translated at 100.0% (16 of 16 strings)

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

Translated using Weblate (Italian)

Currently translated at 100.0% (31 of 31 strings)

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

Translated using Weblate (Italian)

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/it/

Translated using Weblate (Italian)

Currently translated at 23.4% (46 of 196 strings)

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

Translated using Weblate (Italian)

Currently translated at 100.0% (66 of 66 strings)

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

Translated using Weblate (Italian)

Currently translated at 100.0% (16 of 16 strings)

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

Translated using Weblate (Italian)

Currently translated at 98.9% (195 of 197 strings)

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

Translated using Weblate (Italian)

Currently translated at 100.0% (64 of 64 strings)

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

Translated using Weblate (Italian)

Currently translated at 40.7% (104 of 255 strings)

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

Translated using Weblate (Italian)

Currently translated at 100.0% (17 of 17 strings)

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

Translated using Weblate (Korean)

Currently translated at 82.3% (2481 of 3012 strings)

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

Translated using Weblate (Portuguese)

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/pt/

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 98.4% (193 of 196 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 96.3% (186 of 193 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (184 of 184 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 98.2% (2958 of 3012 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 98.9% (182 of 184 strings)

Translated using Weblate (German)

Currently translated at 100.0% (193 of 193 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 95.0% (191 of 201 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (102 of 102 strings)

Translated using Weblate (Portuguese)

Currently translated at 78.3% (177 of 226 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (255 of 255 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 7.8% (20 of 255 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 99.2% (138 of 139 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 98.6% (74 of 75 strings)

Translated using Weblate (Portuguese)

Currently translated at 61.2% (112 of 183 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

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

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

Translated using Weblate (Irish)

Currently translated at 100.0% (151 of 151 strings)

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

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

Currently translated at 100.0% (292 of 292 strings)

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

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 (Chinese (Simplified Han script))

Currently translated at 100.0% (44 of 44 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (226 of 226 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (226 of 226 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 98.2% (2959 of 3012 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% (151 of 151 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (255 of 255 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 85.2% (249 of 292 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (265 of 265 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% (3012 of 3012 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 69.0% (176 of 255 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 83.6% (189 of 226 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (151 of 151 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 84.9% (225 of 265 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 50.9% (77 of 151 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (226 of 226 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (422 of 422 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (113 of 113 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (3012 of 3012 strings)

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

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

Currently translated at 100.0% (147 of 147 strings)

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

Translated using Weblate (Spanish)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (68 of 68 strings)

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

Translated using Weblate (Polish)

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

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (292 of 292 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (165 of 165 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (255 of 255 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (40 of 40 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (282 of 282 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (124 of 124 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (151 of 151 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (124 of 124 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (75 of 75 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (13 of 13 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (21 of 21 strings)

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

Translated using Weblate (Spanish)

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/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (44 of 44 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (153 of 153 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (503 of 503 strings)

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

Translated using Weblate (Russian)

Currently translated at 97.2% (284 of 292 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (91 of 91 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (108 of 108 strings)

Translation: OpenWrt/LuCI/applications/rustdesk-server
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsrustdesk-server/es/

Translated using Weblate (Spanish)

Currently translated at 100.0% (40 of 40 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (47 of 47 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (113 of 113 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (28 of 28 strings)

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

Translated using Weblate (Russian)

Currently translated at 100.0% (255 of 255 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (31 of 31 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (102 of 102 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (99 of 99 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (168 of 168 strings)

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

Translated using Weblate (Spanish)

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

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (46 of 46 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (178 of 178 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (184 of 184 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (151 of 151 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (90 of 90 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (503 of 503 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (77 of 77 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (172 of 172 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (75 of 75 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (226 of 226 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (201 of 201 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (282 of 282 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (44 of 44 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Spanish)

Currently translated at 99.9% (3009 of 3012 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (37 of 37 strings)

Translated using Weblate (Spanish)

Currently translated at 99.6% (254 of 255 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (198 of 198 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (422 of 422 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (503 of 503 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (255 of 255 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (265 of 265 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (3012 of 3012 strings)

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

Translated using Weblate (Polish)

Currently translated at 99.5% (225 of 226 strings)

Translation: OpenWrt/LuCI/applications/adblock-fast
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsadblock-fast/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/

Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Franco Castillo <castillofrancodamian@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hyeonjeong Lee <h9101654@gmail.com>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Co-authored-by: Piotr Kołtun <pkoltungm@gmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org>
Co-authored-by: UDP <udp@users.noreply.hosted.weblate.org>
Co-authored-by: nKsyn <e.nksyn@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Signed-off-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
Signed-off-by: Hyeonjeong Lee <h9101654@gmail.com>
Signed-off-by: Matthaiks <kitynska@gmail.com>
Signed-off-by: Piotr Kołtun <pkoltungm@gmail.com>
Signed-off-by: Random <random-r@users.noreply.hosted.weblate.org>
Signed-off-by: SnIPeRSnIPeR <snipersniper@users.noreply.hosted.weblate.org>
Signed-off-by: UDP <udp@users.noreply.hosted.weblate.org>
Signed-off-by: nKsyn <e.nksyn@gmail.com>
Signed-off-by: ssantos <ssantos@web.de>
Signed-off-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsantiblock/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfirewall/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfwknopd/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfwknopd/ko/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsfwknopd/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/pt/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/de/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsolsr/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsp910nd/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstinyproxy/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationstransmission/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/es/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/pl/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswatchcat/zh_Hant/
Translation: OpenWrt/LuCI/applications/antiblock
Translation: OpenWrt/LuCI/applications/coovachilli
Translation: OpenWrt/LuCI/applications/firewall
Translation: OpenWrt/LuCI/applications/fwknopd
Translation: OpenWrt/LuCI/applications/nut
Translation: OpenWrt/LuCI/applications/olsr
Translation: OpenWrt/LuCI/applications/p910nd
Translation: OpenWrt/LuCI/applications/statistics
Translation: OpenWrt/LuCI/applications/tinyproxy
Translation: OpenWrt/LuCI/applications/transmission
Translation: OpenWrt/LuCI/applications/watchcat
2026-04-01 19:10:22 +03:00
..
2026-04-01 19:10:22 +03:00

luci-app-rustdesk-server

LuCI web interface for managing RustDesk Server on OpenWrt.

RustDesk is a full-featured open source remote control alternative to TeamViewer and AnyDesk. This LuCI application provides a web-based interface to configure and manage the self-hosted RustDesk server components (hbbs and hbbr) on OpenWrt routers.

Features

  • Service Management - Start/Stop/Restart services directly from the UI
  • Boot Enable/Disable - Toggle service startup at boot
  • Status Monitoring - Real-time status of HBBS and HBBR services with live polling
  • Public Key Display - View and copy the generated public key for client configuration
  • Key Regeneration - Regenerate encryption keys when needed
  • Log Viewer - View service logs with auto-refresh and auto-scroll features
  • Firewall Hints - Displays required ports for manual firewall configuration
  • Tabbed Configuration - Organized settings for ID Server (hbbs) and Relay Server (hbbr)
  • Input Validation - Validates paths, ports, and configuration values
  • i18n Ready - Full translation support with POT template

Architecture

luci-app-rustdesk-server/
├── Makefile                      # OpenWrt package build file
├── htdocs/luci-static/resources/view/rustdesk-server/
│   └── general.js                # Main UI view (JavaScript)
├── po/templates/
│   └── rustdesk-server.pot       # Translation template
└── root/
    ├── etc/
    │   ├── config/rustdesk-server        # UCI configuration
    │   ├── init.d/rustdesk-server        # procd init script
    │   └── uci-defaults/50-luci-rustdesk-server  # First-run setup
    └── usr/share/
        ├── luci/menu.d/luci-app-rustdesk-server.json  # Menu entry
        └── rpcd/
            ├── acl.d/luci-app-rustdesk-server.json    # ACL permissions
            └── ucode/rustdesk-server.uc               # RPC backend

Requirements

OpenWrt Dependencies

  • OpenWrt 23.05 or later with LuCI installed
  • luci-base - LuCI core framework
  • rpcd - RPC daemon
  • rpcd-mod-ucode - ucode support for rpcd

RustDesk Server Binaries

The RustDesk server binaries (hbbs, hbbr) must be installed separately. They are not included in this package.

Installing RustDesk Server Binaries

  1. Download from GitHub Releases:

    # Check your architecture
    uname -m
    
    # Download appropriate binaries from:
    # https://github.com/rustdesk/rustdesk-server/releases
    
    # Example for aarch64:
    wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11/rustdesk-server-linux-arm64v8.zip
    unzip rustdesk-server-linux-arm64v8.zip
    cp amd64/hbbs amd64/hbbr /usr/bin/
    chmod +x /usr/bin/hbbs /usr/bin/hbbr
    
  2. Or build from source:

    # See https://github.com/rustdesk/rustdesk-server for build instructions
    
  3. Verify installation:

    /usr/bin/hbbs --version
    /usr/bin/hbbr --version
    

Installation

From OpenWrt Package Repository

opkg update
opkg install luci-app-rustdesk-server

From Source (Development)

# Clone the LuCI repository
git clone https://github.com/openwrt/luci.git
cd luci

# Build the package
make package/luci-app-rustdesk-server/compile

Manual Installation

  1. Copy the application files to your OpenWrt device:

    # Copy htdocs to /www
    cp -r htdocs/luci-static /www/luci-static/
    
    # Copy root files
    cp -r root/* /
    
    # Set permissions
    chmod +x /etc/init.d/rustdesk-server
    
  2. Reload rpcd to register the new RPC methods:

    /etc/init.d/rpcd reload
    
  3. Clear LuCI cache:

    rm -rf /tmp/luci-*
    
  4. Access the interface at: Services → RustDesk Server

Configuration

Binary Location

The application expects hbbs and hbbr binaries to be installed in /usr/bin.

Firewall Configuration

Firewall rules must be configured manually in Network → Firewall → Traffic Rules. The application displays the required ports in the Service Status section.

The standard RustDesk port layout is:

Port Protocol Service Calculation
HBBS-1 TCP NAT type test server_port - 1
HBBS TCP/UDP ID server / Hole punching server_port
HBBS+2 TCP Web client support server_port + 2
HBBR TCP Relay server relay_port
HBBR+2 TCP Web client support relay_port + 2

Example: With default ports (server_port=21116 and relay_port=21117):

  • TCP ports: 21115, 21116, 21117, 21118, 21119
  • UDP port: 21116

Logging

Enable logging in General settings to write service output to /var/log/rustdesk-server.log. View logs in real-time using the Logs tab.

Database Location

The database is stored in /tmp/rustdesk_db_v2.sqlite3. This is a non-persistent location and will be cleared on reboot. This is intentional for embedded systems like OpenWrt where persistent storage may be limited.

Client Configuration

After starting the service:

  1. Go to the LuCI interface and note your router's IP address
  2. Copy the Public Key from the Service Status section
  3. In RustDesk client settings, configure:
    • ID Server: Your router's IP:21116 (or custom port if configured)
    • Relay Server: Your router's IP:21117 (or custom port if configured)
    • Key: The public key from step 2

UCI Configuration Reference

The configuration is stored in /etc/config/rustdesk-server:

config rustdesk-server
    option enabled '1'              # Enable ID server (hbbs)
    option enabled_relay '1'        # Enable Relay server (hbbr)
    
    # HBBS options
    option server_port '21116'      # ID server port
    option server_key ''            # Custom key (optional)
    
    # HBBR options  
    option relay_port '21117'       # Relay server port
    
    # Environment variables
    option server_env_rust_log 'info'

Files

Path Description
/etc/config/rustdesk-server UCI configuration file
/etc/init.d/rustdesk-server procd init script
/etc/rustdesk/ Key storage directory
/etc/rustdesk/id_ed25519.pub Public key (auto-generated)
/var/log/rustdesk-server.log Service log file (when enabled)
/usr/share/rpcd/ucode/rustdesk-server.uc RPC backend
/usr/share/luci/menu.d/luci-app-rustdesk-server.json Menu entry
/usr/share/rpcd/acl.d/luci-app-rustdesk-server.json ACL permissions

Troubleshooting

Service won't start

  1. Check binaries exist:
    ls -la /usr/bin/hbbs /usr/bin/hbbr
    
  2. Verify binaries are executable:
    chmod +x /usr/bin/hbbs /usr/bin/hbbr
    
  3. Check system log:
    logread | grep rustdesk-server
    
  4. Verify at least one server is enabled in the configuration

Key not generated

The public key (id_ed25519.pub) is generated automatically when HBBS starts for the first time. If missing:

  1. Ensure the key directory exists: mkdir -p /etc/rustdesk
  2. Start the service and wait a few seconds
  3. Check if key was created: cat /etc/rustdesk/id_ed25519.pub

Firewall / Connection issues

  1. Verify firewall rules are configured in Network → Firewall → Traffic Rules
  2. Check that required ports are open (TCP: 21115-21119, UDP: 21116)
  3. Reload firewall:
    /etc/init.d/firewall reload
    
  4. Verify the service is running:
    pidof hbbs hbbr
    
  5. Check if ports are listening:
    netstat -tlnp | grep -E '2111[5-9]'
    
  6. Test connectivity from client:
    nc -zv <router-ip> 21116
    

RPC errors in browser console

  1. Reload rpcd:
    /etc/init.d/rpcd reload
    
  2. Clear LuCI cache:
    rm -rf /tmp/luci-*
    

Development

Building Translations

# Scan for translatable strings
./build/i18n-scan.pl applications/luci-app-rustdesk-server > applications/luci-app-rustdesk-server/po/templates/rustdesk-server.pot

# Update existing translations
./build/i18n-update.pl applications/luci-app-rustdesk-server

Testing Changes

  1. Make changes to files
  2. Copy to device and reload rpcd
  3. Clear browser cache and LuCI cache
  4. Refresh the page

Security Considerations

This application implements multiple layers of input validation and sanitization to prevent shell injection attacks:

Frontend Validation (JavaScript)

All user inputs are validated before being saved to UCI configuration:

Field Type Validation
Ports Numeric only, range 1-65535, supports ranges and comma-separated lists
CIDR masks Strict IP/prefix format validation
Keys Alphanumeric and base64 characters only (A-Za-z0-9+/=)
URLs Must start with http:// or https://, no shell metacharacters
Paths Must start with /, no shell metacharacters (`;
Server lists Alphanumeric, dots, colons, commas, hyphens, underscores only
Numeric fields Use LuCI's built-in uinteger datatype

Backend Validation (Init Script)

The init script (/etc/init.d/rustdesk-server) includes comprehensive validation functions that re-validate all configuration values before using them in shell commands:

  • validate_numeric() - Ensures values contain only digits
  • validate_port() - Validates port range (1-65535)
  • validate_path() - Checks for shell metacharacters and requires leading /
  • validate_url() - Validates URL format and rejects dangerous characters
  • validate_key() - Allows only base64-safe characters
  • validate_server_list() - Allows only hostname/IP-safe characters
  • validate_cidr() - Allows only digits, dots, and slash
  • validate_log_level() - Whitelist of valid log levels

Invalid values are rejected and logged with warnings to syslog.

RPC Backend Validation (ucode)

The RPC backend (rustdesk-server.uc) validates:

  • service_action: Whitelist of allowed actions (start, stop, restart, reload, enable, disable)
  • get_log lines parameter: Clamped to range 10-1000