fix(windows): respect system proxy for remote server downloads (#364)

The GUI update check already uses reqwest, which reads the Windows
system proxy from the registry by default. The remote server
installer / bundled-server fallback uses ureq, which only reads
HTTP_PROXY/HTTPS_PROXY environment variables unless the
win-system-proxy feature is enabled.

Enable ureqs win-system-proxy feature so that release downloads
inside the daemon also honor the Windows system proxy set by tools
like Clash (System Proxy mode), v2rayN, etc. This is a no-op on
non-Windows platforms.

Fixes the inconsistency where the update check could reach GitHub
through the proxy but the actual download would time out trying to
connect directly.
This commit is contained in:
Hongwei Qin
2026-08-07 11:57:14 +08:00
committed by GitHub
parent 4a8a4bcbaa
commit bb72be338d
2 changed files with 12 additions and 0 deletions
Generated
+11
View File
@@ -9909,6 +9909,7 @@ dependencies = [
"ureq-proto",
"utf8-zero",
"webpki-roots",
"winreg 0.56.0",
]
[[package]]
@@ -11366,6 +11367,16 @@ dependencies = [
"windows-sys 0.59.0",
]
[[package]]
name = "winreg"
version = "0.56.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d6f32a0ff4a9f6f01231eb2059cc85479330739333e0e58cadf03b6af2cca10"
dependencies = [
"cfg-if",
"windows-sys 0.59.0",
]
[[package]]
name = "winresource"
version = "0.1.31"
+1
View File
@@ -70,6 +70,7 @@ portable-pty = "0.8"
# downloaded. The GUI package turns the feature on (see the root `Cargo.toml`).
ureq = { version = "3", default-features = false, features = [
"rustls",
"win-system-proxy",
"socks-proxy",
], optional = true }