Files
luci/applications/luci-app-rustdesk-server
Hosted Weblate 900adb48cb Translated using Weblate (Ukrainian)
Currently translated at 100.0% (45 of 45 strings)

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

Translated using Weblate (Ukrainian)

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

Currently translated at 84.8% (252 of 297 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (164 of 164 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 70.1% (179 of 255 strings)

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

Translated using Weblate (Ukrainian)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (192 of 192 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (183 of 183 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 67.9% (55 of 81 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 83.5% (71 of 85 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (37 of 37 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (173 of 173 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 75.7% (125 of 165 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (514 of 514 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 98.9% (196 of 198 strings)

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

Translated using Weblate (Korean)

Currently translated at 74.1% (46 of 62 strings)

Translated using Weblate (German)

Currently translated at 100.0% (198 of 198 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 76.2% (125 of 164 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 83.3% (90 of 108 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 61.7% (42 of 68 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 98.8% (266 of 269 strings)

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

Translated using Weblate (Korean)

Currently translated at 61.0% (36 of 59 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 51.6% (78 of 151 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 99.2% (267 of 269 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 94.4% (187 of 198 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (72 of 72 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 98.9% (294 of 297 strings)

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

Translated using Weblate (Korean)

Currently translated at 85.8% (2595 of 3022 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% (46 of 46 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (45 of 45 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 77.7% (126 of 162 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 86.2% (232 of 269 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 95.7% (157 of 164 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 84.5% (251 of 297 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (178 of 178 strings)

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

Translated using Weblate (Lithuanian)

Currently translated at 57.9% (298 of 514 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 94.4% (118 of 125 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (31 of 31 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 85.3% (193 of 226 strings)

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

Translated using Weblate (Korean)

Currently translated at 62.4% (103 of 165 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 94.9% (94 of 99 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 100.0% (297 of 297 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (80 of 80 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (297 of 297 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (198 of 198 strings)

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

Translated using Weblate (Arabic)

Currently translated at 2.5% (3 of 119 strings)

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

Translated using Weblate (Arabic)

Currently translated at 12.9% (16 of 124 strings)

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

Translated using Weblate (Korean)

Currently translated at 85.8% (2594 of 3022 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Arabic)

Currently translated at 75.0% (2268 of 3022 strings)

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

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

Currently translated at 100.0% (514 of 514 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (178 of 178 strings)

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

Translated using Weblate (Korean)

Currently translated at 47.1% (140 of 297 strings)

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

Translated using Weblate (Arabic)

Currently translated at 16.2% (6 of 37 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (198 of 198 strings)

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

Translated using Weblate (Arabic)

Currently translated at 43.2% (35 of 81 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (514 of 514 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (514 of 514 strings)

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

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

Currently translated at 90.6% (78 of 86 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (297 of 297 strings)

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

Translated using Weblate (Korean)

Currently translated at 49.4% (133 of 269 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (514 of 514 strings)

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

Translated using Weblate (Irish)

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

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

Translated using Weblate (Irish)

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Irish)

Currently translated at 100.0% (45 of 45 strings)

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

Translated using Weblate (Korean)

Currently translated at 43.2% (71 of 164 strings)

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

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Arabic)

Currently translated at 15.1% (5 of 33 strings)

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

Translated using Weblate (Arabic)

Currently translated at 13.6% (23 of 168 strings)

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

Translated using Weblate (Arabic)

Currently translated at 100.0% (25 of 25 strings)

Translated using Weblate (Irish)

Currently translated at 100.0% (183 of 183 strings)

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

Translated using Weblate (Arabic)

Currently translated at 33.3% (24 of 72 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (173 of 173 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 33.0% (170 of 514 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (514 of 514 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (124 of 124 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.2% (170 of 173 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (297 of 297 strings)

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

Translated using Weblate (Spanish)

Currently translated at 86.5% (142 of 164 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 4.4% (3 of 68 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 66.2% (53 of 80 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 8.6% (14 of 162 strings)

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

Translated using Weblate (Spanish)

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (422 of 422 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (113 of 113 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (269 of 269 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (3016 of 3022 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (269 of 269 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Ukrainian)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (119 of 119 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (113 of 113 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (62 of 62 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (198 of 198 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 17.6% (21 of 119 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (269 of 269 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (422 of 422 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.6% (296 of 297 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (37 of 37 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (99 of 99 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (164 of 164 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (198 of 198 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (514 of 514 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 13.3% (15 of 112 strings)

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

Translated using Weblate (Ukrainian)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (164 of 164 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 99.8% (3016 of 3022 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (297 of 297 strings)

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

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (17 of 17 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (3022 of 3022 strings)

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

Translated using Weblate (Polish)

Currently translated at 100.0% (173 of 173 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (3016 of 3016 strings)

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

Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: Džiugas Januševičius <dziugas1959@hotmail.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: Nowar Hashem <nawar.oji@gmail.com>
Co-authored-by: Volenski <volenski@users.noreply.hosted.weblate.org>
Co-authored-by: ZW <roc_fe@users.noreply.hosted.weblate.org>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: 為什麼不加空格 <c++23@users.noreply.hosted.weblate.org>
Signed-off-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>
Signed-off-by: Dan <jonweblin2205@protonmail.com>
Signed-off-by: Džiugas Januševičius <dziugas1959@hotmail.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: Nowar Hashem <nawar.oji@gmail.com>
Signed-off-by: Volenski <volenski@users.noreply.hosted.weblate.org>
Signed-off-by: ZW <roc_fe@users.noreply.hosted.weblate.org>
Signed-off-by: ssantos <ssantos@web.de>
Signed-off-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Signed-off-by: 為什麼不加空格 <c++23@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscommands/ar/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/ko/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationscoovachilli/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsnut/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsstatistics/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsuhttpd/ga/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsuhttpd/ko/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationsuhttpd/uk/
Translate-URL: https://hosted.weblate.org/projects/openwrt/luciapplicationswol/pt/
Translation: OpenWrt/LuCI/applications/commands
Translation: OpenWrt/LuCI/applications/coovachilli
Translation: OpenWrt/LuCI/applications/nut
Translation: OpenWrt/LuCI/applications/statistics
Translation: OpenWrt/LuCI/applications/uhttpd
Translation: OpenWrt/LuCI/applications/wol
2026-05-21 08:06:26 +03:00
..
2026-05-21 08:06:26 +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