package main import ( "log" "os" "os/signal" "syscall" "tunnel/pkg/server" ) func main() { var c = make(chan os.Signal) signal.Notify(c, syscall.SIGINT, syscall.SIGTERM) s, err := server.New() if err != nil { log.Fatal(err) } go func() { sig := <-c log.Printf("killed by signal: %s", sig) s.Stop() }() log.Print("ready") s.Run() log.Print("exit") }