mirror of
https://github.com/masterking32/MasterHttpRelayVPN.git
synced 2026-05-18 07:34:35 +03:00
40 lines
955 B
Go
40 lines
955 B
Go
// ==============================================================================
|
|
// 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("<red>load config: <cyan>%v</cyan></red>", 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("<red>run client: <cyan>%v</cyan></red>", err)
|
|
}
|
|
}
|