diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -0,0 +1,37 @@ +package main + +import ( + "flag" + "log" + "os" + "os/signal" + "syscall" + + "linum/internal/server" +) + +func main() { + addr := flag.String("addr", ":5353", "listen address") + upstream := flag.String("upstream", "1.1.1.1:53", "upstream dns server") + blockfile := flag.String("blocklist", "blocklist.txt", "path to blocklist file") + flag.Parse() + + srv, err := server.New(server.Config{ + Addr: *addr, + Upstream: *upstream, + BlockFile: *blockfile, + }) + if err != nil { + log.Fatalf("create server: %v", err) + } + + go func() { + sig := make(chan os.Signal, 1) + signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM) + <-sig + log.Println("shutting down") + os.Exit(0) + }() + + log.Fatal(srv.ListenAndServe()) +} |
