2021-12-04 14:31:26 +08:00
|
|
|
[package]
|
2022-01-31 23:27:11 +08:00
|
|
|
name = "clash-verge"
|
2025-09-07 12:06:01 +08:00
|
|
|
version = "2.4.3"
|
2021-12-04 14:31:26 +08:00
|
|
|
description = "clash verge"
|
2025-08-22 02:28:44 +08:00
|
|
|
authors = ["zzzgydi", "Tunglies", "wonfen", "MystiPanda"]
|
2024-02-02 16:56:39 +08:00
|
|
|
license = "GPL-3.0-only"
|
2023-12-02 23:04:04 +08:00
|
|
|
repository = "https://github.com/clash-verge-rev/clash-verge-rev.git"
|
2022-01-31 23:27:11 +08:00
|
|
|
default-run = "clash-verge"
|
edition 2024 (#4702)
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
|
|
|
edition = "2024"
|
2021-12-14 18:39:37 +08:00
|
|
|
build = "build.rs"
|
2021-12-04 14:31:26 +08:00
|
|
|
|
2024-12-27 03:02:47 +08:00
|
|
|
[package.metadata.bundle]
|
|
|
|
|
identifier = "io.github.clash-verge-rev.clash-verge-rev"
|
|
|
|
|
|
2021-12-04 14:31:26 +08:00
|
|
|
[build-dependencies]
|
2025-10-22 21:59:53 +08:00
|
|
|
tauri-build = { version = "2.5.1", features = [] }
|
2021-12-04 14:31:26 +08:00
|
|
|
|
|
|
|
|
[dependencies]
|
2025-08-20 22:49:37 +08:00
|
|
|
warp = { version = "0.4.2", features = ["server"] }
|
2025-09-23 14:02:43 +08:00
|
|
|
anyhow = "1.0.100"
|
2025-06-05 14:56:29 +08:00
|
|
|
open = "5.3.2"
|
2025-09-06 14:10:35 +08:00
|
|
|
log = "0.4.28"
|
2025-06-05 14:56:29 +08:00
|
|
|
dunce = "1.0.5"
|
2023-12-02 22:36:04 +08:00
|
|
|
nanoid = "0.4"
|
2025-09-17 12:45:50 +08:00
|
|
|
chrono = "0.4.42"
|
2025-10-07 08:22:35 +08:00
|
|
|
sysinfo = { version = "0.37.2", features = ["network", "system"] }
|
2025-10-22 09:11:57 +08:00
|
|
|
boa_engine = "0.21.0"
|
2025-09-17 12:45:50 +08:00
|
|
|
serde_json = "1.0.145"
|
2025-08-30 02:24:47 +08:00
|
|
|
serde_yaml_ng = "0.10.0"
|
2025-03-31 03:24:36 +08:00
|
|
|
once_cell = "1.21.3"
|
2022-05-16 17:54:21 +08:00
|
|
|
port_scanner = "0.1.5"
|
2025-02-23 10:53:09 +08:00
|
|
|
delay_timer = "0.11.6"
|
2025-10-07 08:22:35 +08:00
|
|
|
parking_lot = "0.12.5"
|
2025-08-27 21:19:13 +08:00
|
|
|
percent-encoding = "2.3.2"
|
2025-10-14 23:50:37 +08:00
|
|
|
tokio = { version = "1.48.0", features = [
|
2025-03-27 02:59:48 +08:00
|
|
|
"rt-multi-thread",
|
|
|
|
|
"macros",
|
|
|
|
|
"time",
|
|
|
|
|
"sync",
|
2025-03-27 01:04:43 +08:00
|
|
|
] }
|
2025-09-28 19:51:25 +08:00
|
|
|
serde = { version = "1.0.228", features = ["derive"] }
|
2025-10-14 08:56:51 +08:00
|
|
|
reqwest = { version = "0.12.24", features = ["json", "cookies"] }
|
|
|
|
|
regex = "1.12.2"
|
2025-10-31 11:28:14 +08:00
|
|
|
sysproxy = { git = "https://github.com/clash-verge-rev/sysproxy-rs" }
|
2025-11-01 17:08:17 +08:00
|
|
|
tauri = { version = "2.9.2", features = [
|
2025-03-27 02:59:48 +08:00
|
|
|
"protocol-asset",
|
|
|
|
|
"devtools",
|
|
|
|
|
"tray-icon",
|
|
|
|
|
"image-ico",
|
|
|
|
|
"image-png",
|
2024-09-04 05:57:37 +08:00
|
|
|
] }
|
2025-08-13 16:27:14 +08:00
|
|
|
network-interface = { version = "2.0.3", features = ["serde"] }
|
2025-10-27 20:39:00 +08:00
|
|
|
tauri-plugin-shell = "2.3.3"
|
|
|
|
|
tauri-plugin-dialog = "2.4.2"
|
|
|
|
|
tauri-plugin-fs = "2.4.4"
|
|
|
|
|
tauri-plugin-process = "2.3.1"
|
|
|
|
|
tauri-plugin-clipboard-manager = "2.3.2"
|
|
|
|
|
tauri-plugin-deep-link = "2.4.5"
|
|
|
|
|
tauri-plugin-window-state = "2.4.1"
|
2025-10-09 22:17:45 +08:00
|
|
|
zip = "6.0.0"
|
2025-08-30 01:21:46 +08:00
|
|
|
reqwest_dav = "0.2.2"
|
2024-11-20 07:27:42 +08:00
|
|
|
aes-gcm = { version = "0.10.3", features = ["std"] }
|
|
|
|
|
base64 = "0.22.1"
|
2025-10-15 08:22:56 +08:00
|
|
|
getrandom = "0.3.4"
|
2025-05-01 10:00:05 +08:00
|
|
|
futures = "0.3.31"
|
2025-03-27 01:04:43 +08:00
|
|
|
sys-locale = "0.3.2"
|
2025-10-09 22:24:19 +08:00
|
|
|
libc = "0.2.177"
|
2025-10-15 19:02:22 +08:00
|
|
|
gethostname = "1.1.0"
|
2025-06-22 15:42:01 +08:00
|
|
|
scopeguard = "1.2.0"
|
2025-10-27 20:39:00 +08:00
|
|
|
tauri-plugin-notification = "2.3.3"
|
2025-08-22 03:16:59 +08:00
|
|
|
tokio-stream = "0.1.17"
|
2025-08-30 02:15:34 +08:00
|
|
|
isahc = { version = "1.7.2", default-features = false, features = [
|
|
|
|
|
"text-decoding",
|
|
|
|
|
"parking_lot",
|
|
|
|
|
] }
|
2025-09-17 22:59:02 +08:00
|
|
|
backoff = { version = "0.4.0", features = ["tokio"] }
|
2025-10-13 11:38:54 +08:00
|
|
|
compact_str = { version = "0.9.0", features = ["serde"] }
|
2025-10-27 20:39:00 +08:00
|
|
|
tauri-plugin-http = "2.5.4"
|
2025-10-09 05:10:32 +08:00
|
|
|
flexi_logger = "0.31.7"
|
2025-11-01 17:08:17 +08:00
|
|
|
console-subscriber = { version = "0.5.0", optional = true }
|
2025-09-20 15:15:24 +08:00
|
|
|
tauri-plugin-devtools = { version = "2.0.1" }
|
2025-10-08 12:32:40 +08:00
|
|
|
tauri-plugin-mihomo = { git = "https://github.com/clash-verge-rev/tauri-plugin-mihomo" }
|
2025-10-24 00:08:10 +08:00
|
|
|
clash_verge_logger = { git = "https://github.com/clash-verge-rev/clash-verge-logger" }
|
2025-10-22 01:51:11 +08:00
|
|
|
async-trait = "0.1.89"
|
2025-10-22 16:25:44 +08:00
|
|
|
smartstring = { version = "1.0.1", features = ["serde"] }
|
2025-10-30 18:02:24 +08:00
|
|
|
clash_verge_service_ipc = { version = "2.0.21", features = [
|
2025-10-11 23:40:37 +08:00
|
|
|
"client",
|
|
|
|
|
], git = "https://github.com/clash-verge-rev/clash-verge-service-ipc" }
|
2025-08-30 02:24:47 +08:00
|
|
|
|
2021-12-06 10:31:17 +08:00
|
|
|
[target.'cfg(windows)'.dependencies]
|
2024-03-15 21:14:05 +08:00
|
|
|
runas = "=1.2.0"
|
2022-04-23 17:26:32 +08:00
|
|
|
deelevate = "0.2.0"
|
2025-02-04 09:07:23 +08:00
|
|
|
winreg = "0.55.0"
|
2025-06-05 14:56:29 +08:00
|
|
|
winapi = { version = "0.3.9", features = [
|
2025-05-26 22:26:52 +08:00
|
|
|
"winbase",
|
|
|
|
|
"fileapi",
|
|
|
|
|
"winnt",
|
|
|
|
|
"handleapi",
|
|
|
|
|
"errhandlingapi",
|
|
|
|
|
"minwindef",
|
|
|
|
|
"winerror",
|
2025-06-22 18:45:38 +08:00
|
|
|
"tlhelp32",
|
|
|
|
|
"processthreadsapi",
|
2025-06-22 21:05:50 +08:00
|
|
|
"winhttp",
|
|
|
|
|
"winreg",
|
2025-05-26 22:26:52 +08:00
|
|
|
] }
|
2025-10-27 14:02:27 +08:00
|
|
|
windows-sys = { version = "0.61.2", features = [
|
|
|
|
|
"Win32_Foundation",
|
|
|
|
|
"Win32_Graphics_Gdi",
|
|
|
|
|
"Win32_System_SystemServices",
|
|
|
|
|
"Win32_UI_WindowsAndMessaging",
|
|
|
|
|
] }
|
2024-09-13 03:21:55 +08:00
|
|
|
|
2023-12-07 14:44:44 +08:00
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
2024-03-31 16:16:23 +08:00
|
|
|
users = "0.11.0"
|
2024-09-02 19:33:17 +08:00
|
|
|
|
2025-10-27 14:02:27 +08:00
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
|
|
|
signal-hook = "0.3.18"
|
|
|
|
|
|
2024-09-02 19:33:17 +08:00
|
|
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
2025-10-27 20:39:00 +08:00
|
|
|
tauri-plugin-autostart = "2.5.1"
|
|
|
|
|
tauri-plugin-global-shortcut = "2.3.1"
|
2025-06-26 22:29:13 +08:00
|
|
|
tauri-plugin-updater = "2.9.0"
|
2021-12-06 10:31:17 +08:00
|
|
|
|
2021-12-04 14:31:26 +08:00
|
|
|
[features]
|
2022-06-17 01:16:46 +08:00
|
|
|
default = ["custom-protocol"]
|
2022-04-19 01:41:20 +08:00
|
|
|
custom-protocol = ["tauri/custom-protocol"]
|
2025-10-08 18:05:43 +08:00
|
|
|
verge-dev = ["clash_verge_logger/color"]
|
2025-09-20 15:15:24 +08:00
|
|
|
tauri-dev = []
|
|
|
|
|
tokio-trace = ["console-subscriber"]
|
2025-10-14 14:43:03 +08:00
|
|
|
clippy = ["tauri/test"]
|
2025-10-18 22:57:51 +08:00
|
|
|
tracing = []
|
2022-03-27 01:38:40 +08:00
|
|
|
|
2025-10-15 08:32:30 +08:00
|
|
|
[[bench]]
|
|
|
|
|
name = "draft_benchmark"
|
|
|
|
|
path = "benches/draft_benchmark.rs"
|
|
|
|
|
harness = false
|
|
|
|
|
|
2022-03-27 01:38:40 +08:00
|
|
|
[profile.release]
|
2025-09-08 21:48:09 +08:00
|
|
|
panic = "abort"
|
2025-10-21 00:14:58 +08:00
|
|
|
codegen-units = 1
|
2025-09-20 22:54:52 +08:00
|
|
|
lto = "thin"
|
2025-10-21 00:14:58 +08:00
|
|
|
opt-level = 3
|
edition 2024 (#4702)
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
|
|
|
debug = false
|
2025-09-08 21:48:09 +08:00
|
|
|
strip = true
|
edition 2024 (#4702)
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
|
|
|
overflow-checks = false
|
|
|
|
|
rpath = false
|
2024-09-04 05:57:37 +08:00
|
|
|
|
|
|
|
|
[profile.dev]
|
|
|
|
|
incremental = true
|
edition 2024 (#4702)
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
|
|
|
codegen-units = 64
|
|
|
|
|
opt-level = 0
|
|
|
|
|
debug = true
|
|
|
|
|
strip = "none"
|
|
|
|
|
overflow-checks = true
|
|
|
|
|
lto = false
|
|
|
|
|
rpath = false
|
2024-09-15 06:24:53 +08:00
|
|
|
|
2025-03-02 00:40:07 +08:00
|
|
|
[profile.fast-release]
|
edition 2024 (#4702)
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
|
|
|
inherits = "release"
|
|
|
|
|
codegen-units = 64
|
2025-10-21 00:14:58 +08:00
|
|
|
incremental = true
|
edition 2024 (#4702)
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
|
|
|
lto = false
|
|
|
|
|
opt-level = 0
|
|
|
|
|
debug = true
|
|
|
|
|
strip = false
|
2025-03-02 00:40:07 +08:00
|
|
|
|
2024-09-15 06:24:53 +08:00
|
|
|
[lib]
|
|
|
|
|
name = "app_lib"
|
|
|
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
2025-03-03 19:31:44 +08:00
|
|
|
|
|
|
|
|
[dev-dependencies]
|
2025-10-15 08:32:30 +08:00
|
|
|
criterion = { version = "0.7.0", features = ["async_tokio"] }
|
2025-08-18 02:02:25 +08:00
|
|
|
|
|
|
|
|
[lints.clippy]
|
|
|
|
|
# Core categories - most important for code safety and correctness
|
|
|
|
|
correctness = { level = "deny", priority = -1 }
|
|
|
|
|
suspicious = { level = "deny", priority = -1 }
|
|
|
|
|
|
|
|
|
|
# Critical safety lints - warn for now due to extensive existing usage
|
|
|
|
|
unwrap_used = "warn"
|
|
|
|
|
expect_used = "warn"
|
|
|
|
|
panic = "deny"
|
|
|
|
|
unimplemented = "deny"
|
|
|
|
|
|
|
|
|
|
# Development quality lints
|
|
|
|
|
todo = "warn"
|
|
|
|
|
dbg_macro = "warn"
|
|
|
|
|
#print_stdout = "warn"
|
|
|
|
|
#print_stderr = "warn"
|
|
|
|
|
|
|
|
|
|
# Performance lints for proxy application
|
|
|
|
|
clone_on_ref_ptr = "warn"
|
|
|
|
|
rc_clone_in_vec_init = "warn"
|
|
|
|
|
large_stack_arrays = "warn"
|
|
|
|
|
large_const_arrays = "warn"
|
|
|
|
|
|
|
|
|
|
# Security lints
|
|
|
|
|
#integer_division = "warn"
|
|
|
|
|
#lossy_float_literal = "warn"
|
|
|
|
|
#default_numeric_fallback = "warn"
|
|
|
|
|
|
|
|
|
|
# Mutex and async lints - strict control
|
2025-08-20 22:48:08 +08:00
|
|
|
async_yields_async = "deny" # Prevents missing await in async blocks
|
|
|
|
|
mutex_atomic = "deny" # Use atomics instead of Mutex<bool/int>
|
|
|
|
|
mutex_integer = "deny" # Use AtomicInt instead of Mutex<int>
|
|
|
|
|
rc_mutex = "deny" # Single-threaded Rc with Mutex is wrong
|
|
|
|
|
unused_async = "deny" # Too many false positives in Tauri/framework code
|
2025-08-18 02:02:25 +08:00
|
|
|
await_holding_lock = "deny"
|
|
|
|
|
large_futures = "deny"
|
|
|
|
|
future_not_send = "deny"
|
|
|
|
|
|
|
|
|
|
# Common style improvements
|
2025-08-20 22:48:08 +08:00
|
|
|
redundant_else = "deny" # Too many in existing code
|
|
|
|
|
needless_continue = "deny" # Too many in existing code
|
|
|
|
|
needless_raw_string_hashes = "deny" # Too many in existing code
|
2025-08-18 02:02:25 +08:00
|
|
|
|
|
|
|
|
# Disable noisy categories for existing codebase but keep them available
|
|
|
|
|
#style = { level = "allow", priority = -1 }
|
|
|
|
|
#complexity = { level = "allow", priority = -1 }
|
|
|
|
|
#perf = { level = "allow", priority = -1 }
|
|
|
|
|
#pedantic = { level = "allow", priority = -1 }
|
|
|
|
|
#nursery = { level = "allow", priority = -1 }
|
|
|
|
|
#restriction = { level = "allow", priority = -1 }
|
2025-10-22 17:33:55 +08:00
|
|
|
|
2025-10-22 18:49:28 +08:00
|
|
|
or_fun_call = "deny"
|
2025-10-27 20:55:51 +08:00
|
|
|
cognitive_complexity = "deny"
|