[package] name = "clash-verge" version = "2.5.4" description = "clash verge" authors = ["zzzgydi", "Tunglies", "wonfen", "MystiPanda"] license = "GPL-3.0-only" repository = "https://github.com/clash-verge-rev/clash-verge-rev.git" default-run = "clash-verge" build = "build.rs" edition = "2024" rust-version = "1.95" [lib] name = "app_lib" crate-type = ["staticlib", "cdylib", "rlib"] [features] default = ["custom-protocol"] custom-protocol = ["tauri/custom-protocol"] verge-dev = ["clash-verge-logging/color", "clash_verge_service_ipc/development-channel"] dev-sidecar = ["verge-dev"] tauri-dev = ["dep:tauri-plugin-devtools"] tokio-trace = ["clash-verge-logging/tokio-trace"] chrome-trace = ["clash-verge-logging/chrome-trace"] clippy = ["tauri/test"] perf-harness = ["dep:tauri-plugin-wdio-webdriver"] [package.metadata.bundle] identifier = "io.github.clash-verge-rev.clash-verge-rev" [build-dependencies] tauri-build = { version = "2.6.3", features = [] } [dependencies] clash-verge-draft = { workspace = true } clash-verge-media-unlock = { workspace = true } clash-verge-logging = { workspace = true } clash-verge-signal = { workspace = true } clash-verge-i18n = { workspace = true } clash-verge-limiter = { workspace = true } tauri-plugin-clash-verge-sysinfo = { workspace = true } tauri-plugin-clipboard-manager = { workspace = true } tauri = { workspace = true, features = [ "protocol-asset", "devtools", "tracing", "tray-icon", "image-ico", "image-png", ] } parking_lot = { workspace = true } anyhow = { workspace = true } tokio = { workspace = true } log = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } serde_yaml_ng = { workspace = true } smartstring = { workspace = true, features = ["serde"] } bitflags = { workspace = true } socket2 = { workspace = true } warp = { version = "0.4.3", features = ["server"] } open = "5.4.1" rfd = { version = "0.16.0", default-features = false, features = ["common-controls-v6"] } dirs = "7.0.0" dunce = "1.0.5" nanoid = "0.5" chrono = { workspace = true } boa_engine = "0.21.1" once_cell = { version = "1.21.4", features = ["parking_lot"] } percent-encoding = "2.3.2" reqwest = { workspace = true } regex = { workspace = true } sysproxy = { git = "https://github.com/clash-verge-rev/sysproxy-rs.git", branch = "main", features = [ "guard", ] } network-interface = { version = "2.0.5", features = ["serde"] } tauri-plugin-shell = "2.3.5" tauri-plugin-opener = "2.5.4" tauri-plugin-dialog = "2.7.2" tauri-plugin-fs = "2.5.1" tauri-plugin-process = "2.3.1" tauri-plugin-deep-link = "2.4.9" tauri-plugin-window-state = "2.4.1" zip = "8.6.0" flate2 = "1.1.9" reqwest_dav = "0.3.3" aes-gcm = { version = "0.11.0" } base64 = "0.23.1" sha2 = "0.11" getrandom = "0.4.3" futures = "0.3.34" gethostname = "1.1.0" scopeguard = "1.2.0" tauri-plugin-notification = "2.3.3" tokio-stream = "0.1.19" backon = { version = "1.6.0", features = ["tokio-sleep"] } tauri-plugin-http = "2.5.9" tracing = { workspace = true } tauri-plugin-devtools = { version = "2.1.0", optional = true } tauri-plugin-mihomo = { git = "https://github.com/clash-verge-rev/tauri-plugin-mihomo", branch = "main" } async-trait = "0.1.92" clash_verge_service_ipc = { git = "https://github.com/clash-verge-rev/clash-verge-service-ipc.git", tag = "v2.6.9", version = "2.6.9", features = [ "client", ] } arc-swap = "1.9.2" tokio-rustls = "0.26.4" rustls = { version = "0.23.43", features = ["ring"] } webpki-roots = "1.0.9" dark-light = "3.0.0" bytes = "1.12.1" tokio-util = { version = "0.7.19", features = ["time"] } [target.'cfg(unix)'.dependencies] libc = "0.2.189" [target.'cfg(target_os = "macos")'.dependencies] tauri-plugin-wdio-webdriver = { version = "=1.3.0", optional = true } core-foundation = "0.9" system-configuration = "0.7" objc2 = "0.6.4" objc2-foundation = { version = "0.3.2", features = [ "NSString", "NSDictionary", "NSAttributedString", ] } objc2-app-kit = { version = "0.3.2", features = [ "NSAttributedString", "NSStatusItem", "NSStatusBarButton", "NSButton", "NSControl", "NSResponder", "NSView", "NSFont", "NSFontDescriptor", "NSColor", "NSParagraphStyle", "NSStringDrawing", "NSText", ] } [target.'cfg(windows)'.dependencies] deelevate = { workspace = true } runas = "=1.2.0" winreg = "0.56.0" windows-service = "0.8.1" windows = { version = "0.62.2", features = ["Win32_Globalization"] } windows-sys.workspace = true [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] tauri-plugin-autostart = "2.5.1" tauri-plugin-global-shortcut = "2.3.2" tauri-plugin-updater = "2.10.1" [dev-dependencies] criterion = { workspace = true } tokio = { workspace = true, features = ["test-util"] } warp = { version = "0.4.3", features = ["test"] } [lints] workspace = true