summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go21
1 files changed, 16 insertions, 5 deletions
diff --git a/main.go b/main.go
index 5d9e526..de6cfb4 100644
--- a/main.go
+++ b/main.go
@@ -14,23 +14,34 @@ func main() {
logger := slog.New(slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{
Level: slog.LevelInfo,
}))
+ slog.SetDefault(logger)
- addr := os.Getenv("SDNS_LISTEN")
- if addr == "" {
- addr = ":5353"
+ udp := os.Getenv("SDNS_LISTEN_UDP")
+ if udp == "" {
+ udp = ":5353"
+ }
+
+ tcp := os.Getenv("SDNS_LISTEN_TCP")
+ if tcp == "" {
+ tcp = ":5353"
+ }
+
+ doh := os.Getenv("SDNS_LISTEN_DOH")
+ if doh == "" {
+ doh = ":8443"
}
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
- srv, err := server.New(addr, logger)
+ srv, err := server.New(udp, tcp, doh, logger)
if err != nil {
logger.Error("create server failed", "err", err)
os.Exit(1)
}
defer srv.Close()
- logger.Info("sdns starting", "addr", addr)
+ logger.Info("sdns starting", "udp", udp, "tcp", tcp, "doh", doh)
if err := srv.Run(ctx); err != nil && err != context.Canceled {
logger.Error("server stopped with error", "err", err)