diff --git a/v2/pkg/subscraping/sources/dnsrepo/dnsrepo.go b/v2/pkg/subscraping/sources/dnsrepo/dnsrepo.go index 903f34985..75cf859bd 100644 --- a/v2/pkg/subscraping/sources/dnsrepo/dnsrepo.go +++ b/v2/pkg/subscraping/sources/dnsrepo/dnsrepo.go @@ -21,7 +21,7 @@ type Source struct { } type DnsRepoResponse []struct { - Domain string + Domain string `json:"domain"` } func (s *Source) Run(ctx context.Context, domain string, session *subscraping.Session) <-chan subscraping.Result { @@ -40,7 +40,17 @@ func (s *Source) Run(ctx context.Context, domain string, session *subscraping.Se s.skipped = true return } - resp, err := session.SimpleGet(ctx, fmt.Sprintf("https://dnsrepo.noc.org/api/?apikey=%s&search=%s", randomApiKey, domain)) + + randomApiInfo := strings.Split(randomApiKey, ":") + if len(randomApiInfo) != 2 { + s.skipped = true + return + } + + token := randomApiInfo[0] + apiKey := randomApiInfo[1] + + resp, err := session.Get(ctx, fmt.Sprintf("https://dnsarchive.net/api/?apikey=%s&search=%s", apiKey, domain), "", map[string]string{"X-API-Access": token}) if err != nil { results <- subscraping.Result{Source: s.Name(), Type: subscraping.Error, Error: err} s.errors++