Files
Go-VPN-Client/main_cli.go
arkonsadter d88139af1b feat(admin): add platform-specific admin privilege checks
- Upgrade Go version from 1.21 to 1.25.0
- Update golang.org/x/sys dependency to v0.42.0
- Add Unix/Linux admin check using os.Geteuid() with sudo requirement
- Add Windows admin check using windows.SID and token membership validation
- Integrate admin privilege validation into main CLI entry point
- Enhance monitor.go with graceful signal handling for Ctrl+C interrupts
- Add signal channels for clean shutdown of monitoring loop
- Ensures VPN client runs with required elevated privileges on both platforms
2026-04-06 19:06:03 +06:00

28 lines
539 B
Go

package main
import (
"fmt"
"os"
"vpn-client/internal/admin"
"vpn-client/internal/cli"
"vpn-client/internal/config"
)
func main() {
// Проверка прав администратора
admin.RequireAdmin()
// Инициализация конфигурации
if err := config.Init(); err != nil {
fmt.Fprintf(os.Stderr, "Ошибка инициализации: %v\n", err)
os.Exit(1)
}
// Запуск CLI
if err := cli.Run(); err != nil {
fmt.Fprintf(os.Stderr, "Ошибка: %v\n", err)
os.Exit(1)
}
}