From 1799ef47cedcfed8c979e145783fff7c9d1944cc Mon Sep 17 00:00:00 2001 From: radhitya Date: Sun, 5 Jul 2026 14:05:24 +0700 Subject: foreward upstream, in memory cache, udp listener, handler, cli flags --- main.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 main.go (limited to 'main.go') diff --git a/main.go b/main.go new file mode 100644 index 0000000..904f436 --- /dev/null +++ b/main.go @@ -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()) +} -- cgit v1.2.3