feat: signed customization client-side hooks
Companion to the rustdesk-server Customization admin page that produces signed custom.txt blobs. - src/common.rs: replaces the hardcoded branding pubkey with a build-time RUSTDESK_BRANDING_PUBKEY env (option_env!), falling back to the operator's primary pubkey so unattended builds still produce a working client. Per-customer keys can be baked in via CI without source edits. - flutter/lib/common.dart: adds getAppIconBytes() (cached, base64 decoded once) and patches loadLogo / loadIcon to honor the buildin app-icon. This covers every existing call-site — desktop home page, server page, tabbar, and mobile settings — without touching any of them. OPTION_APP_ICON itself ships in the hbb_common submodule (already bumped in the previous commit). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Generated
+127
-91
@@ -312,9 +312,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "arc-swap"
|
||||
version = "1.7.1"
|
||||
version = "1.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
|
||||
checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207"
|
||||
dependencies = [
|
||||
"rustversion",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arrayref"
|
||||
@@ -357,7 +360,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
"synstructure",
|
||||
]
|
||||
@@ -369,7 +372,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -522,7 +525,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -557,7 +560,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -614,7 +617,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -703,7 +706,7 @@ dependencies = [
|
||||
"log",
|
||||
"peeking_take_while",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"regex",
|
||||
"rustc-hash 1.1.0",
|
||||
"shlex",
|
||||
@@ -725,7 +728,7 @@ dependencies = [
|
||||
"peeking_take_while",
|
||||
"prettyplease",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"regex",
|
||||
"rustc-hash 1.1.0",
|
||||
"shlex",
|
||||
@@ -746,7 +749,7 @@ dependencies = [
|
||||
"lazy_static",
|
||||
"lazycell",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"regex",
|
||||
"rustc-hash 1.1.0",
|
||||
"shlex",
|
||||
@@ -764,7 +767,7 @@ dependencies = [
|
||||
"clang-sys",
|
||||
"itertools 0.12.1",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"regex",
|
||||
"rustc-hash 2.1.1",
|
||||
"shlex",
|
||||
@@ -798,7 +801,7 @@ version = "2.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "afb15541e888071f64592c0b4364fdff21b7cb0a247f984296699351963a8721"
|
||||
dependencies = [
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -947,7 +950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -1046,9 +1049,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "calloop"
|
||||
version = "0.14.3"
|
||||
version = "0.14.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cb9f6e1368bd4621d2c86baa7e37de77a938adf5221e5dd3d6133340101b309e"
|
||||
checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7"
|
||||
dependencies = [
|
||||
"bitflags 2.9.1",
|
||||
"polling 3.7.2",
|
||||
@@ -1075,7 +1078,7 @@ version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa"
|
||||
dependencies = [
|
||||
"calloop 0.14.3",
|
||||
"calloop 0.14.4",
|
||||
"rustix 1.1.2",
|
||||
"wayland-backend",
|
||||
"wayland-client",
|
||||
@@ -1523,7 +1526,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"unicode-xid 0.2.4",
|
||||
]
|
||||
|
||||
@@ -1918,7 +1921,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -2079,9 +2082,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "data-encoding"
|
||||
version = "2.9.0"
|
||||
version = "2.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
|
||||
checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"
|
||||
|
||||
[[package]]
|
||||
name = "dbus"
|
||||
@@ -2177,7 +2180,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -2319,7 +2322,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -2363,7 +2366,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3a09ac8bb8c16a282264c379dffba707b9c998afc7506009137f3c6136888078"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -2600,7 +2603,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -2621,15 +2624,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "env_filter"
|
||||
version = "0.1.3"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
|
||||
checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f"
|
||||
dependencies = [
|
||||
"log",
|
||||
"regex",
|
||||
@@ -2660,14 +2663,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "env_logger"
|
||||
version = "0.11.6"
|
||||
version = "0.11.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0"
|
||||
checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
"env_filter",
|
||||
"humantime",
|
||||
"jiff",
|
||||
"log",
|
||||
]
|
||||
|
||||
@@ -2694,7 +2697,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2981,7 +2984,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -3148,7 +3151,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -3450,7 +3453,7 @@ dependencies = [
|
||||
"proc-macro-crate 0.1.5",
|
||||
"proc-macro-error",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -3464,7 +3467,7 @@ dependencies = [
|
||||
"proc-macro-crate 2.0.2",
|
||||
"proc-macro-error",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -3708,7 +3711,7 @@ dependencies = [
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro-error",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -3759,7 +3762,7 @@ dependencies = [
|
||||
"directories-next",
|
||||
"dirs-next",
|
||||
"dlopen",
|
||||
"env_logger 0.11.6",
|
||||
"env_logger 0.11.9",
|
||||
"filetime",
|
||||
"flexi_logger",
|
||||
"futures",
|
||||
@@ -4129,7 +4132,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4291,6 +4294,30 @@ version = "1.0.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
|
||||
|
||||
[[package]]
|
||||
name = "jiff"
|
||||
version = "0.2.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d"
|
||||
dependencies = [
|
||||
"jiff-static",
|
||||
"log",
|
||||
"portable-atomic",
|
||||
"portable-atomic-util",
|
||||
"serde_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jiff-static"
|
||||
version = "0.2.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jni"
|
||||
version = "0.21.1"
|
||||
@@ -5267,7 +5294,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -5278,7 +5305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -5356,7 +5383,7 @@ checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
|
||||
dependencies = [
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -5368,7 +5395,7 @@ checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
|
||||
dependencies = [
|
||||
"proc-macro-crate 2.0.2",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -5778,7 +5805,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -5956,7 +5983,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c94f3b9b97df3c6d4e51a14916639b24e02c7d15d1dba686ce9b1118277cb811"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -6223,7 +6250,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -6362,9 +6389,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "portable-atomic"
|
||||
version = "1.11.1"
|
||||
version = "1.13.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
|
||||
checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
|
||||
|
||||
[[package]]
|
||||
name = "portable-atomic-util"
|
||||
version = "0.2.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618"
|
||||
dependencies = [
|
||||
"portable-atomic",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "portable-pty"
|
||||
@@ -6469,7 +6505,7 @@ checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
|
||||
dependencies = [
|
||||
"proc-macro-error-attr",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
"version_check",
|
||||
]
|
||||
@@ -6481,7 +6517,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
@@ -6673,7 +6709,7 @@ dependencies = [
|
||||
"once_cell",
|
||||
"socket2 0.5.10",
|
||||
"tracing",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.60.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -6687,9 +6723,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.36"
|
||||
version = "1.0.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
|
||||
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
]
|
||||
@@ -7457,7 +7493,7 @@ dependencies = [
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys 0.11.0",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -7514,7 +7550,7 @@ dependencies = [
|
||||
"security-framework 3.5.1",
|
||||
"security-framework-sys",
|
||||
"webpki-root-certs",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -7743,7 +7779,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -7777,7 +7813,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -8028,7 +8064,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0"
|
||||
dependencies = [
|
||||
"bitflags 2.9.1",
|
||||
"calloop 0.14.3",
|
||||
"calloop 0.14.4",
|
||||
"calloop-wayland-source 0.4.1",
|
||||
"cursor-icon",
|
||||
"libc",
|
||||
@@ -8208,7 +8244,7 @@ checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
|
||||
dependencies = [
|
||||
"heck 0.3.3",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -8220,7 +8256,7 @@ checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
|
||||
dependencies = [
|
||||
"heck 0.4.1",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"rustversion",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
@@ -8304,7 +8340,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
@@ -8315,7 +8351,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
@@ -8335,7 +8371,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -8467,7 +8503,7 @@ version = "0.1.2"
|
||||
source = "git+https://github.com/rustdesk-org/tao?branch=dev#288c219cb0527e509590c2b2d8e7072aa9feb2d3"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -8602,7 +8638,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -8613,7 +8649,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -8770,7 +8806,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -8995,7 +9031,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -9059,7 +9095,7 @@ version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ebeb235c5847e2f82cfe0f07eb971d1e5f6804b18dac2ae16349cc604380f82f"
|
||||
dependencies = [
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -9284,9 +9320,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "unicase"
|
||||
version = "2.8.1"
|
||||
version = "2.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539"
|
||||
checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-bidi"
|
||||
@@ -9582,7 +9618,7 @@ dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
@@ -9606,7 +9642,7 @@ version = "0.2.100"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
|
||||
dependencies = [
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"wasm-bindgen-macro-support",
|
||||
]
|
||||
|
||||
@@ -9617,7 +9653,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
@@ -9752,7 +9788,7 @@ checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quick-xml 0.37.5",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -9805,9 +9841,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "webpki-root-certs"
|
||||
version = "1.0.3"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05d651ec480de84b762e7be71e6efa7461699c19d9e2c272c8d93455f567786e"
|
||||
checksum = "f31141ce3fc3e300ae89b78c0dd67f9708061d1d2eda54b8209346fd6be9a92c"
|
||||
dependencies = [
|
||||
"rustls-pki-types",
|
||||
]
|
||||
@@ -10019,11 +10055,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "whoami"
|
||||
version = "1.6.0"
|
||||
version = "1.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7"
|
||||
checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d"
|
||||
dependencies = [
|
||||
"redox_syscall 0.5.2",
|
||||
"libredox",
|
||||
"wasite",
|
||||
"web-sys",
|
||||
]
|
||||
@@ -10266,7 +10302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -10277,7 +10313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -10288,7 +10324,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -10299,7 +10335,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -11095,7 +11131,7 @@ checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5"
|
||||
dependencies = [
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"regex",
|
||||
"syn 1.0.109",
|
||||
"zvariant_utils",
|
||||
@@ -11138,7 +11174,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -11149,7 +11185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -11164,12 +11200,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "zeroize_derive"
|
||||
version = "1.4.2"
|
||||
version = "1.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
|
||||
checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
@@ -11271,7 +11307,7 @@ checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9"
|
||||
dependencies = [
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
"zvariant_utils",
|
||||
]
|
||||
@@ -11283,6 +11319,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.93",
|
||||
"quote 1.0.36",
|
||||
"quote 1.0.45",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
@@ -3702,8 +3702,35 @@ Widget loadPowered(BuildContext context) {
|
||||
).marginOnly(top: 6);
|
||||
}
|
||||
|
||||
// Cached decoded `app-icon` bytes from the signed custom.txt blob. The blob
|
||||
// stores the image as standard base64 under the buildin key "app-icon"; we
|
||||
// decode once on first read and reuse the bytes for every Image.memory call
|
||||
// below. Empty Uint8List means "no custom icon" and we fall through to the
|
||||
// bundled assets.
|
||||
Uint8List? _appIconBytes;
|
||||
bool _appIconChecked = false;
|
||||
Uint8List? getAppIconBytes() {
|
||||
if (_appIconChecked) return _appIconBytes;
|
||||
_appIconChecked = true;
|
||||
final b64 = bind.mainGetBuildinOption(key: 'app-icon');
|
||||
if (b64.isEmpty) return null;
|
||||
try {
|
||||
_appIconBytes = base64.decode(b64);
|
||||
} catch (_) {
|
||||
_appIconBytes = null;
|
||||
}
|
||||
return _appIconBytes;
|
||||
}
|
||||
|
||||
// max 300 x 60
|
||||
Widget loadLogo() {
|
||||
final custom = getAppIconBytes();
|
||||
if (custom != null) {
|
||||
return Container(
|
||||
constraints: BoxConstraints(maxWidth: 300, maxHeight: 60),
|
||||
child: Image.memory(custom, fit: BoxFit.contain),
|
||||
).marginOnly(left: 12, right: 12, top: 12);
|
||||
}
|
||||
return FutureBuilder<ByteData>(
|
||||
future: rootBundle.load('assets/logo.png'),
|
||||
builder: (BuildContext context, AsyncSnapshot<ByteData> snapshot) {
|
||||
@@ -3725,6 +3752,10 @@ Widget loadLogo() {
|
||||
}
|
||||
|
||||
Widget loadIcon(double size) {
|
||||
final custom = getAppIconBytes();
|
||||
if (custom != null) {
|
||||
return Image.memory(custom, width: size, height: size, fit: BoxFit.contain);
|
||||
}
|
||||
return Image.asset('assets/icon.png',
|
||||
width: size,
|
||||
height: size,
|
||||
|
||||
+8
-1
@@ -2184,7 +2184,14 @@ pub fn read_custom_client(config: &str) {
|
||||
log::error!("Failed to decode custom client config");
|
||||
return;
|
||||
};
|
||||
const KEY: &str = "5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=";
|
||||
// Bake the branding public key in at build time:
|
||||
// RUSTDESK_BRANDING_PUBKEY=$(cat branding_ed25519.pub) cargo build --release
|
||||
// Default falls back to the operator's primary branding pubkey so
|
||||
// unattended builds still produce a working client.
|
||||
const KEY: &str = match option_env!("RUSTDESK_BRANDING_PUBKEY") {
|
||||
Some(k) => k,
|
||||
None => "o8oOwMOzG/h3x/mDOeBcxQUBTxEQTQSQ/3gTe+K7RME=",
|
||||
};
|
||||
let Some(pk) = get_rs_pk(KEY) else {
|
||||
log::error!("Failed to parse public key of custom client");
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user