diff --git a/http.go b/http.go index 29d4e9d..acc9516 100644 --- a/http.go +++ b/http.go @@ -55,7 +55,10 @@ var cli = comandyClient(http.Client{ if len(addrs) == 0 { addrs, err = resolver.LookupHost(ctx, host) if err != nil { - return nil, err + addrs, err = net.DefaultResolver.LookupHost(ctx, host) + if err != nil { + return nil, err + } } lookupTable.Set(host, addrs) } @@ -80,7 +83,7 @@ var cli = comandyClient(http.Client{ } _ = tlsConn.Close() } - return tlsConn, nil + return tlsConn, err }, }, }) diff --git a/ipv6.go b/ipv6.go index 55fb808..bb4b649 100644 --- a/ipv6.go +++ b/ipv6.go @@ -1,13 +1,21 @@ package main import ( + "context" "net/http" + "time" "github.com/RomiChan/syncx" ) var canUseIPv6 = syncx.Lazy[bool]{Init: func() bool { - resp, err := http.Get("http://v6.ipv6-test.com/json/widgetdata.php?callback=?") + ctx, cancel := context.WithTimeout(context.Background(), 4*time.Second) + defer cancel() + req, err := http.NewRequestWithContext(ctx, "GET", "http://v6.ipv6-test.com/json/widgetdata.php?callback=?", nil) + if err != nil { + return false + } + resp, err := http.DefaultClient.Do(req) if err != nil { return false }