package socks5 import ( "net" ) // NameResolver 域名解析器 type NameResolver interface { Resolve(name string) (net.IP, error) } // DNSResolver 使用系统 dns 服务解析域名 type DNSResolver struct{} func (d DNSResolver) Resolve(name string) (net.IP, error) { addr, err := net.ResolveIPAddr("ip", name) if err != nil { return nil, err } return addr.IP, err }