feat(cli): add settings menu and VLESS log viewer with core selection
- Add settings menu to switch between Xray and V2Ray cores for VLESS connections - Implement core type persistence in configuration with LoadSettings/SaveSettings - Add VLESS error and access log viewer showing last 30 and 20 lines respectively - Display current core type and system time in main menu - Update VLESS connection to use selected core dynamically - Refactor monitor.go to accept 'q' key input for graceful exit instead of signal handling - Add proxy platform-specific implementations (proxy_unix.go, proxy_windows.go) - Add downloader module for managing binary resources - Include V2Ray and Xray configuration files and geodata (geoip.dat, geosite.dat) - Update CLI imports to include path/filepath and time packages - Improve user experience with core selection visibility and log diagnostics
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
||||
|
||||
"vpn-client/internal/config"
|
||||
"vpn-client/internal/logger"
|
||||
"vpn-client/internal/proxy"
|
||||
"vpn-client/internal/wireguard"
|
||||
)
|
||||
|
||||
@@ -84,6 +85,16 @@ func Disconnect(logsDir string) error {
|
||||
return fmt.Errorf("ошибка сохранения состояния: %w", err)
|
||||
}
|
||||
|
||||
// Отключаем системный прокси если был VLESS
|
||||
if state.ConfigType == "vless" {
|
||||
if err := proxy.DisableSystemProxy(); err != nil {
|
||||
fmt.Printf("%s Не удалось отключить системный прокси: %v\n", "⚠", err)
|
||||
fmt.Println("Отключите его вручную в настройках Windows")
|
||||
} else {
|
||||
fmt.Println("✓ Системный прокси отключен")
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println("✓ Отключено от VPN")
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user