Cargo.toml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. [package]
  2. name = "rustdesk"
  3. version = "1.3.3"
  4. authors = ["rustdesk <info@rustdesk.com>"]
  5. edition = "2021"
  6. build= "build.rs"
  7. description = "RustDesk Remote Desktop"
  8. default-run = "rustdesk"
  9. rust-version = "1.75"
  10. [lib]
  11. name = "librustdesk"
  12. crate-type = ["cdylib", "staticlib", "rlib"]
  13. [[bin]]
  14. name = "naming"
  15. path = "src/naming.rs"
  16. [features]
  17. inline = []
  18. cli = []
  19. use_samplerate = ["samplerate"]
  20. use_rubato = ["rubato"]
  21. use_dasp = ["dasp"]
  22. flutter = ["flutter_rust_bridge"]
  23. default = ["use_dasp"]
  24. hwcodec = ["scrap/hwcodec"]
  25. vram = ["scrap/vram"]
  26. mediacodec = ["scrap/mediacodec"]
  27. plugin_framework = []
  28. linux-pkg-config = ["magnum-opus/linux-pkg-config", "scrap/linux-pkg-config"]
  29. unix-file-copy-paste = [
  30. "dep:x11-clipboard",
  31. "dep:x11rb",
  32. "dep:percent-encoding",
  33. "dep:once_cell",
  34. "clipboard/unix-file-copy-paste",
  35. ]
  36. # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  37. [dependencies]
  38. async-trait = "0.1"
  39. whoami = "1.5.0"
  40. scrap = { path = "libs/scrap", features = ["wayland"] }
  41. hbb_common = { path = "libs/hbb_common" }
  42. serde_derive = "1.0"
  43. serde = "1.0"
  44. serde_json = "1.0"
  45. serde_repr = "0.1"
  46. cfg-if = "1.0"
  47. lazy_static = "1.4"
  48. sha2 = "0.10"
  49. repng = "0.2"
  50. parity-tokio-ipc = { git = "https://github.com/rustdesk-org/parity-tokio-ipc" }
  51. magnum-opus = { git = "https://github.com/rustdesk-org/magnum-opus" }
  52. dasp = { version = "0.11", features = ["signal", "interpolate-linear", "interpolate"], optional = true }
  53. rubato = { version = "0.12", optional = true }
  54. samplerate = { version = "0.2", optional = true }
  55. uuid = { version = "1.3", features = ["v4"] }
  56. clap = "4.2"
  57. rpassword = "7.2"
  58. num_cpus = "1.15"
  59. bytes = { version = "1.4", features = ["serde"] }
  60. default-net = "0.14"
  61. wol-rs = "1.0"
  62. flutter_rust_bridge = { version = "=1.80", features = ["uuid"], optional = true}
  63. errno = "0.3"
  64. rdev = { git = "https://github.com/rustdesk-org/rdev" }
  65. url = { version = "2.3", features = ["serde"] }
  66. crossbeam-queue = "0.3"
  67. hex = "0.4"
  68. chrono = "0.4"
  69. cidr-utils = "0.5"
  70. libloading = "0.8"
  71. fon = "0.6"
  72. zip = "0.6"
  73. shutdown_hooks = "0.1"
  74. totp-rs = { version = "5.4", default-features = false, features = ["gen_secret", "otpauth"] }
  75. cpal = "0.15"
  76. ringbuf = "0.3"
  77. [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
  78. mac_address = "1.1"
  79. sciter-rs = { git = "https://github.com/open-trade/rust-sciter", branch = "dyn" }
  80. sys-locale = "0.3"
  81. enigo = { path = "libs/enigo", features = [ "with_serde" ] }
  82. clipboard = { path = "libs/clipboard" }
  83. ctrlc = "3.2"
  84. # arboard = { version = "3.4.0", features = ["wayland-data-control"] }
  85. arboard = { git = "https://github.com/rustdesk-org/arboard", features = ["wayland-data-control"] }
  86. clipboard-master = { git = "https://github.com/rustdesk-org/clipboard-master" }
  87. system_shutdown = "4.0"
  88. qrcode-generator = "4.1"
  89. [target.'cfg(target_os = "windows")'.dependencies]
  90. winapi = { version = "0.3", features = [
  91. "winuser",
  92. "wincrypt",
  93. "shellscalingapi",
  94. "pdh",
  95. "synchapi",
  96. "memoryapi",
  97. "shellapi",
  98. "devguid",
  99. "setupapi",
  100. "cguid",
  101. "cfgmgr32",
  102. "ioapiset",
  103. ] }
  104. winreg = "0.11"
  105. windows-service = "0.6"
  106. virtual_display = { path = "libs/virtual_display" }
  107. impersonate_system = { git = "https://github.com/rustdesk-org/impersonate-system" }
  108. shared_memory = "0.12"
  109. tauri-winrt-notification = "0.1.2"
  110. runas = "1.2"
  111. [target.'cfg(target_os = "macos")'.dependencies]
  112. objc = "0.2"
  113. cocoa = "0.24"
  114. dispatch = "0.2"
  115. core-foundation = "0.9"
  116. core-graphics = "0.22"
  117. include_dir = "0.7"
  118. fruitbasket = "0.10"
  119. objc_id = "0.1"
  120. [target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies]
  121. tray-icon = { git = "https://github.com/tauri-apps/tray-icon" }
  122. tao = { git = "https://github.com/rustdesk-org/tao", branch = "dev" }
  123. image = "0.24"
  124. [target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies]
  125. keepawake = { git = "https://github.com/rustdesk-org/keepawake-rs" }
  126. [target.'cfg(any(target_os = "windows", target_os = "linux"))'.dependencies]
  127. wallpaper = { git = "https://github.com/rustdesk-org/wallpaper.rs" }
  128. [target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies]
  129. # https://github.com/rustdesk/rustdesk-server-pro/issues/189, using native-tls for better tls support
  130. reqwest = { git = "https://github.com/rustdesk-org/reqwest", features = ["blocking", "socks", "json", "native-tls", "gzip"], default-features=false }
  131. [target.'cfg(not(any(target_os = "macos", target_os = "windows")))'.dependencies]
  132. reqwest = { git = "https://github.com/rustdesk-org/reqwest", features = ["blocking", "socks", "json", "rustls-tls", "rustls-tls-native-roots", "gzip"], default-features=false }
  133. [target.'cfg(target_os = "linux")'.dependencies]
  134. psimple = { package = "libpulse-simple-binding", version = "2.27" }
  135. pulse = { package = "libpulse-binding", version = "2.27" }
  136. rust-pulsectl = { git = "https://github.com/open-trade/pulsectl" }
  137. async-process = "1.7"
  138. evdev = { git="https://github.com/rustdesk-org/evdev" }
  139. dbus = "0.9"
  140. dbus-crossroads = "0.5"
  141. pam = { git="https://github.com/rustdesk-org/pam" }
  142. users = { version = "0.11" }
  143. x11-clipboard = {git="https://github.com/clslaid/x11-clipboard", branch = "feat/store-batch", optional = true}
  144. x11rb = {version = "0.12", features = ["all-extensions"], optional = true}
  145. percent-encoding = {version = "2.3", optional = true}
  146. once_cell = {version = "1.18", optional = true}
  147. nix = { version = "0.29", features = ["term", "process"]}
  148. gtk = "0.18"
  149. termios = "0.3"
  150. [target.'cfg(target_os = "android")'.dependencies]
  151. android_logger = "0.13"
  152. jni = "0.21"
  153. android-wakelock = { git = "https://github.com/rustdesk-org/android-wakelock" }
  154. [workspace]
  155. members = ["libs/scrap", "libs/hbb_common", "libs/enigo", "libs/clipboard", "libs/virtual_display", "libs/virtual_display/dylib", "libs/portable"]
  156. exclude = ["vdi/host", "examples/custom_plugin"]
  157. [package.metadata.winres]
  158. LegalCopyright = "Copyright © 2024 Purslane Ltd. All rights reserved."
  159. ProductName = "RustDesk"
  160. FileDescription = "RustDesk Remote Desktop"
  161. OriginalFilename = "rustdesk.exe"
  162. [target.'cfg(target_os="windows")'.build-dependencies]
  163. winres = "0.1"
  164. winapi = { version = "0.3", features = [ "winnt", "pdh", "synchapi" ] }
  165. [build-dependencies]
  166. cc = "1.0"
  167. hbb_common = { path = "libs/hbb_common" }
  168. os-version = "0.2"
  169. [dev-dependencies]
  170. hound = "3.5"
  171. [package.metadata.bundle]
  172. name = "RustDesk"
  173. identifier = "com.carriez.rustdesk"
  174. icon = ["res/32x32.png", "res/128x128.png", "res/128x128@2x.png"]
  175. osx_minimum_system_version = "10.14"
  176. #https://github.com/johnthagen/min-sized-rust
  177. [profile.release]
  178. lto = true
  179. codegen-units = 1
  180. panic = 'abort'
  181. strip = true
  182. #opt-level = 'z' # only have smaller size after strip
  183. rpath = true
  184. [profile.dev]
  185. split-debuginfo = '...' # Platform-specific.
  186. #strip = "debuginfo"