v1.0.2-windows
·
2 commits
to main
since this release
Fix Windows TUN leak, tray popup and dashboard interactions Windows TUN was established (SOCKS showed Sweden) but system traffic leaked (IP showed Iran, DNS Baku) and dashboard stayed at 0. Root cause was a path mismatch between AetherST and AetherST-Tunnel, missing hev binary and low route metrics. Also addressed a bunch of UI/UX polish that was pending. Desktop core: - TunHelper: unified data/bin to AetherST-Tunnel, create data/bin dirs in helper, set InterfaceMetric 1 and metric 1 routes, added robust gateway fallback and proper yml/log paths. Leak and zero traffic fixed. - BinaryManager: target is now AetherST-Tunnel/bin, always extract wintun.dll + msys-2.0.dll for hev-socks5-tunnel and clean up when file already exists. Removed tun2socks fallback. - Elevation: release SingleInstanceLock before elevating, removed sleep inside PowerShell child (it was getting killed when parent exited) and sleep 1300ms in parent after Start-Process. Fixes "click relaunch as admin and nothing happens while task manager shows it". - SingleInstanceLock (new): central holder for ServerSocket 18195 so main and elevation can coordinate close. - main: retry bind 8 times with 350ms sleep to handle relaunch race, single install of tray via LaunchedEffect, new close dialog (Hide to Tray / Exit / Cancel) with tray support check, proper uninstall and lock release on all exit paths. - AetherTray: replaced native PopupMenu with custom JWindow (240px, centered buttons, hover, rounded border), added X close button, removed Routing Rules, Settings now requests navigation via TrayState. Added isSupported/isInstalled guards so Hide isn't offered when tray isn't available. Fixed duplicate icon on hide/show. - TrayState (common, new): shared flows for navigateToSettings and admin dialog requests between tray and Compose. Platform / UI: - Platform.desktop: reworked app enumeration – Start Menu (lnk up to depth 4), registry Uninstall across HKLM/HKCU/WOW6432Node with Publisher check, plus Get-StartApps for UWP. System app detection via publisher/path/name, deduped and sorted. Icon extraction now uses per-exe temp file (hash based) to avoid race and shows a default Apps icon when missing. - DashboardScreen: replaced iOS power button on Windows/Android with a capsule swipe switch (hint animation, red background when dragging to disconnect, cancellable while connecting, 0.25 threshold for cancel vs 0.5 normally). Fixed shadow clipping that showed a polygon over the arrow. Redesigned protocol segmented control as a true capsule with shadow and subtle highlight, kept active blue. - SettingsScreen: hide Split Tunneling and Tunnel Whole Device switch on desktop (isDesktop) – Windows always tunnels whole device. - SplitTunnelingScreen: restored User/System tabs for Windows with correct isSystemApp, added search clear, count header and Windows-specific help text (Wintun/admin). Icons now always show fallback. - MainScreen: observe TrayState to switch to Settings tab and show AdminRequiredDialog when requested from tray. Android: - Widget and Quick Settings Tile now respect ConnectionMode, protocol changes restart correctly, and various ViewModel/Activity cleanups. Launcher icons refreshed. Resources / Updates: - Removed tun2socks.exe / tun-config.yaml, bundled hev-socks5-tunnel 2.17.1 (hev-socks5-tunnel.exe + wintun.dll + msys-2.0.dll) in resources and appdata. - Shortened update.json / updatewin.json changelogs so old clients still show the Skip button. - Added assets/script.js, styles.css, index.html and ic_launcher_background.xml for the landing page. Verified with compileKotlinDesktop / compileKotlinAndroid (BUILD SUCCESSFUL), manual IP leak check and tray/admin flows.