[workspace] resolver = "2" members = [ "easytier-core", "easytier-proto", "easytier", "easytier-web", "easytier-gui/src-tauri", "easytier-contrib/easytier-mini", "easytier-contrib/easytier-ffi", "easytier-contrib/easytier-uptime", "easytier-contrib/easytier-android-jni", "easytier-contrib/easytier-ios", "easytier-contrib/easytier-ohrs", # it needs ohrs sdk "easytier-contrib/easytier-ohrs/crates/*", ] default-members = ["easytier", "easytier-web"] exclude = [] [workspace.package] edition = "2024" rust-version = "1.95" [workspace.dependencies] # Shared versions and sources; members select features and optional dependencies. anyhow = "1.0" arc-swap = "1.9" async-trait = "0.1.92" atomic-shim = "0.2.0" auto_impl = "1.3.0" axum = "0.8" base64 = "0.23" bon = "3.10.1" bytecodec = "0.5.0" bytes = "1.12.1" chrono = "0.4.45" cidr = "0.3.2" clap = "4.6.7" crossbeam = "0.8.5" dashmap = "6.2.1" easytier = { version = "2.7.0", path = "easytier", default-features = false } easytier-core = { version = "2.7.0", path = "easytier-core", default-features = false } easytier-ffi = { version = "0.1.0", path = "easytier-contrib/easytier-ffi", default-features = false } easytier-ohos-core = { version = "0.1.0", path = "easytier-contrib/easytier-ohrs/crates/easytier-ohos-core", default-features = false } easytier-ohos-features = { version = "0.1.0", path = "easytier-contrib/easytier-ohrs/crates/easytier-ohos-features", default-features = false } easytier-proto = { version = "2.7.0", path = "easytier-proto", default-features = false } futures = "0.3" gethostname = "1.1" guarden = "0.3" hmac = "0.13.0" http-body-util = "0.1" hyper = { version = "1", default-features = false } hyper-util = { version = "0.1", default-features = false } indoc = "2.0.7" log = "0.4" mimalloc = "*" once_cell = "1.21" parking_lot = "0.12.5" percent-encoding = "2.3.2" pin-project-lite = "0.2.17" prost = "0.14.4" prost-types = "0.14.4" quanta = "0.12" # rand 0.10 / x25519-dalek 3 require a coordinated RNG trait migration. rand = "0.8.8" reqwest = { version = "0.13.5", default-features = false } rust-i18n = "4" rustls = { version = "0.23.45", default-features = false } # tower-sessions-sqlx-store 0.15 requires SQLx 0.8; SeaORM 2 requires SQLx 0.9. sea-orm = "1.1.20" sea-orm-migration = "1.1.20" serde = "1.0.229" serde_json = "1.0" sha2 = "0.11.0" smoltcp = { version = "0.14.0", default-features = false } sqlx = "0.8.6" strum = "0.28.0" stun_codec = "0.4.0" sys-locale = "0.3" tauri = "2.11.5" tempfile = "3.27.0" thiserror = "2.0" thunk-rs = { git = "https://github.com/EasyTier/thunk.git", default-features = false } tokio = { version = "1.53", default-features = false } tokio-rustls = { version = "0.26", default-features = false } tokio-util = "0.7.19" toml = "1.1.6" tower-http = "0.7" tracing = "0.1" tracing-subscriber = { version = "0.3", default-features = false } url = "2.5" uuid = "1.26.1" winapi = "0.3.9" windows = "0.62" x25519-dalek = "2.0.1" # zerocopy 0.8 requires migrating the packet layout and casting APIs. zerocopy = "0.7.35" [profile.dev] panic = "unwind" debug = 2 [profile.release] panic = "abort" lto = true codegen-units = 1 opt-level = 3 strip = true [profile.mini] inherits = "release" opt-level = "z" strip = "symbols"