diff options
| author | radhitya <alif@radhitya.org> | 2026-07-05 14:05:24 +0700 |
|---|---|---|
| committer | radhitya <alif@radhitya.org> | 2026-07-05 14:05:24 +0700 |
| commit | 1799ef47cedcfed8c979e145783fff7c9d1944cc (patch) | |
| tree | 4634846c9035339d03f783543ac83056686a9f5b /main.go | |
| parent | 52a0d3845ead07f840e9e99cb4a8c3507c84ab30 (diff) | |
foreward upstream, in memory cache, udp listener, handler, cli flags
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()) +} |
