// ============================================================================== // MasterHttpRelayVPN // Author: MasterkinG32 // Github: https://github.com/masterking32 // Year: 2026 // ============================================================================== package main import ( "context" "os" "os/signal" "syscall" "masterhttprelayvpn/internal/client" "masterhttprelayvpn/internal/config" lg "masterhttprelayvpn/internal/logger" ) func main() { logger := lg.New("MasterHttpRelayVPN Client", "INFO") cfg, err := config.Load("config.toml") if err != nil { logger.Fatalf("load config: %v", err) } logger = lg.New("MasterHttpRelayVPN Client", cfg.LogLevel) app := client.New(cfg, logger) ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) defer cancel() if err := app.Run(ctx); err != nil { logger.Fatalf("run client: %v", err) } }