summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorradhitya <alif@radhitya.org>2026-06-13 12:46:38 +0700
committerradhitya <alif@radhitya.org>2026-06-13 12:46:38 +0700
commit01e05e8df5f56d605dfd75456a424527e76a2955 (patch)
tree3de06990292982a7c13f9a6edc9fe07e6127ff00 /main.go
parent1d1a15075b93815a2d006167d433c03d1abef419 (diff)
dns codec, udp server (reuseport, 4096 buffers), tcp server, doh listener post get without tls, concurrent, ends0, fuzz)
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)