Cargo.toml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. [package]
  2. name = "rustdesk"
  3. version = "1.3.2"
  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. [target.'cfg(not(any(target_os = "android", target_os = "linux")))'.dependencies]
  76. cpal = "0.15"
  77. ringbuf = "0.3"
  78. [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
  79. mac_address = "1.1"
  80. sciter-rs = { git = "https://github.com/open-trade/rust-sciter", branch = "dyn" }
  81. sys-locale = "0.3"
  82. enigo = { path = "libs/enigo", features = [ "with_serde" ] }
  83. clipboard = { path = "libs/clipboard" }
  84. ctrlc = "3.2"
  85. # arboard = { version = "3.4.0", features = ["wayland-data-control"] }
  86. arboard = { git = "https://github.com/rustdesk-org/arboard", features = ["wayland-data-control"] }
  87. clipboard-master = { git = "https://github.com/rustdesk-org/clipboard-master" }
  88. system_shutdown = "4.0"
  89. qrcode-generator = "4.1"
  90. [target.'cfg(target_os = "windows")'.dependencies]
  91. winapi = { version = "0.3", features = [
  92. "winuser",
  93. "wincrypt",
  94. "shellscalingapi",
  95. "pdh",
  96. "synchapi",
  97. "memoryapi",
  98. "shellapi",
  99. "devguid",
  100. "setupapi",
  101. "cguid",
  102. "cfgmgr32",
  103. "ioapiset",
  104. ] }
  105. winreg = "0.11"
  106. windows-service = "0.6"
  107. virtual_display = { path = "libs/virtual_display" }
  108. impersonate_system = { git = "https://github.com/rustdesk-org/impersonate-system" }
  109. shared_memory = "0.12"
  110. tauri-winrt-notification = "0.1.2"
  111. runas = "1.2"
  112. [target.'cfg(target_os = "macos")'.dependencies]
  113. objc = "0.2"
  114. cocoa = "0.24"
  115. dispatch = "0.2"
  116. core-foundation = "0.9"
  117. core-graphics = "0.22"
  118. include_dir = "0.7"
  119. fruitbasket = "0.10"
  120. objc_id = "0.1"
  121. [target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies]
  122. tray-icon = { git = "https://github.com/tauri-apps/tray-icon" }
  123. tao = { git = "https://github.com/rustdesk-org/tao", branch = "dev" }
  124. image = "0.24"
  125. [target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies]
  126. keepawake = { git = "https://github.com/rustdesk-org/keepawake-rs" }
  127. [target.'cfg(any(target_os = "windows", target_os = "linux"))'.dependencies]
  128. wallpaper = { git = "https://github.com/rustdesk-org/wallpaper.rs" }
  129. [target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies]
  130. # https://github.com/rustdesk/rustdesk-server-pro/issues/189, using native-tls for better tls support
  131. reqwest = { git = "https://github.com/rustdesk-org/reqwest", features = ["blocking", "socks", "json", "native-tls", "gzip"], default-features=false }
  132. [target.'cfg(not(any(target_os = "macos", target_os = "windows")))'.dependencies]
  133. reqwest = { git = "https://github.com/rustdesk-org/reqwest", features = ["blocking", "socks", "json", "rustls-tls", "rustls-tls-native-roots", "gzip"], default-features=false }
  134. [target.'cfg(target_os = "linux")'.dependencies]
  135. psimple = { package = "libpulse-simple-binding", version = "2.27" }
  136. pulse = { package = "libpulse-binding", version = "2.27" }
  137. rust-pulsectl = { git = "https://github.com/open-trade/pulsectl" }
  138. async-process = "1.7"
  139. evdev = { git="https://github.com/rustdesk-org/evdev" }
  140. dbus = "0.9"
  141. dbus-crossroads = "0.5"
  142. pam = { git="https://github.com/rustdesk-org/pam" }
  143. users = { version = "0.11" }
  144. x11-clipboard = {git="https://github.com/clslaid/x11-clipboard", branch = "feat/store-batch", optional = true}
  145. x11rb = {version = "0.12", features = ["all-extensions"], optional = true}
  146. percent-encoding = {version = "2.3", optional = true}
  147. once_cell = {version = "1.18", optional = true}
  148. nix = { version = "0.29", features = ["term", "process"]}
  149. gtk = "0.18"
  150. termios = "0.3"
  151. [target.'cfg(target_os = "android")'.dependencies]
  152. android_logger = "0.13"
  153. jni = "0.21"
  154. android-wakelock = { git = "https://github.com/rustdesk-org/android-wakelock" }
  155. [workspace]
  156. members = ["libs/scrap", "libs/hbb_common", "libs/enigo", "libs/clipboard", "libs/virtual_display", "libs/virtual_display/dylib", "libs/portable"]
  157. exclude = ["vdi/host", "examples/custom_plugin"]
  158. [package.metadata.winres]
  159. LegalCopyright = "Copyright © 2024 Purslane Ltd. All rights reserved."
  160. ProductName = "RustDesk"
  161. FileDescription = "RustDesk Remote Desktop"
  162. OriginalFilename = "rustdesk.exe"
  163. [target.'cfg(target_os="windows")'.build-dependencies]
  164. winres = "0.1"
  165. winapi = { version = "0.3", features = [ "winnt", "pdh", "synchapi" ] }
  166. [build-dependencies]
  167. cc = "1.0"
  168. hbb_common = { path = "libs/hbb_common" }
  169. os-version = "0.2"
  170. [dev-dependencies]
  171. hound = "3.5"
  172. [package.metadata.bundle]
  173. name = "RustDesk"
  174. identifier = "com.carriez.rustdesk"
  175. icon = ["res/32x32.png", "res/128x128.png", "res/128x128@2x.png"]
  176. osx_minimum_system_version = "10.14"
  177. #https://github.com/johnthagen/min-sized-rust
  178. [profile.release]
  179. lto = true
  180. codegen-units = 1
  181. panic = 'abort'
  182. strip = true
  183. #opt-level = 'z' # only have smaller size after strip
  184. rpath = true
  185. [profile.dev]
  186. split-debuginfo = '...' # Platform-specific.
  187. #strip = "debuginfo"