nameserver.go 563 B

1234567891011121314151617181920212223242526272829303132
  1. package dns
  2. import (
  3. "context"
  4. "time"
  5. "v2ray.com/core/common/net"
  6. )
  7. var (
  8. multiQuestionDNS = map[net.Address]bool{
  9. net.IPAddress([]byte{8, 8, 8, 8}): true,
  10. net.IPAddress([]byte{8, 8, 4, 4}): true,
  11. net.IPAddress([]byte{9, 9, 9, 9}): true,
  12. }
  13. )
  14. type ARecord struct {
  15. IPs []net.IP
  16. Expire time.Time
  17. }
  18. type NameServer interface {
  19. QueryIP(ctx context.Context, domain string) ([]net.IP, error)
  20. }
  21. type LocalNameServer struct {
  22. }
  23. func (*LocalNameServer) QueryIP(ctx context.Context, domain string) ([]net.IP, error) {
  24. return net.LookupIP(domain)
  25. }