From 63a77b1c7d165e9898be572b8615b92356e0dc66 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Fri, 30 Jan 2026 08:53:42 +0800 Subject: [PATCH] fix(macos): prioritize network interfaces for reliable proxy setup --- Cargo.lock | 96 +++----------------------------------------- Changelog.md | 4 +- src-tauri/Cargo.toml | 2 +- 3 files changed, 7 insertions(+), 95 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bbc4fef73..fb57176ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2386,7 +2386,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" dependencies = [ - "memoffset 0.9.1", + "memoffset", "rustc_version 0.4.1", ] @@ -3102,20 +3102,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "handlebars" -version = "3.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" -dependencies = [ - "log", - "pest", - "pest_derive", - "quick-error", - "serde", - "serde_json", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -3677,22 +3663,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "interfaces" -version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6250a98af259a26fd5a4a6081fccea9ac116e4c3178acf4aeb86d32d2b7715" -dependencies = [ - "bitflags 2.10.0", - "cc", - "handlebars", - "lazy_static", - "libc", - "nix", - "serde", - "serde_derive", -] - [[package]] name = "interprocess" version = "2.2.3" @@ -3714,7 +3684,7 @@ version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "189d0897e4cbe8c75efedf3502c18c887b05046e59d28404d4d8e46cbc4d1e86" dependencies = [ - "memoffset 0.9.1", + "memoffset", ] [[package]] @@ -4211,15 +4181,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -4412,19 +4373,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.7.1", - "pin-utils", -] - [[package]] name = "nodrop" version = "0.1.14" @@ -5046,39 +4994,6 @@ dependencies = [ "ucd-trie", ] -[[package]] -name = "pest_derive" -version = "2.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "pest_meta" -version = "2.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365" -dependencies = [ - "pest", - "sha2 0.10.9", -] - [[package]] name = "petgraph" version = "0.8.3" @@ -7265,10 +7180,9 @@ dependencies = [ [[package]] name = "sysproxy" -version = "0.4.3" -source = "git+https://github.com/clash-verge-rev/sysproxy-rs?branch=0.4.3#9f1258ceee11604bdef92937151f36e776bf83c8" +version = "0.4.4" +source = "git+https://github.com/clash-verge-rev/sysproxy-rs?branch=0.4.4#bbc5f834415ce376119515581008447098084f74" dependencies = [ - "interfaces", "iptools", "log", "thiserror 2.0.18", @@ -8752,7 +8666,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ - "memoffset 0.9.1", + "memoffset", "tempfile", "winapi", ] diff --git a/Changelog.md b/Changelog.md index 5ba4eefb3..23ff42e4c 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ - 修复无网络时无限请求 IP 归属查询 - 修复 WebDAV 页面重试逻辑 - 修复 Linux 通过 GUI 安装服务模式权限不符合预期 +- 修复 macOS 因网口顺序导致无法正确设置代理
✨ 新增功能 @@ -18,7 +19,4 @@
🚀 优化改进 -- 后端性能优化 -- 前端性能优化 -
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index a4b0bcd32..5a71935bd 100755 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -71,7 +71,7 @@ reqwest = { version = "0.13.1", features = [ "form", ] } regex = "1.12.2" -sysproxy = { git = "https://github.com/clash-verge-rev/sysproxy-rs", branch = "0.4.3", features = [ +sysproxy = { git = "https://github.com/clash-verge-rev/sysproxy-rs", branch = "0.4.4", features = [ "guard", ] } network-interface = { version = "2.0.5", features = ["serde"] }