mirror of
https://github.com/xvzc/SpoofDPI.git
synced 2025-02-01 14:11:16 +00:00
29 lines
499 B
Go
29 lines
499 B
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
"net"
|
|
)
|
|
|
|
type SystemClient struct {
|
|
client *net.Resolver
|
|
}
|
|
|
|
func NewSystemClient() *SystemClient {
|
|
return &SystemClient{
|
|
client: &net.Resolver{PreferGo: true},
|
|
}
|
|
}
|
|
|
|
func (c *SystemClient) String() string {
|
|
return "system client"
|
|
}
|
|
|
|
func (c *SystemClient) Resolve(ctx context.Context, host string, qTypes []uint16) ([]net.IPAddr, error) {
|
|
addrs, err := c.client.LookupIPAddr(ctx, host)
|
|
if err != nil {
|
|
return []net.IPAddr{}, err
|
|
}
|
|
return addrs, nil
|
|
}
|