summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go37
1 files changed, 37 insertions, 0 deletions
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())
+}