|
|
@@ -1,16 +1,12 @@
|
|
|
package localdns
|
|
|
|
|
|
import (
|
|
|
- "context"
|
|
|
-
|
|
|
"v2ray.com/core/common/net"
|
|
|
"v2ray.com/core/features/dns"
|
|
|
)
|
|
|
|
|
|
// Client is an implementation of dns.Client, which queries localhost for DNS.
|
|
|
-type Client struct {
|
|
|
- resolver net.Resolver
|
|
|
-}
|
|
|
+type Client struct{}
|
|
|
|
|
|
// Type implements common.HasType.
|
|
|
func (*Client) Type() interface{} {
|
|
|
@@ -24,16 +20,8 @@ func (*Client) Start() error { return nil }
|
|
|
func (*Client) Close() error { return nil }
|
|
|
|
|
|
// LookupIP implements Client.
|
|
|
-func (c *Client) LookupIP(host string) ([]net.IP, error) {
|
|
|
- ipAddr, err := c.resolver.LookupIPAddr(context.Background(), host)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- ips := make([]net.IP, 0, len(ipAddr))
|
|
|
- for _, addr := range ipAddr {
|
|
|
- ips = append(ips, addr.IP)
|
|
|
- }
|
|
|
- return ips, nil
|
|
|
+func (*Client) LookupIP(host string) ([]net.IP, error) {
|
|
|
+ return net.LookupIP(host)
|
|
|
}
|
|
|
|
|
|
// LookupIPv4 implements IPv4Lookup.
|
|
|
@@ -70,9 +58,5 @@ func (c *Client) LookupIPv6(host string) ([]net.IP, error) {
|
|
|
|
|
|
// New create a new dns.Client that queries localhost for DNS.
|
|
|
func New() *Client {
|
|
|
- return &Client{
|
|
|
- resolver: net.Resolver{
|
|
|
- PreferGo: true,
|
|
|
- },
|
|
|
- }
|
|
|
+ return &Client{}
|
|
|
}
|