summaryrefslogtreecommitdiff
path: root/internal/server/server.go
diff options
context:
space:
mode:
authorradhitya <alif@radhitya.org>2026-06-14 14:36:32 +0700
committerradhitya <alif@radhitya.org>2026-06-14 14:36:32 +0700
commit4e6a897a0b55ee533c05f89fa38dbe0704f2798d (patch)
tree12d9700e53775503ad7ba2beb72bedfc64bdd70d /internal/server/server.go
parent3e44adc94f32bfe500730fcbf1c02cedf65b0a30 (diff)
dns recursive resolver(iterative, root hints, delegfation, glue, fallback), adblocker, dns cache
Diffstat (limited to 'internal/server/server.go')
-rw-r--r--internal/server/server.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index 3114073..e0490bd 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -8,18 +8,23 @@ import (
"github.com/miekg/dns"
"sdns/internal/resolver"
+ "sdns/internal/blocklist"
+ "sdns/internal/cache"
)
type Server struct {
logger *slog.Logger
resolver *resolver.Resolver
+ cache *cache.Cache
+ blocklist *blocklist.Blocklist
udp *dns.Server
tcp *dns.Server
doh *http.Server
}
-func New(udpAddr, tcpAddr, dohAddr string, logger *slog.Logger, r *resolver.Resolver) (*Server, error) {
- s := &Server{logger: logger, resolver: r}
+func New(udpAddr, tcpAddr, dohAddr string, logger *slog.Logger,
+r *resolver.Resolver, c *cache.Cache, b *blocklist.Blocklist) (*Server, error) {
+ s := &Server{logger: logger, resolver: r, cache: c, blocklist: b}
mux := dns.NewServeMux()
mux.HandleFunc(".", s.handleQuery)