SpoofDPI/dns/resolver/system.go
2024-08-18 16:11:04 +09:00

29 lines
487 B
Go

package client
import (
"context"
"net"
)
type SystemResolver struct {
*net.Resolver
}
func NewSystemClient() *SystemResolver {
return &SystemResolver{
&net.Resolver{PreferGo: true},
}
}
func (r *SystemResolver) String() string {
return "system client"
}
func (r *SystemResolver) Resolve(ctx context.Context, host string, qTypes []uint16) ([]net.IPAddr, error) {
addrs, err := r.LookupIPAddr(ctx, host)
if err != nil {
return []net.IPAddr{}, err
}
return addrs, nil
}