Skip to content

Commit 1a6230a

Browse files
resolve ip addr (#317)
1 parent 48c9214 commit 1a6230a

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

cdncheck.go

+4
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,10 @@ func (c *Client) CheckDNSResponse(dnsResponse *retryabledns.DNSData) (matched bo
144144
return false, "", "", err
145145
}
146146

147+
func (c *Client) GetDnsData(domain string) (*retryabledns.DNSData, error) {
148+
return c.retriabledns.Resolve(domain)
149+
}
150+
147151
func mapKeys(m map[string][]string) string {
148152
keys := make([]string, 0, len(m))
149153
for k := range m {

internal/runner/runner.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -197,18 +197,22 @@ func (r *Runner) processInputItemSingle(item string, output chan Output) {
197197
var provider, itemType string
198198
var err error
199199

200+
var targetIp string
200201
if iputils.IsIP(item) {
201-
targetIP := net.ParseIP(item)
202-
matched, provider, itemType, err = r.cdnclient.Check(targetIP)
202+
matched, provider, itemType, err = r.cdnclient.Check(net.ParseIP(item))
203+
targetIp = item
203204
} else {
204205
matched, provider, itemType, err = r.cdnclient.CheckDomainWithFallback(item)
206+
if dnsData, err := r.cdnclient.GetDnsData(item); err == nil && len(dnsData.A) > 0 {
207+
targetIp = dnsData.A[0]
208+
}
205209
}
206210
if err != nil && r.options.Verbose {
207211
gologger.Error().Msgf("Could not check domain cdn %s: %s", item, err)
208212
}
209213

210214
data.itemType = itemType
211-
data.IP = item
215+
data.IP = targetIp
212216
data.Timestamp = time.Now()
213217

214218
if r.options.Exclude {

0 commit comments

Comments
 (0)