zapret-kvn/xray_fluent/platform/windows
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh 8d6a05b8d8 fix: resolve AWG uplink via GetBestInterfaceEx and stop false HTTPS warnings
v0.6.6 still failed AWG startup with "Physical interface for Amnezia UDP
transport not found" on the common Hyper-V vEthernet setup. Live probing on
real Windows showed the cause: GetAdaptersAddresses leaves FirstGatewayAddress
empty on working uplinks (Hyper-V vEthernet, some DHCP configs), so the
gateway-based selector rejected every adapter and returned None. (Interface
index, type, metric, addresses and DNS all parsed correctly — only the gateway
list was unreliable.)

Resolve the uplink with GetBestInterfaceEx instead: ask the OS which interface
reaches a destination — the authoritative default-route decision, independent
of the gateway list. Pass the AWG server's own IP so the physical uplink is
returned even while a tunnel holds the default route (WireGuard keeps a host
route to the server off the tunnel). The metric-based selector remains as a
fallback, now excluding tunnel/loopback by IfType instead of requiring a
gateway. Verified on real Windows: resolve_physical_uplink() -> (10, [dns]).

Also:
- Hysteria/Amnezia no longer raise a user-facing warning when the background
  DoH health probes (1.1.1.1/8.8.8.8/9.9.9.9) fail on a censored exit: the
  server handshake is already authenticated and real traffic flows, so the
  probe failure is a false alarm. The diagnostic log is kept.
- AWG startup failures now reach the info bar. Previously _on_amnezia_failure
  returned early when no amnezia session was committed yet, so a failed AWG
  start surfaced nothing to the user ("just exits").

892 unit tests pass (offscreen). End-to-end AWG connect still needs on-device
confirmation on the Hyper-V machine.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HAjvZYzPW2yTtToKJXGdbS
2026-09-14 13:13:16 +03:00
..
__init__.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
dns_cache.py fix: unify transport transitions and restore direct Russian services 2026-09-06 01:10:35 +03:00
process_presets.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
process_traffic_collector.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
proxy_manager.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
security.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
startup.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
subprocess_utils.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00
win_netinfo.py fix: resolve AWG uplink via GetBestInterfaceEx and stop false HTTPS warnings 2026-09-14 13:13:16 +03:00
win_proc_monitor.py feat: use official Amnezia transport and organize runtime modules 2026-09-06 00:14:08 +03:00