spyse

package
v1.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2021 License: MIT Imports: 15 Imported by: 2

Documentation

Index

Constants

View Source
const (
	OperatorEqual              = "eq"
	OperatorNotEqual           = "not_eq"
	OperatorContains           = "contains"
	OperatorNotContains        = "not_contains"
	OperatorStartsWith         = "starts"
	OperatorEndsWith           = "ends"
	OperatorExists             = "exists"
	OperatorNotExists          = "not_exists"
	OperatorGreaterThanOrEqual = "gte"
	OperatorLessThanOrEqual    = "lte"
)

Options for search operators

View Source
const (
	DNSTYPEA     = "A"
	DNSTYPEMX    = "MX"
	DNSTYPENS    = "NS"
	DNSTYPETXT   = "TXT"
	DNSTYPEAAAA  = "AAAA"
	DNSTYPECNAME = "CNAME"
)

Options for DNS history

View Source
const (
	CodeBadRequest               = "bad_request"
	CodeValidationError          = "validation_error"
	CodeRequestsLimitReached     = "requests_limit_reached"
	CodeDownloadsLimitReached    = "downloads_limit_reached"
	CodeSearchParamsLimitReached = "search_params_limit_reached"
	CodeTooManyRequests          = "too_many_requests"
	CodeUnauthorized             = "unauthorized"
	CodeForbidden                = "forbidden"
	CodeHTTPClientError          = "http_client_error"
	CodeInternalServerError      = "internal_server_error"
)

Possible Spyse API error codes

Variables

View Source
var (
	// ErrReadBody is returned when response's body cannot be read.
	ErrReadBody = errors.New("could not read error response")
)

Functions

func NewSpyseError

func NewSpyseError(err error) error

NewSpyseError creates a new spyse Error

Types

type AS

type AS struct {
	Number       int            `json:"asn,omitempty"`
	Organization string         `json:"as_org,omitempty"`
	IPv4Prefixes []IPV4Prefixes `json:"ipv4_prefixes,omitempty"`
	IPv6Prefixes []IPV6Prefixes `json:"ipv6_prefixes,omitempty"`
}

type ASASNOperators

type ASASNOperators struct {
	Equal string
}

type ASDomainOperators

type ASDomainOperators struct {
	Equal string
}

type ASIPOperators

type ASIPOperators struct {
	Equal string
}

type ASOrgOperators

type ASOrgOperators struct {
	Equal      string
	Contains   string
	StartsWith string
}

type ASParamASN

type ASParamASN struct {
	Name     string
	Operator ASASNOperators
}

type ASParamDomain

type ASParamDomain struct {
	Name     string
	Operator ASDomainOperators
}

type ASParamIP

type ASParamIP struct {
	Name     string
	Operator ASIPOperators
}

type ASParamOrg

type ASParamOrg struct {
	Name     string
	Operator ASOrgOperators
}

type ASParams

type ASParams struct {
	// ASParamIP search AS by the IP address.
	IP ASParamIP
	// ASParamASN search by its number.
	ASN ASParamASN
	// ASParamDomain search AS by the domain name.
	Domain ASParamDomain
	// ASParamOrg search by by the associated organization name.
	Organization ASParamOrg
}

type ASScrollResponse

type ASScrollResponse struct {
	SearchID   string `json:"search_id"`
	TotalItems int64  `json:"total_items"`
	Offset     int    `json:"offset"`
	Items      []AS   `json:"items"`
}

type ASService

type ASService struct {
	Client *Client
}

ASService handles Autonomous Systems for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/autonomous-systems

func NewASService

func NewASService(c *Client) *ASService

func (*ASService) Details

func (s *ASService) Details(ctx context.Context, asn string) (*AS, error)

Details returns a full representation of the Autonomous System for the given AS number.

Spyse API docs: https://spyse-dev.readme.io/reference/autonomous-systems#as_details

func (*ASService) Params

func (s *ASService) Params() ASParams

Params for Autonomous system search:

All search parameters see at https://spyse-dev.readme.io/reference/autonomous-systems#as_search

func (*ASService) ScrollSearch

func (s *ASService) ScrollSearch(
	ctx context.Context,
	params []map[string]SearchOption,
	searchID string,
) (*ASScrollResponse, error)

ScrollSearch returns a list of autonomous systems that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/autonomous-systems#as_scroll_search

func (*ASService) Search

func (s *ASService) Search(
	ctx context.Context,
	params []map[string]SearchOption,
	limit, offset int,
) ([]AS, error)

Search returns a list of Autonomous Systems that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/autonomous-systems#as_search

func (*ASService) SearchCount

func (s *ASService) SearchCount(ctx context.Context, params []map[string]SearchOption) (int64, error)

SearchCount returns a count of Autonomous Systems that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/autonomous-systems#as_search_count

type Account

type Account struct {
	// The starting date of the quota period.
	StartAt string `json:"start_at"`
	// The ending date of the quota period.
	EndAt string `json:"end_at"`
	// The number of remaining API requests during the quota period.
	APIRequestsRemaining int64 `json:"api_requests_remaining"`
	// The number of maximum API requests you can make during the quota period.
	APIRequestsLimit int64 `json:"api_requests_limit"`
	// The number of remaining downloads during the quota period.
	DownloadsLimitRemaining int64 `json:"downloads_limit_remaining"`
	// The number of maximum downloads you can make during the quota period.
	DownloadsLimit int64 `json:"downloads_limit"`
	// The number of remaining on demand scans during the quota period.
	OnDemandScansRemaining int64 `json:"on_demand_scans_remaining"`
	// The number of maximum on demand scans you can make during the quota period.
	OnDemandScansLimit int64 `json:"on_demand_scans_limit"`
	// The flag shows whether scrolling is enabled for the client or not.
	IsScrollSearchEnabled bool `json:"is_scroll_search_enabled"`
	// The number of search parameters allowed.
	SearchParamsLimit int `json:"search_params_limit"`
	// The requests rate limit per second.
	RequestsRateLimit int `json:"requests_rate_limit"`
}

type AccountService

type AccountService struct {
	Client *Client
}

AccountService handles Account for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/account-1

func NewAccountService

func NewAccountService(c *Client) *AccountService

func (*AccountService) Quota

func (s *AccountService) Quota(ctx context.Context) (*Account, error)

Quota returns details about your account quotas.

Spyse API docs: https://spyse-dev.readme.io/reference/account-1#account

type AlexaInfo

type AlexaInfo struct {
	Rank      int    `json:"rank,omitempty"`
	UpdatedAt string `json:"updated_at,omitempty"`
}

type BaseMetricCVSSV2

type BaseMetricCVSSV2 struct {
	Version               string  `json:"version,omitempty"`
	VectorString          string  `json:"vectorString,omitempty"`
	AccessVector          string  `json:"accessVector,omitempty"`
	AccessComplexity      string  `json:"accessComplexity,omitempty"`
	Authentication        string  `json:"authentication,omitempty"`
	ConfidentialityImpact string  `json:"confidentialityImpact,omitempty"`
	IntegrityImpact       string  `json:"integrityImpact,omitempty"`
	AvailabilityImpact    string  `json:"availabilityImpact,omitempty"`
	BaseScore             float32 `json:"baseScore,omitempty"`
}

type BaseMetricCVSSV3

type BaseMetricCVSSV3 struct {
	AttackComplexity      string  `json:"attackComplexity,omitempty"`
	AttackVector          string  `json:"attackVector,omitempty"`
	AvailabilityImpact    string  `json:"availabilityImpact,omitempty"`
	BaseScore             float32 `json:"baseScore,omitempty"`
	BaseSeverity          string  `json:"baseSeverity,omitempty"`
	ConfidentialityImpact string  `json:"confidentialityImpact,omitempty"`
	IntegrityImpact       string  `json:"integrityImpact,omitempty"`
	PrivilegesRequired    string  `json:"privilegesRequired,omitempty"`
	Scope                 string  `json:"scope,omitempty"`
	UserInteraction       string  `json:"userInteraction,omitempty"`
	VectorString          string  `json:"vectorString,omitempty"`
	Version               string  `json:"version,omitempty"`
}

type BaseMetricV2

type BaseMetricV2 struct {
	CVSSV2                  BaseMetricCVSSV2 `json:"cvssV2,omitempty"`
	Severity                string           `json:"severity,omitempty"`
	ExploitabilityScore     float32          `json:"exploitabilityScore,omitempty"`
	ImpactScore             float32          `json:"impactScore,omitempty"`
	AcInSufInfo             *bool            `json:"acInsufInfo,omitempty"`
	ObtainAllPrivilege      *bool            `json:"obtainAllPrivilege,omitempty"`
	ObtainUserPrivilege     *bool            `json:"obtainUserPrivilege,omitempty"`
	ObtainOtherPrivilege    *bool            `json:"obtainOtherPrivilege,omitempty"`
	UserInteractionRequired *bool            `json:"userInteractionRequired,omitempty"`
}

type BaseMetricV3

type BaseMetricV3 struct {
	CVSSV3              BaseMetricCVSSV3 `json:"cvssV3,omitempty"`
	ExploitabilityScore float32          `json:"exploitabilityScore,omitempty"`
	ImpactScore         float32          `json:"impactScore,omitempty"`
}

type BulkService

type BulkService struct {
	Client *Client
}

BulkService handles Bulk search for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/bulk-search

func NewBulkService

func NewBulkService(c *Client) *BulkService

func (*BulkService) Domain

func (s *BulkService) Domain(ctx context.Context, domainNames []string) ([]Domain, error)

Domain lookup returns a full representation of the domains for the given domain names.

Spyse API docs: https://spyse-dev.readme.io/reference/bulk-search#bulk_search_domain

func (*BulkService) IP

func (s *BulkService) IP(ctx context.Context, ipList []string) ([]IP, error)

IP lookup returns a full representation of the ips for the given ip addresses.

Spyse API docs: https://spyse-dev.readme.io/reference/bulk-search#bulk_search_ip

type CVE

type CVE struct {
	ID               string       `json:"id,omitempty"`
	References       References   `json:"references,omitempty"`
	Description      Descriptions `json:"description,omitempty"`
	Impact           Impact       `json:"impact,omitempty"`
	Conditions       []Conditions `json:"conditions,omitempty"`
	ProblemType      ProblemType  `json:"problemtype,omitempty"`
	PublishedDate    string       `json:"publishedDate,omitempty"`
	LastModifiedDate string       `json:"lastModifiedDate,omitempty"`
}

CVE represents cve record with vulnerability information

type CVECPEOperators

type CVECPEOperators struct {
	Equal      string
	StartsWith string
}

type CVEIDOperators

type CVEIDOperators struct {
	Equal string
}

type CVEInfo

type CVEInfo struct {
	ID        string  `json:"id,omitempty"`
	BaseScore float32 `json:"base_score_cvss2,omitempty"`
}

type CVEModifiedAtOperators

type CVEModifiedAtOperators struct {
	Equal string
}

type CVEParamCPE

type CVEParamCPE struct {
	Name     string
	Operator CVECPEOperators
}

type CVEParamID

type CVEParamID struct {
	Name     string
	Operator CVEIDOperators
}

type CVEParamModifiedAt

type CVEParamModifiedAt struct {
	Name     string
	Operator CVEModifiedAtOperators
}

type CVEParamPublishedAt

type CVEParamPublishedAt struct {
	Name     string
	Operator CVEPublishedAtOperators
}

type CVEParamScoreCVSS2

type CVEParamScoreCVSS2 struct {
	Name     string
	Operator CVEScoreCVSS2Operators
}

type CVEParamScoreCVSS3

type CVEParamScoreCVSS3 struct {
	Name     string
	Operator CVEScoreCVSS3Operators
}

type CVEParamSeverityCVSS2

type CVEParamSeverityCVSS2 struct {
	Name     string
	Operator CVESeverityCVSS2Operators
}

type CVEParamSeverityCVSS3

type CVEParamSeverityCVSS3 struct {
	Name     string
	Operator CVESeverityCVSS3Operators
}

type CVEParams

type CVEParams struct {
	// ID search by the CVE ID defined by the MITRE Corporation.
	ID CVEParamID
	// CPE search by the Common Platform Enumeration (CPE) name or prefix. Example:
	// cpe:2.3:o:canonical:ubuntu_linux:12.04.
	CPE CVEParamCPE
	// ScoreCVSS2 search by the CVE score according to the Common Vulnerability Scoring System Version 2 (CVSS2).
	ScoreCVSS2 CVEParamScoreCVSS2
	// ScoreCVSS3 search by the CVE score according to the Common Vulnerability Scoring System Version 3 (CVSS3).
	ScoreCVSS3 CVEParamScoreCVSS3
	// SeverityCVSS2 search by the CVE severity according to CVSSv2. Supported options: high, medium, low.
	SeverityCVSS2 CVEParamSeverityCVSS2
	// SeverityCVSS3 search by the CVE severity according to CVSSv3. Supported options: high, medium, low, critical.
	SeverityCVSS3 CVEParamSeverityCVSS3
	// PublishedAt search by the vulnerability publication date. Format: YYYY-MM-DD.
	PublishedAt CVEParamPublishedAt
	// ModifiedAt search by the vulnerability modification date. Format: YYYY-MM-DD.
	ModifiedAt CVEParamModifiedAt
}

CVEParams for CVE search:

All search parameters see at https://spyse-dev.readme.io/reference/cves#cve_search

type CVEPublishedAtOperators

type CVEPublishedAtOperators struct {
	Equal string
}

type CVEScoreCVSS2Operators

type CVEScoreCVSS2Operators struct {
	Gte string
	Lte string
}

type CVEScoreCVSS3Operators

type CVEScoreCVSS3Operators struct {
	Gte string
	Lte string
}

type CVEScrollResponse

type CVEScrollResponse struct {
	SearchID   string `json:"search_id"`
	TotalItems int64  `json:"total_items"`
	Offset     int    `json:"offset"`
	Items      []CVE  `json:"items"`
}

type CVEService

type CVEService struct {
	Client *Client
}

CVEService handles CVEs for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/cves

func NewCVEService

func NewCVEService(c *Client) *CVEService

func (*CVEService) Details

func (s *CVEService) Details(ctx context.Context, cve string) (*CVE, error)

Details returns a full representation of the CVE for the given CVE ID.

Spyse API docs: https://spyse-dev.readme.io/reference/cves#cve_details

func (*CVEService) Params

func (s *CVEService) Params() CVEParams

func (*CVEService) ScrollSearch

func (s *CVEService) ScrollSearch(
	ctx context.Context,
	params []map[string]SearchOption,
	searchID string,
) (*CVEScrollResponse, error)

ScrollSearch returns a list of CVEs that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/cves#cve_scroll_search

func (*CVEService) Search

func (s *CVEService) Search(
	ctx context.Context,
	params []map[string]SearchOption,
	limit, offset int,
) ([]CVE, error)

Search returns a list of CVEs that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/cves#cve_search

func (*CVEService) SearchCount

func (s *CVEService) SearchCount(ctx context.Context, params []map[string]SearchOption) (int64, error)

SearchCount returns a count of CVEs that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/cves#cve_search_count

type CVESeverityCVSS2Operators

type CVESeverityCVSS2Operators struct {
	Equal string
}

type CVESeverityCVSS3Operators

type CVESeverityCVSS3Operators struct {
	Equal string
}

type CertAltNameOtherNames

type CertAltNameOtherNames struct {
	ID    string `json:"id,omitempty"`
	Value string `json:"value,omitempty"`
}

type CertIssuerAltName

type CertIssuerAltName struct {
	DirectoryNames             []CertIssuerAltNameDirectoryNames `json:"directory_names,omitempty"`
	DNSNames                   []string                          `json:"dns_names,omitempty"`
	EmailAddresses             []string                          `json:"email_addresses,omitempty"`
	IPAddresses                []string                          `json:"ip_addresses,omitempty"`
	OtherNames                 []CertAltNameOtherNames           `json:"other_names,omitempty"`
	RegisteredIDs              []string                          `json:"registered_ids,omitempty"`
	UniformResourceIdentifiers []string                          `json:"uniform_resource_identifiers,omitempty"`
}

type CertIssuerAltNameDirectoryNames

type CertIssuerAltNameDirectoryNames struct {
	CommonName         string `json:"common_name,omitempty"`
	Country            string `json:"country,omitempty"`
	DomainComponent    string `json:"domain_component,omitempty"`
	Locality           string `json:"locality,omitempty"`
	Organization       string `json:"organization,omitempty"`
	OrganizationalUnit string `json:"organizational_unit,omitempty"`
	SerialNumber       string `json:"serial_number,omitempty"`
	StreetAddress      string `json:"street_address,omitempty"`
}

type CertParsed

type CertParsed struct {
	Extensions             CertParsedExtensions         `json:"extensions,omitempty"`
	FingerprintMd5         string                       `json:"fingerprint_md5,omitempty"`
	FingerprintSha1        string                       `json:"fingerprint_sha1,omitempty"`
	FingerprintSha256      string                       `json:"fingerprint_sha256,omitempty"`
	Issuer                 CertParsedIssuer             `json:"issuer,omitempty"`
	IssuerDN               string                       `json:"issuer_dn,omitempty"`
	Names                  []string                     `json:"names,omitempty"`
	Redacted               *bool                        `json:"redacted,omitempty"`
	SerialNumber           string                       `json:"serial_number,omitempty"`
	Signature              CertParsedSignature          `json:"signature,omitempty"`
	SignatureAlgorithm     CertParsedSignatureAlgorithm `json:"signature_algorithm,omitempty"`
	SpkiSubjectFingerprint string                       `json:"spki_subject_fingerprint,omitempty"`
	Subject                CertParsedSubject            `json:"subject,omitempty"`
	SubjectDN              string                       `json:"subject_dn,omitempty"`
	SubjectKeyInfo         CertParsedSubjectKeyInfo     `json:"subject_key_info,omitempty"`
	TbsFingerprint         string                       `json:"tbs_fingerprint,omitempty"`
	TbsNoctFingerprint     string                       `json:"tbs_noct_fingerprint,omitempty"`
	ValidationLevel        string                       `json:"validation_level,omitempty"`
	Validity               CertParsedValidity           `json:"validity,omitempty"`
	Version                int64                        `json:"version,omitempty"`
}

type CertParsedExtensions

type CertParsedExtensions struct {
	AuthorityInfoAccess         CertParsedExtensionsAuthorityInfoAccess `json:"authority_info_access,omitempty"`
	AuthorityKeyID              string                                  `json:"authority_key_id,omitempty"`
	BasicConstraints            CertParsedExtensionsBasicConstraints    `json:"basic_constraints,omitempty"`
	CertificatePolicies         []CertParsedExtensionsCertPolicies      `json:"certificate_policies,omitempty"`
	CrlDistributionPoints       []string                                `json:"crl_distribution_points,omitempty"`
	ExtendedKeyUsage            CertParsedExtensionsExtendedKeyUsage    `json:"extended_key_usage,omitempty"`
	IssuerAltName               CertIssuerAltName                       `json:"issuer_alt_name,omitempty"`
	KeyUsage                    CertParsedExtensionsKeyUsage            `json:"key_usage,omitempty"`
	NameConstraints             []CertParsedExtensionsNameConstraints   `json:"name_constraints,omitempty"`
	SignedCertificateTimestamps []SignedCertificateTimestamps           `json:"signed_certificate_timestamps,omitempty"`
	SubjectAltName              CertParsedExtensionsSubjectAltName      `json:"subject_alt_name,omitempty"`
	SubjectKeyID                string                                  `json:"subject_key_id,omitempty"`
}

type CertParsedExtensionsAuthorityInfoAccess

type CertParsedExtensionsAuthorityInfoAccess struct {
	IssuerUrls []string `json:"issuer_urls,omitempty"`
	OCSPUrls   []string `json:"ocsp_urls,omitempty"`
}

type CertParsedExtensionsBasicConstraints

type CertParsedExtensionsBasicConstraints struct {
	IsCA       *bool `json:"is_ca,omitempty"`
	MaxPathLen *bool `json:"max_path_len,omitempty"`
}

type CertParsedExtensionsCertPolicies

type CertParsedExtensionsCertPolicies struct {
	CPS        []string                           `json:"cps,omitempty"`
	ID         string                             `json:"id,omitempty"`
	UserNotice []ExtensionsCertPoliciesUserNotice `json:"user_notice,omitempty"`
}

type CertParsedExtensionsExtendedKeyUsage

type CertParsedExtensionsExtendedKeyUsage struct {
	Any                            *bool `json:"any,omitempty"`
	AppleIChatEncryption           *bool `json:"apple_ichat_encryption,omitempty"`
	AppleIChatSigning              *bool `json:"apple_ichat_signing,omitempty"`
	AppleSystemIdentity            *bool `json:"apple_system_identity,omitempty"`
	ClientAuth                     *bool `json:"client_auth,omitempty"`
	CodeSigning                    *bool `json:"code_signing,omitempty"`
	DVCS                           *bool `json:"dvcs,omitempty"`
	EapOverLan                     *bool `json:"eap_over_lan,omitempty"`
	EapOverPPP                     *bool `json:"eap_over_ppp,omitempty"`
	EmailProtection                *bool `json:"email_protection,omitempty"`
	IpsecEndSystem                 *bool `json:"ipsec_end_system,omitempty"`
	IpsecIntermediateSystemUsage   *bool `json:"ipsec_intermediate_system_usage,omitempty"`
	IpsecTunnel                    *bool `json:"ipsec_tunnel,omitempty"`
	IpsecUser                      *bool `json:"ipsec_user,omitempty"`
	MicrosoftCAExchange            *bool `json:"microsoft_ca_exchange,omitempty"`
	MicrosoftCertTrustListSigning  *bool `json:"microsoft_cert_trust_list_signing,omitempty"`
	MicrosoftDocumentSigning       *bool `json:"microsoft_document_signing,omitempty"`
	MicrosoftDRM                   *bool `json:"microsoft_drm,omitempty"`
	MicrosoftEFSRecovery           *bool `json:"microsoft_efs_recovery,omitempty"`
	MicrosoftEmbeddedNTCrypto      *bool `json:"microsoft_embedded_nt_crypto,omitempty"`
	MicrosoftEncryptedFileSystem   *bool `json:"microsoft_encrypted_file_system,omitempty"`
	MicrosoftEnrollmentAgent       *bool `json:"microsoft_enrollment_agent,omitempty"`
	MicrosoftKernelModeCodeSigning *bool `json:"microsoft_kernel_mode_code_signing,omitempty"`
	MicrosoftKeyRecovery21         *bool `json:"microsoft_key_recovery_21,omitempty"`
	MicrosoftKeyRecovery3          *bool `json:"microsoft_key_recovery_3,omitempty"`
	MicrosoftLifetimeSigning       *bool `json:"microsoft_lifetime_signing,omitempty"`
	MicrosoftNT5Crypto             *bool `json:"microsoft_nt5_crypto,omitempty"`
	MicrosoftOEMWHQLCrypto         *bool `json:"microsoft_oem_whql_crypto,omitempty"`
	MicrosoftQualifiedSubordinate  *bool `json:"microsoft_qualified_subordinate,omitempty"`
	MicrosoftRootListSigner        *bool `json:"microsoft_root_list_signer,omitempty"`
	MicrosoftServerGatedCrypto     *bool `json:"microsoft_server_gated_crypto,omitempty"`
	MicrosoftSmartcardLogon        *bool `json:"microsoft_smartcard_logon,omitempty"`
	MicrosoftSystemHealth          *bool `json:"microsoft_system_health,omitempty"`
	MicrosoftTimestampSigning      *bool `json:"microsoft_timestamp_signing,omitempty"`
	MicrosoftWHQLCrypto            *bool `json:"microsoft_whql_crypto,omitempty"`
	SbgpCertAAServiceAuth          *bool `json:"sbgp_cert_aa_service_auth,omitempty"`
	ServerAuth                     *bool `json:"server_auth,omitempty"`
	TimeStamping                   *bool `json:"time_stamping,omitempty"`
}

type CertParsedExtensionsKeyUsage

type CertParsedExtensionsKeyUsage struct {
	CertificateSign   *bool `json:"certificate_sign,omitempty"`
	ContentCommitment *bool `json:"content_commitment,omitempty"`
	CRLSign           *bool `json:"crl_sign,omitempty"`
	DataEncipherment  *bool `json:"data_encipherment,omitempty"`
	DecipherOnly      *bool `json:"decipher_only,omitempty"`
	DigitalSignature  *bool `json:"digital_signature,omitempty"`
	EncipherOnly      *bool `json:"encipher_only,omitempty"`
	KeyAgreement      *bool `json:"key_agreement,omitempty"`
	KeyEncipherment   *bool `json:"key_encipherment,omitempty"`
	Value             int64 `json:"value,omitempty"`
}

type CertParsedExtensionsNameConstraints

type CertParsedExtensionsNameConstraints struct {
	Critical                *bool    `json:"critical,omitempty"`
	PermittedEmailAddresses []string `json:"permitted_email_addresses,omitempty"`
	PermittedNames          []string `json:"permitted_names,omitempty"`
}

type CertParsedExtensionsSubjectAltName

type CertParsedExtensionsSubjectAltName struct {
	DirectoryNames             []CertSubjectAltNameDirectoryNames `json:"directory_names,omitempty"`
	DNSNames                   []string                           `json:"dns_names,omitempty"`
	EmailAddresses             []string                           `json:"email_addresses,omitempty"`
	IPAddresses                []string                           `json:"ip_addresses,omitempty"`
	OtherNames                 []CertAltNameOtherNames            `json:"other_names,omitempty"`
	RegisteredIDs              []string                           `json:"registered_ids,omitempty"`
	UniformResourceIdentifiers []string                           `json:"uniform_resource_identifiers,omitempty"`
}

type CertParsedIssuer

type CertParsedIssuer struct {
	CommonName           []string `json:"common_name,omitempty"`
	Country              []string `json:"country,omitempty"`
	DomainComponent      []string `json:"domain_component,omitempty"`
	EmailAddress         []string `json:"email_address,omitempty"`
	GivenName            []string `json:"given_name,omitempty"`
	JurisdictionCountry  []string `json:"jurisdiction_country,omitempty"`
	JurisdictionLocality []string `json:"jurisdiction_locality,omitempty"`
	JurisdictionProvince []string `json:"jurisdiction_province,omitempty"`
	Locality             []string `json:"locality,omitempty"`
	Organization         []string `json:"organization,omitempty"`
	OrganizationalUnit   []string `json:"organizational_unit,omitempty"`
	PostalCode           []string `json:"postal_code,omitempty"`
	Province             []string `json:"province,omitempty"`
	SerialNumber         []string `json:"serial_number,omitempty"`
	StreetAddress        []string `json:"street_address,omitempty"`
	Surname              []string `json:"surname,omitempty"`
}

type CertParsedSignature

type CertParsedSignature struct {
	SelfSigned         *bool                        `json:"self_signed,omitempty"`
	SignatureAlgorithm CertParsedSignatureAlgorithm `json:"signature_algorithm,omitempty"`
	Valid              *bool                        `json:"valid,omitempty"`
	Value              string                       `json:"value,omitempty"`
}

type CertParsedSignatureAlgorithm

type CertParsedSignatureAlgorithm struct {
	Name string `json:"name,omitempty"`
	OID  string `json:"oid,omitempty"`
}

type CertParsedSubject

type CertParsedSubject struct {
	CommonName           []string `json:"common_name,omitempty"`
	Country              []string `json:"country,omitempty"`
	DomainComponent      []string `json:"domain_component,omitempty"`
	EmailAddress         []string `json:"email_address,omitempty"`
	GivenName            []string `json:"given_name,omitempty"`
	JurisdictionCountry  []string `json:"jurisdiction_country,omitempty"`
	JurisdictionLocality []string `json:"jurisdiction_locality,omitempty"`
	JurisdictionProvince []string `json:"jurisdiction_province,omitempty"`
	Locality             []string `json:"locality,omitempty"`
	Organization         []string `json:"organization,omitempty"`
	OrganizationalUnit   []string `json:"organizational_unit,omitempty"`
	PostalCode           []string `json:"postal_code,omitempty"`
	Province             []string `json:"province,omitempty"`
	SerialNumber         []string `json:"serial_number,omitempty"`
	StreetAddress        []string `json:"street_address,omitempty"`
	Surname              []string `json:"surname,omitempty"`
}

type CertParsedSubjectKeyInfo

type CertParsedSubjectKeyInfo struct {
	EcdsaPublicKey    EcdsaPublicKey `json:"ecdsa_public_key,omitempty"`
	FingerprintSha256 string         `json:"fingerprint_sha256,omitempty"`
	KeyAlgorithm      KeyAlgorithm   `json:"key_algorithm,omitempty"`
	RSAPublicKey      RSAPublicKey   `json:"rsa_public_key,omitempty"`
}

type CertParsedValidity

type CertParsedValidity struct {
	Status string `json:"status,omitempty"`
	End    string `json:"end,omitempty"`
	Length int64  `json:"length,omitempty"`
	Start  string `json:"start,omitempty"`
}

type CertSubjectAltNameDirectoryNames

type CertSubjectAltNameDirectoryNames struct {
	CommonName         string `json:"common_name,omitempty"`
	Country            string `json:"country,omitempty"`
	DomainComponent    string `json:"domain_component,omitempty"`
	EmailAddress       string `json:"email_address,omitempty"`
	Locality           string `json:"locality,omitempty"`
	Organization       string `json:"organization,omitempty"`
	OrganizationalUnit string `json:"organizational_unit,omitempty"`
	Province           string `json:"province,omitempty"`
	SerialNumber       string `json:"serial_number,omitempty"`
	Surname            string `json:"surname,omitempty"`
}

type CertSummary

type CertSummary struct {
	FingerprintSHA256 string              `json:"fingerprint_sha256,omitempty"`
	Issuer            DomainCertIssuerDN  `json:"issuer,omitempty"`
	IssuerDN          string              `json:"issuer_dn,omitempty"`
	Subject           DomainCertSubjectDN `json:"subject,omitempty"`
	SubjectDN         string              `json:"subject_dn,omitempty"`
	TLSVersion        string              `json:"tls_version,omitempty"`
	ValidityEnd       string              `json:"validity_end,omitempty"`
}

type Certificate

type Certificate struct {
	Parsed            CertParsed  `json:"parsed,omitempty"`
	Raw               string      `json:"raw,omitempty"`
	FingerprintSHA256 string      `json:"fingerprint_sha256,omitempty"`
	Validation        *Validation `json:"validation,omitempty"`
	UpdatedAt         string      `json:"updated_at,omitempty"`
}

Certificate represents certificate information

type CertificateFingerprintMD5Operators

type CertificateFingerprintMD5Operators struct {
	Equal string
}

type CertificateFingerprintSHA1Operators

type CertificateFingerprintSHA1Operators struct {
	Equal string
}

type CertificateFingerprintSHA256Operators

type CertificateFingerprintSHA256Operators struct {
	Equal string
}

type CertificateIsTrustedOperators

type CertificateIsTrustedOperators struct {
	Equal string
}

type CertificateIssuedForDomainOperators

type CertificateIssuedForDomainOperators struct {
	Equal string
}

type CertificateIssuedForIPOperators

type CertificateIssuedForIPOperators struct {
	Equal string
}

type CertificateIssuerCommonNameOperators

type CertificateIssuerCommonNameOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type CertificateIssuerCountryOperators

type CertificateIssuerCountryOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type CertificateIssuerEmailOperators

type CertificateIssuerEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type CertificateIssuerOrgOperators

type CertificateIssuerOrgOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type CertificateParamFingerprintMD5

type CertificateParamFingerprintMD5 struct {
	Name     string
	Operator CertificateFingerprintMD5Operators
}

type CertificateParamFingerprintSHA1

type CertificateParamFingerprintSHA1 struct {
	Name     string
	Operator CertificateFingerprintSHA1Operators
}

type CertificateParamFingerprintSHA256

type CertificateParamFingerprintSHA256 struct {
	Name     string
	Operator CertificateFingerprintSHA256Operators
}

type CertificateParamIsTrusted

type CertificateParamIsTrusted struct {
	Name     string
	Operator CertificateIsTrustedOperators
}

type CertificateParamIssuedForDomain

type CertificateParamIssuedForDomain struct {
	Name     string
	Operator CertificateIssuedForDomainOperators
}

type CertificateParamIssuedForIP

type CertificateParamIssuedForIP struct {
	Name     string
	Operator CertificateIssuedForIPOperators
}

type CertificateParamIssuerCommonName

type CertificateParamIssuerCommonName struct {
	Name     string
	Operator CertificateIssuerCommonNameOperators
}

type CertificateParamIssuerCountry

type CertificateParamIssuerCountry struct {
	Name     string
	Operator CertificateIssuerCountryOperators
}

type CertificateParamIssuerEmail

type CertificateParamIssuerEmail struct {
	Name     string
	Operator CertificateIssuerEmailOperators
}

type CertificateParamIssuerOrg

type CertificateParamIssuerOrg struct {
	Name     string
	Operator CertificateIssuerOrgOperators
}

type CertificateParamSubjectCommonName

type CertificateParamSubjectCommonName struct {
	Name     string
	Operator CertificateSubjectCommonNameOperators
}

type CertificateParamSubjectCountry

type CertificateParamSubjectCountry struct {
	Name     string
	Operator CertificateSubjectCountryOperators
}

type CertificateParamSubjectEmail

type CertificateParamSubjectEmail struct {
	Name     string
	Operator CertificateSubjectEmailOperators
}

type CertificateParamSubjectOrg

type CertificateParamSubjectOrg struct {
	Name     string
	Operator CertificateSubjectOrgOperators
}

type CertificateParamValidityEnd

type CertificateParamValidityEnd struct {
	Name     string
	Operator CertificateValidityEndOperators
}

type CertificateParamValidityStart

type CertificateParamValidityStart struct {
	Name     string
	Operator CertificateValidityStartOperators
}

type CertificateParams

type CertificateParams struct {
	// IssuedForDomain search by the domain the certificate is issued for.
	IssuedForDomain CertificateParamIssuedForDomain
	// IssuedForIP search by the IP address the certificate is issued for.
	IssuedForIP CertificateParamIssuedForIP
	// IssuerCountry search by the country ISO code the issuer organization is registered in.
	IssuerCountry CertificateParamIssuerCountry
	// IssuerOrg search by the issuer organization name.
	IssuerOrg CertificateParamIssuerOrg
	// IssuerCommonName search by the issuer common name. Example: “DigiCert SHA2 Secure Server CA”.
	IssuerCommonName CertificateParamIssuerCommonName
	// IssuerEmail search by the issuer email.
	IssuerEmail CertificateParamIssuerEmail
	// SubjectCountry search by the domain the country ISO code the subject  organization is registered in.
	SubjectCountry CertificateParamSubjectCountry
	// SubjectOrg search by the domain the subject organization name.
	SubjectOrg CertificateParamSubjectOrg
	// SubjectCommonName search by the domain the subject common name. Example: ssl902285.cloudflaressl.com.
	SubjectCommonName CertificateParamSubjectCommonName
	// SubjectEmail search by the domain the subject email.
	SubjectEmail CertificateParamSubjectEmail
	// FingerprintMD5 search by the MD5 fingerprint. Enter a hexadecimal string without spaces in
	// lowercase. Example:  500d1a99a670675a2e0b147b31ea17ce.
	FingerprintMD5 CertificateParamFingerprintMD5
	// FingerprintSHA1 search by the domain the SHA1 fingerprint. Enter a hexadecimal string without
	// spaces in lowercase. Example: f817a45f860581ff9911ce6405d3e194e90a0f3f.
	FingerprintSHA1 CertificateParamFingerprintSHA1
	// FingerprintSHA256 search by the domain the SHA256 fingerprint. Enter a hexadecimal string
	// without spaces in lowercase. Example: f239e183459c727c7b2694937f04e5925ffaf969a10cc31ce848fdd0ccf6e40f.
	FingerprintSHA256 CertificateParamFingerprintSHA256
	// ValidityEnd search by the domain the certificate validity end date. Format: YYYY-MM-DD.
	ValidityEnd CertificateParamValidityEnd
	// ValidityStart search by the domain the certificate validity start date. Format: YYYY-MM-DD.
	ValidityStart CertificateParamValidityStart
	// IsTrusted search certificates that have been verified and validated by Spyse.
	IsTrusted CertificateParamIsTrusted
}

CertificateParams for Certificate search:

All search parameters see at https://spyse-dev.readme.io/reference/ssltls-certificates#certificate_search

type CertificateScrollResponse

type CertificateScrollResponse struct {
	SearchID   string        `json:"search_id"`
	TotalItems int64         `json:"total_items"`
	Offset     int           `json:"offset"`
	Items      []Certificate `json:"items"`
}

type CertificateService

type CertificateService struct {
	Client *Client
}

CertificateService handles SSL/TLS Certificates for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/ssltls-certificates

func NewCertificateService

func NewCertificateService(c *Client) *CertificateService

func (*CertificateService) Details

func (s *CertificateService) Details(ctx context.Context, fingerprintSHA256 string) (*Certificate, error)

Details returns a full representation of the Certificate for the given fingerprintSHA256.

Spyse API docs: https://spyse-dev.readme.io/reference/ssltls-certificates#certificate_details

func (*CertificateService) Params

func (*CertificateService) ScrollSearch

func (s *CertificateService) ScrollSearch(
	ctx context.Context,
	params []map[string]SearchOption,
	searchID string,
) (*CertificateScrollResponse, error)

ScrollSearch returns a list of Certificates that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/ssltls-certificates#certificate_scroll_search

func (*CertificateService) Search

func (s *CertificateService) Search(
	ctx context.Context,
	params []map[string]SearchOption,
	limit, offset int,
) ([]Certificate, error)

Search returns a list of Certificates that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/ssltls-certificates#certificate_search

func (*CertificateService) SearchCount

func (s *CertificateService) SearchCount(ctx context.Context, params []map[string]SearchOption) (int64, error)

SearchCount returns a count of Certificates that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/ssltls-certificates#certificate_search_count

type CertificateSubjectCommonNameOperators

type CertificateSubjectCommonNameOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type CertificateSubjectCountryOperators

type CertificateSubjectCountryOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type CertificateSubjectEmailOperators

type CertificateSubjectEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type CertificateSubjectOrgOperators

type CertificateSubjectOrgOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type CertificateValidityEndOperators

type CertificateValidityEndOperators struct {
	Equal string
	Gte   string
	Lte   string
}

type CertificateValidityStartOperators

type CertificateValidityStartOperators struct {
	Equal string
	Gte   string
	Lte   string
}

type Client added in v1.2.0

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(accessToken string, httpClient HTTPClient) (*Client, error)

NewClient returns a new Spyse API Client. If a nil httpClient is provided, http.DefaultClient will be used. To use API methods you must provide your API accessToken. See https://spyse-dev.readme.io/reference/quick-start

func (*Client) Account added in v1.2.3

func (c *Client) Account() *Account

Account get customer account.

func (*Client) Do added in v1.2.0

func (c *Client) Do(req *http.Request, result interface{}) (*Response, error)

Do send an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to result, or returned an error if an API error has occurred.

func (*Client) NewRequest added in v1.2.0

func (c *Client) NewRequest(ctx context.Context, method, urlStr string, body io.Reader) (*http.Request, error)

NewRequest creates an API request. A relative URL can be provided in urlStr, in which case it is resolved relative to the baseURL of the Client. If specified, the value pointed to by body is JSON encoded and included as the request body.

func (*Client) SetBaseURL added in v1.2.0

func (c *Client) SetBaseURL(baseURL string) error

SetBaseURL set base URL for API endpoints.

type Conditions

type Conditions struct {
	Application                    string `json:"application,omitempty"`
	CPEPrefix                      string `json:"cpe_prefix,omitempty"`
	Hardware                       string `json:"hardware,omitempty"`
	OperationSystem                string `json:"operation_system,omitempty"`
	VersionEndExcluding            string `json:"version_end_excluding,omitempty"`
	VersionEndExcludingRepresent   int64  `json:"version_end_excluding_representation,omitempty"`
	VersionEndIncluding            string `json:"version_end_including,omitempty"`
	VersionEndIncludingRepresent   int64  `json:"version_end_including_representation,omitempty"`
	VersionStartExcluding          string `json:"version_start_excluding,omitempty"`
	VersionStartExcludingRepresent int64  `json:"version_start_excluding_representation,omitempty"`
	VersionStartIncluding          string `json:"version_start_including,omitempty"`
	VersionStartIncludingRepresent int64  `json:"version_start_including_representation,omitempty"`
}

type CrunchBase

type CrunchBase struct {
	Name             string   `json:"name"`
	LegalName        string   `json:"legal_name"`
	HomepageURL      string   `json:"homepage_url"`
	Description      string   `json:"description"`
	ShortDescription string   `json:"short_description"`
	Address          string   `json:"address"`
	Categories       []string `json:"categories"`
	FoundedOn        string   `json:"founded_on"`
	ClosedOn         string   `json:"closed_on"`
	ContactEmail     string   `json:"contact_email"`
	ImageURL         string   `json:"image_url"`
	NumberEmployees  string   `json:"num_employees_enum"`
	OperatingStatus  string   `json:"operating_status"`
	Phone            string   `json:"phone_number"`
	RevenueRange     string   `json:"revenue_range"`
	Status           string   `json:"status"`
	CountryCode      string   `json:"country_code"`
	StateCode        string   `json:"state_code"`
	Region           string   `json:"region"`
	City             string   `json:"city"`
	PostalCode       string   `json:"postal_code"`
	CrunchBaseURL    string   `json:"cb_url"`
	CreatedAt        string   `json:"created_at"`
	UpdatedAt        string   `json:"updated_at"`
	IsPrimary        bool     `json:"is_primary"`
}

type DNSRecords

type DNSRecords struct {
	A         []string      `json:"A,omitempty"`
	AAAA      []string      `json:"AAAA,omitempty"`
	CAA       []string      `json:"CAA,omitempty"`
	CNAME     []string      `json:"CNAME,omitempty"`
	MX        []string      `json:"MX,omitempty"`
	NS        []string      `json:"NS,omitempty"`
	SOA       *DNSSOARecord `json:"SOA,omitempty"`
	TXT       []string      `json:"TXT,omitempty"`
	SPF       []*SPF        `json:"SPF,omitempty"`
	UpdatedAt string        `json:"updated_at,omitempty"`
}

type DNSSOARecord

type DNSSOARecord struct {
	Email   string `json:"email,omitempty"`
	Expire  int64  `json:"expire,omitempty"`
	MinTTL  int64  `json:"min_ttl,omitempty"`
	NS      string `json:"ns,omitempty"`
	Refresh int64  `json:"refresh,omitempty"`
	Retry   int64  `json:"retry,omitempty"`
	Serial  int64  `json:"serial,omitempty"`
}

type DNSSimpleHistorical

type DNSSimpleHistorical struct {
	Value     string `json:"value,omitempty"`
	FirstSeen string `json:"first_seen,omitempty"`
	LastSeen  string `json:"last_seen,omitempty"`
}

type Data

type Data struct {
	Items []interface{} `json:"items"`
	// The total number of records stored in the database
	TotalCount *int64 `json:"total_items,omitempty"`
	// The offset of rows iterator
	Offset *int `json:"offset,omitempty"`
	// Received Rows Limit
	Limit *int `json:"limit,omitempty"`
	// Received search_id in scroll requests
	SearchID *string `json:"search_id,omitempty"`
}

type DescriptionData

type DescriptionData struct {
	Language string `json:"lang,omitempty"`
	Value    string `json:"value,omitempty"`
}

type Descriptions

type Descriptions struct {
	DescriptionData []DescriptionData `json:"description_data,omitempty"`
}

type Domain

type Domain struct {
	AlexaInfo       AlexaInfo        `json:"alexa,omitempty"`
	CertSummary     CertSummary      `json:"cert_summary,omitempty"`
	DNSRecords      DNSRecords       `json:"dns_records,omitempty"`
	HostsEnrichment []GeoData        `json:"hosts_enrichment"`
	Extract         ExtractData      `json:"http_extract,omitempty"`
	IsCNAME         *bool            `json:"is_CNAME,omitempty"`
	IsMX            *bool            `json:"is_MX,omitempty"`
	IsNS            *bool            `json:"is_NS,omitempty"`
	IsPTR           *bool            `json:"is_PTR,omitempty"`
	IsSubdomain     *bool            `json:"is_subdomain,omitempty"`
	Name            string           `json:"name,omitempty"`
	NameWithoutTLD  string           `json:"name_without_suffix,omitempty"`
	UpdatedAt       string           `json:"updated_at,omitempty"`
	WHOISParsed     *WHOISParsedData `json:"whois_parsed,omitempty"`
	ScreenshotURL   string           `json:"screenshot_url,omitempty"`
	Score           Score            `json:"security_score,omitempty"`
	CVEList         []CVEInfo        `json:"cve_list,omitempty"`
	Technologies    []Technology     `json:"technologies,omitempty"`
	Trackers        Trackers         `json:"trackers,omitempty"`
	Organizations   []Organization   `json:"organizations,omitempty"`
}

Domain represents the web site domain model

type DomainASNumOperators

type DomainASNumOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainASOrgOperators

type DomainASOrgOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainAdsenseIDOperators

type DomainAdsenseIDOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainAlexaRankOperators

type DomainAlexaRankOperators struct {
	Equal     string
	Gte       string
	Lte       string
	Exists    string
	NotExists string
}

type DomainBulkSearchRequest

type DomainBulkSearchRequest struct {
	DomainList []string `json:"domain_list" schema:"domain_list"`
	PaginatedRequest
}

type DomainCVEIDOperators

type DomainCVEIDOperators struct {
	Equal string
}

type DomainCVESeverityOperators

type DomainCVESeverityOperators struct {
	Equal string
}

type DomainCertIssuerDN

type DomainCertIssuerDN struct {
	C            string `json:"country,omitempty"`             // Country
	CN           string `json:"common_name,omitempty"`         // Common Name
	L            string `json:"locality,omitempty"`            // Locality
	O            string `json:"organization,omitempty"`        // Organization
	OU           string `json:"organizational_unit,omitempty"` // Organization unit
	ST           string `json:"province,omitempty"`            // State
	EmailAddress string `json:"emailAddress,omitempty"`
}

type DomainCertSubjectDN

type DomainCertSubjectDN struct {
	C                           string `json:"country,omitempty"`             // Country
	CN                          string `json:"common_name,omitempty"`         // Common Name
	L                           string `json:"locality,omitempty"`            // Locality
	O                           string `json:"organization,omitempty"`        // Organization
	OU                          string `json:"organizational_unit,omitempty"` // Organization unit
	ST                          string `json:"province,omitempty"`            // State
	BusinessCategory            string `json:"businessCategory,omitempty"`
	EmailAddress                string `json:"emailAddress,omitempty"`
	JurisdictionCountry         string `json:"jurisdictionCountry,omitempty"`
	JurisdictionStateOrProvince string `json:"jurisdictionStateOrProvince,omitempty"`
	PostalCode                  string `json:"postalCode,omitempty"`
	SerialNumber                string `json:"serialNumber,omitempty"`
	Street                      string `json:"street,omitempty"`
}

type DomainCertificateIssuerCnameOperators

type DomainCertificateIssuerCnameOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateIssuerCountryOperators

type DomainCertificateIssuerCountryOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainCertificateIssuerEmailOperators

type DomainCertificateIssuerEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateIssuerLocalityOperators

type DomainCertificateIssuerLocalityOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateIssuerOrgOperators

type DomainCertificateIssuerOrgOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateIssuerOrganizationalUnitOperators

type DomainCertificateIssuerOrganizationalUnitOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateIssuerStateOperators

type DomainCertificateIssuerStateOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateSHA256Operators

type DomainCertificateSHA256Operators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectCNAMEOperators

type DomainCertificateSubjectCNAMEOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectCountryOperators

type DomainCertificateSubjectCountryOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectEmailOperators

type DomainCertificateSubjectEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectLocalityOperators

type DomainCertificateSubjectLocalityOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectOrgOperators

type DomainCertificateSubjectOrgOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectOrganizationalUnitOperators

type DomainCertificateSubjectOrganizationalUnitOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectSerialNumberOperators

type DomainCertificateSubjectSerialNumberOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainCertificateSubjectStateOperators

type DomainCertificateSubjectStateOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainCertificateValidityEndOperators

type DomainCertificateValidityEndOperators struct {
	Equal string
	Gte   string
	Lte   string
}

type DomainCertificateVersionOperators

type DomainCertificateVersionOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSAAAAOperators

type DomainDNSAAAAOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainDNSAOperators

type DomainDNSAOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainDNSCAAOperators

type DomainDNSCAAOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSCNAMEOperators

type DomainDNSCNAMEOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSMXOperators

type DomainDNSMXOperators struct {
	Equal      string
	StartsWith string
	Contains   string
	Exists     string
	NotExists  string
}

type DomainDNSNSOperators

type DomainDNSNSOperators struct {
	Equal      string
	StartsWith string
	Contains   string
	Exists     string
	NotExists  string
}

type DomainDNSSPFErrorsDescriptionOperators

type DomainDNSSPFErrorsDescriptionOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSSPFErrorsTargetOperators

type DomainDNSSPFErrorsTargetOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSSPFMechanismsNameOperators

type DomainDNSSPFMechanismsNameOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainDNSSPFMechanismsQualifierOperators

type DomainDNSSPFMechanismsQualifierOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSSPFMechanismsValueOperators

type DomainDNSSPFMechanismsValueOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSSPFModifiersNameOperators

type DomainDNSSPFModifiersNameOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSSPFModifiersValueOperators

type DomainDNSSPFModifiersValueOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSSPFRAWOperators

type DomainDNSSPFRAWOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainDNSSPFVersionOperators

type DomainDNSSPFVersionOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainDNSTXTOperators

type DomainDNSTXTOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainGeoCityOperators

type DomainGeoCityOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainGeoCountryISOCodeOperators

type DomainGeoCountryISOCodeOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainGeoCountryOperators

type DomainGeoCountryOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainHTTPExtractDescriptionOperators

type DomainHTTPExtractDescriptionOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractEmailOperators

type DomainHTTPExtractEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractFaviconSHA256Operators

type DomainHTTPExtractFaviconSHA256Operators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainHTTPExtractFaviconURIOperators

type DomainHTTPExtractFaviconURIOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractFinalRedirectURLOperators

type DomainHTTPExtractFinalRedirectURLOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractHeadersNameOperators

type DomainHTTPExtractHeadersNameOperators struct {
	Equal    string
	Contains string
}

type DomainHTTPExtractHeadersValueOperators

type DomainHTTPExtractHeadersValueOperators struct {
	Equal    string
	Contains string
}

type DomainHTTPExtractLinkHostOperators

type DomainHTTPExtractLinkHostOperators struct {
	Equal      string
	StartsWith string
	EndsWith   string
}

type DomainHTTPExtractLinkURLOperators

type DomainHTTPExtractLinkURLOperators struct {
	Equal      string
	StartsWith string
	EndsWith   string
}

type DomainHTTPExtractMetaNameOperators

type DomainHTTPExtractMetaNameOperators struct {
	Equal    string
	Contains string
}

type DomainHTTPExtractMetaValueOperators

type DomainHTTPExtractMetaValueOperators struct {
	Equal    string
	Contains string
}

type DomainHTTPExtractRobotsOperators

type DomainHTTPExtractRobotsOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractScriptsOperators

type DomainHTTPExtractScriptsOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractStatusCodeOperators

type DomainHTTPExtractStatusCodeOperators struct {
	Equal     string
	Gte       string
	Lte       string
	Exists    string
	NotExists string
}

type DomainHTTPExtractStylesOperators

type DomainHTTPExtractStylesOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractTitleOperators

type DomainHTTPExtractTitleOperators struct {
	Equal       string
	StartsWith  string
	Contains    string
	NotContains string
	Exists      string
	NotExists   string
}

type DomainHTTPExtractTrackerAppleItunesAppOperators

type DomainHTTPExtractTrackerAppleItunesAppOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractTrackerGoogleAnalyticsKeyOperators

type DomainHTTPExtractTrackerGoogleAnalyticsKeyOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainHTTPExtractTrackerGooglePlayAppOperators

type DomainHTTPExtractTrackerGooglePlayAppOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainHTTPExtractTrackerGoogleSiteVerificationOperators

type DomainHTTPExtractTrackerGoogleSiteVerificationOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainISPOperators

type DomainISPOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainIsCNAMEOperators

type DomainIsCNAMEOperators struct {
	Equal string
}

type DomainIsMXOperators

type DomainIsMXOperators struct {
	Equal string
}

type DomainIsNSOperators

type DomainIsNSOperators struct {
	Equal string
}

type DomainIsPTROperators

type DomainIsPTROperators struct {
	Equal string
}

type DomainIsSubdomainOperators

type DomainIsSubdomainOperators struct {
	Equal string
}

type DomainNameOperators

type DomainNameOperators struct {
	Equal      string
	StartsWith string
	EndsWith   string
	NotEqual   string
}

type DomainOrganizationEmailOperators

type DomainOrganizationEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainOrganizationIndustryOperators

type DomainOrganizationIndustryOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainOrganizationLegalNameOperators

type DomainOrganizationLegalNameOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainOrganizationNameOperators

type DomainOrganizationNameOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainParamASNum

type DomainParamASNum struct {
	Name     string
	Operator DomainASNumOperators
}

type DomainParamASOrg

type DomainParamASOrg struct {
	Name     string
	Operator DomainASOrgOperators
}

type DomainParamAdsenseID

type DomainParamAdsenseID struct {
	Name     string
	Operator DomainAdsenseIDOperators
}

type DomainParamAlexaRank

type DomainParamAlexaRank struct {
	Name     string
	Operator DomainAlexaRankOperators
}

type DomainParamCVEID

type DomainParamCVEID struct {
	Name     string
	Operator DomainCVEIDOperators
}

type DomainParamCVESeverity

type DomainParamCVESeverity struct {
	Name     string
	Operator DomainCVESeverityOperators
}

type DomainParamCertificateIssuerCname

type DomainParamCertificateIssuerCname struct {
	Name     string
	Operator DomainCertificateIssuerCnameOperators
}

type DomainParamCertificateIssuerCountry

type DomainParamCertificateIssuerCountry struct {
	Name     string
	Operator DomainCertificateIssuerCountryOperators
}

type DomainParamCertificateIssuerEmail

type DomainParamCertificateIssuerEmail struct {
	Name     string
	Operator DomainCertificateIssuerEmailOperators
}

type DomainParamCertificateIssuerLocality

type DomainParamCertificateIssuerLocality struct {
	Name     string
	Operator DomainCertificateIssuerLocalityOperators
}

type DomainParamCertificateIssuerOrg

type DomainParamCertificateIssuerOrg struct {
	Name     string
	Operator DomainCertificateIssuerOrgOperators
}

type DomainParamCertificateIssuerOrganizationalUnit

type DomainParamCertificateIssuerOrganizationalUnit struct {
	Name     string
	Operator DomainCertificateIssuerOrganizationalUnitOperators
}

type DomainParamCertificateIssuerState

type DomainParamCertificateIssuerState struct {
	Name     string
	Operator DomainCertificateIssuerStateOperators
}

type DomainParamCertificateSHA256

type DomainParamCertificateSHA256 struct {
	Name     string
	Operator DomainCertificateSHA256Operators
}

type DomainParamCertificateSubjectCNAME

type DomainParamCertificateSubjectCNAME struct {
	Name     string
	Operator DomainCertificateSubjectCNAMEOperators
}

type DomainParamCertificateSubjectCountry

type DomainParamCertificateSubjectCountry struct {
	Name     string
	Operator DomainCertificateSubjectCountryOperators
}

type DomainParamCertificateSubjectEmail

type DomainParamCertificateSubjectEmail struct {
	Name     string
	Operator DomainCertificateSubjectEmailOperators
}

type DomainParamCertificateSubjectLocality

type DomainParamCertificateSubjectLocality struct {
	Name     string
	Operator DomainCertificateSubjectLocalityOperators
}

type DomainParamCertificateSubjectOrg

type DomainParamCertificateSubjectOrg struct {
	Name     string
	Operator DomainCertificateSubjectOrgOperators
}

type DomainParamCertificateSubjectOrganizationalUnit

type DomainParamCertificateSubjectOrganizationalUnit struct {
	Name     string
	Operator DomainCertificateSubjectOrganizationalUnitOperators
}

type DomainParamCertificateSubjectSerialNumber

type DomainParamCertificateSubjectSerialNumber struct {
	Name     string
	Operator DomainCertificateSubjectSerialNumberOperators
}

type DomainParamCertificateSubjectState

type DomainParamCertificateSubjectState struct {
	Name     string
	Operator DomainCertificateSubjectStateOperators
}

type DomainParamCertificateValidityEnd

type DomainParamCertificateValidityEnd struct {
	Name     string
	Operator DomainCertificateValidityEndOperators
}

type DomainParamCertificateVersion

type DomainParamCertificateVersion struct {
	Name     string
	Operator DomainCertificateVersionOperators
}

type DomainParamDNSA

type DomainParamDNSA struct {
	Name     string
	Operator DomainDNSAOperators
}

type DomainParamDNSAAAA

type DomainParamDNSAAAA struct {
	Name     string
	Operator DomainDNSAAAAOperators
}

type DomainParamDNSCAA

type DomainParamDNSCAA struct {
	Name     string
	Operator DomainDNSCAAOperators
}

type DomainParamDNSCNAME

type DomainParamDNSCNAME struct {
	Name     string
	Operator DomainDNSCNAMEOperators
}

type DomainParamDNSMX

type DomainParamDNSMX struct {
	Name     string
	Operator DomainDNSMXOperators
}

type DomainParamDNSNS

type DomainParamDNSNS struct {
	Name     string
	Operator DomainDNSNSOperators
}

type DomainParamDNSSPFErrorsDescription

type DomainParamDNSSPFErrorsDescription struct {
	Name     string
	Operator DomainDNSSPFErrorsDescriptionOperators
}

type DomainParamDNSSPFErrorsTarget

type DomainParamDNSSPFErrorsTarget struct {
	Name     string
	Operator DomainDNSSPFErrorsTargetOperators
}

type DomainParamDNSSPFMechanismsName

type DomainParamDNSSPFMechanismsName struct {
	Name     string
	Operator DomainDNSSPFMechanismsNameOperators
}

type DomainParamDNSSPFMechanismsQualifier

type DomainParamDNSSPFMechanismsQualifier struct {
	Name     string
	Operator DomainDNSSPFMechanismsQualifierOperators
}

type DomainParamDNSSPFMechanismsValue

type DomainParamDNSSPFMechanismsValue struct {
	Name     string
	Operator DomainDNSSPFMechanismsValueOperators
}

type DomainParamDNSSPFModifiersName

type DomainParamDNSSPFModifiersName struct {
	Name     string
	Operator DomainDNSSPFModifiersNameOperators
}

type DomainParamDNSSPFModifiersValue

type DomainParamDNSSPFModifiersValue struct {
	Name     string
	Operator DomainDNSSPFModifiersValueOperators
}

type DomainParamDNSSPFRAW

type DomainParamDNSSPFRAW struct {
	Name     string
	Operator DomainDNSSPFRAWOperators
}

type DomainParamDNSSPFVersion

type DomainParamDNSSPFVersion struct {
	Name     string
	Operator DomainDNSSPFVersionOperators
}

type DomainParamDNSTXT

type DomainParamDNSTXT struct {
	Name     string
	Operator DomainDNSTXTOperators
}

type DomainParamGeoCity

type DomainParamGeoCity struct {
	Name     string
	Operator DomainGeoCityOperators
}

type DomainParamGeoCountry

type DomainParamGeoCountry struct {
	Name     string
	Operator DomainGeoCountryOperators
}

type DomainParamGeoCountryISOCode

type DomainParamGeoCountryISOCode struct {
	Name     string
	Operator DomainGeoCountryISOCodeOperators
}

type DomainParamHTTPExtractDescription

type DomainParamHTTPExtractDescription struct {
	Name     string
	Operator DomainHTTPExtractDescriptionOperators
}

type DomainParamHTTPExtractEmail

type DomainParamHTTPExtractEmail struct {
	Name     string
	Operator DomainHTTPExtractEmailOperators
}

type DomainParamHTTPExtractFaviconSHA256

type DomainParamHTTPExtractFaviconSHA256 struct {
	Name     string
	Operator DomainHTTPExtractFaviconSHA256Operators
}

type DomainParamHTTPExtractFaviconURI

type DomainParamHTTPExtractFaviconURI struct {
	Name     string
	Operator DomainHTTPExtractFaviconURIOperators
}

type DomainParamHTTPExtractFinalRedirectURL

type DomainParamHTTPExtractFinalRedirectURL struct {
	Name     string
	Operator DomainHTTPExtractFinalRedirectURLOperators
}

type DomainParamHTTPExtractHeadersName

type DomainParamHTTPExtractHeadersName struct {
	Name     string
	Operator DomainHTTPExtractHeadersNameOperators
}

type DomainParamHTTPExtractHeadersValue

type DomainParamHTTPExtractHeadersValue struct {
	Name     string
	Operator DomainHTTPExtractHeadersValueOperators
}

type DomainParamHTTPExtractLinkHost

type DomainParamHTTPExtractLinkHost struct {
	Name     string
	Operator DomainHTTPExtractLinkHostOperators
}

type DomainParamHTTPExtractLinkURL

type DomainParamHTTPExtractLinkURL struct {
	Name     string
	Operator DomainHTTPExtractLinkURLOperators
}

type DomainParamHTTPExtractMetaName

type DomainParamHTTPExtractMetaName struct {
	Name     string
	Operator DomainHTTPExtractMetaNameOperators
}

type DomainParamHTTPExtractMetaValue

type DomainParamHTTPExtractMetaValue struct {
	Name     string
	Operator DomainHTTPExtractMetaValueOperators
}

type DomainParamHTTPExtractRobots

type DomainParamHTTPExtractRobots struct {
	Name     string
	Operator DomainHTTPExtractRobotsOperators
}

type DomainParamHTTPExtractScripts

type DomainParamHTTPExtractScripts struct {
	Name     string
	Operator DomainHTTPExtractScriptsOperators
}

type DomainParamHTTPExtractStatusCode

type DomainParamHTTPExtractStatusCode struct {
	Name     string
	Operator DomainHTTPExtractStatusCodeOperators
}

type DomainParamHTTPExtractStyles

type DomainParamHTTPExtractStyles struct {
	Name     string
	Operator DomainHTTPExtractStylesOperators
}

type DomainParamHTTPExtractTitle

type DomainParamHTTPExtractTitle struct {
	Name     string
	Operator DomainHTTPExtractTitleOperators
}

type DomainParamHTTPExtractTrackerAppleItunesApp

type DomainParamHTTPExtractTrackerAppleItunesApp struct {
	Name     string
	Operator DomainHTTPExtractTrackerAppleItunesAppOperators
}

type DomainParamHTTPExtractTrackerGoogleAnalyticsKey

type DomainParamHTTPExtractTrackerGoogleAnalyticsKey struct {
	Name     string
	Operator DomainHTTPExtractTrackerGoogleAnalyticsKeyOperators
}

type DomainParamHTTPExtractTrackerGooglePlayApp

type DomainParamHTTPExtractTrackerGooglePlayApp struct {
	Name     string
	Operator DomainHTTPExtractTrackerGooglePlayAppOperators
}

type DomainParamHTTPExtractTrackerGoogleSiteVerification

type DomainParamHTTPExtractTrackerGoogleSiteVerification struct {
	Name     string
	Operator DomainHTTPExtractTrackerGoogleSiteVerificationOperators
}

type DomainParamISP

type DomainParamISP struct {
	Name     string
	Operator DomainISPOperators
}

type DomainParamIsCNAME

type DomainParamIsCNAME struct {
	Name     string
	Operator DomainIsCNAMEOperators
}

type DomainParamIsMX

type DomainParamIsMX struct {
	Name     string
	Operator DomainIsMXOperators
}

type DomainParamIsNS

type DomainParamIsNS struct {
	Name     string
	Operator DomainIsNSOperators
}

type DomainParamIsPTR

type DomainParamIsPTR struct {
	Name     string
	Operator DomainIsPTROperators
}

type DomainParamIsSubdomain

type DomainParamIsSubdomain struct {
	Name     string
	Operator DomainIsSubdomainOperators
}

type DomainParamName

type DomainParamName struct {
	Name     string
	Operator DomainNameOperators
}

type DomainParamOrganizationEmail

type DomainParamOrganizationEmail struct {
	Name     string
	Operator DomainOrganizationEmailOperators
}

type DomainParamOrganizationIndustry

type DomainParamOrganizationIndustry struct {
	Name     string
	Operator DomainOrganizationIndustryOperators
}

type DomainParamOrganizationLegalName

type DomainParamOrganizationLegalName struct {
	Name     string
	Operator DomainOrganizationLegalNameOperators
}

type DomainParamOrganizationName

type DomainParamOrganizationName struct {
	Name     string
	Operator DomainOrganizationNameOperators
}

type DomainParamTechnologyName

type DomainParamTechnologyName struct {
	Name     string
	Operator DomainTechnologyNameOperators
}

type DomainParamTechnologyVersion

type DomainParamTechnologyVersion struct {
	Name     string
	Operator DomainTechnologyVersionOperators
}

type DomainParamWhoisRegistrantEmail

type DomainParamWhoisRegistrantEmail struct {
	Name     string
	Operator DomainWhoisRegistrantEmailOperators
}

type DomainParamWhoisRegistrantName

type DomainParamWhoisRegistrantName struct {
	Name     string
	Operator DomainWhoisRegistrantNameOperators
}

type DomainParamWhoisRegistrantOrg

type DomainParamWhoisRegistrantOrg struct {
	Name     string
	Operator DomainWhoisRegistrantOrgOperators
}

type DomainParamWhoisRegistrantPhone

type DomainParamWhoisRegistrantPhone struct {
	Name     string
	Operator DomainWhoisRegistrantPhoneOperators
}

type DomainParamWhoisRegistrarEmail

type DomainParamWhoisRegistrarEmail struct {
	Name     string
	Operator DomainWhoisRegistrarEmailOperators
}

type DomainParamWhoisRegistrarName

type DomainParamWhoisRegistrarName struct {
	Name     string
	Operator DomainWhoisRegistrarNameOperators
}

type DomainParamWhoisRegistrarWhoisServer

type DomainParamWhoisRegistrarWhoisServer struct {
	Name     string
	Operator DomainWhoisRegistrarWhoisServerOperators
}

type DomainParamWithoutSuffix

type DomainParamWithoutSuffix struct {
	Name     string
	Operator DomainWithoutSuffixOperators
}

type DomainParams

type DomainParams struct {
	// Name search domains by the domain name. Operators: eq, starts, ends, not_eq.
	Name DomainParamName
	// AdsenseID search domains with the homepage containing the specified Google AdSense identifier.
	AdsenseID DomainParamAdsenseID
	// AlexaRank search by Alexa Rank value.
	AlexaRank DomainParamAlexaRank
	// DNSA search by a specific IPv4 address, stored in DNS A record, or CIDR.
	DNSA DomainParamDNSA
	// DNSAAAA search by a specific IPv6 address stored in DNS AAAA record.
	DNSAAAA DomainParamDNSAAAA
	// DNSNS search by name server (NS) address stored in DNS NS record. Example: ns1.google.com.
	DNSNS DomainParamDNSNS
	// DNSMX search by name server (MX) address stored in DNS MX record. Example: ns1.google.com.
	DNSMX DomainParamDNSMX
	// DNSTXT search by content of DNS TXT record.
	DNSTXT DomainParamDNSTXT
	// DNSCAA search by content of DNS CAA record.
	DNSCAA DomainParamDNSCAA
	// DNSCNAME search by content of DNS CNAME record.
	DNSCNAME DomainParamDNSCNAME
	// DNSSPFRAW search by not parsed SPF record.
	DNSSPFRAW DomainParamDNSSPFRAW
	// DNSSPFVersion search by an SPF record version. F.e., 'spf1'.
	DNSSPFVersion DomainParamDNSSPFVersion
	// DNSSPFErrorsTarget search for mechanism or modifier, which includes an error.
	DNSSPFErrorsTarget DomainParamDNSSPFErrorsTarget
	// DNSSPFModifiersName search by a modifier name. F.e., 'ip4', 'redirect', 'include'.
	DNSSPFModifiersName DomainParamDNSSPFModifiersName
	// DNSSPFMechanismsName search by the name of the mechanism e.g. 'ip4', 'ip6', 'all'.
	DNSSPFMechanismsName DomainParamDNSSPFMechanismsName
	// DNSSPFModifiersValue search by a modifier value, e.g. '_spf.mailhostbox.com', '_spf.yandex.net.
	DNSSPFModifiersValue DomainParamDNSSPFModifiersValue
	// DNSSPFMechanismsValue search by a mechanism value, e.g. '195.201.206.85', '_spf.google.com'.
	DNSSPFMechanismsValue DomainParamDNSSPFMechanismsValue
	// DNSSPFErrorsDescription search by the description of a validation error.
	DNSSPFErrorsDescription DomainParamDNSSPFErrorsDescription
	// DNSSPFMechanismsQualifier search by a qualifier of the mechanism.
	DNSSPFMechanismsQualifier DomainParamDNSSPFMechanismsQualifier
	// HTTPExtractTitle search by content of the HTML title tag.
	HTTPExtractTitle DomainParamHTTPExtractTitle
	// HTTPExtractEmail search by emails found on the web-page.
	HTTPExtractEmail DomainParamHTTPExtractEmail
	// HTTPExtractRobots search by content of the robots.txt file.
	HTTPExtractRobots DomainParamHTTPExtractRobots
	// HTTPExtractStyles search by links found in the href attribute of the link HTML tag.
	HTTPExtractStyles DomainParamHTTPExtractStyles
	// HTTPExtractScripts search by links found in the src attribute of the script HTML tag.
	HTTPExtractScripts DomainParamHTTPExtractScripts
	// HTTPExtractMetaName search by HTML meta tag name.
	HTTPExtractMetaName DomainParamHTTPExtractMetaName
	// HTTPExtractLinkHost search by a set of links found on sites.
	HTTPExtractLinkHost DomainParamHTTPExtractLinkHost
	// HTTPExtractMetaValue search by HTML meta tag value.
	HTTPExtractMetaValue DomainParamHTTPExtractMetaValue
	// HTTPExtractFaviconURI search by website favicon URI.
	HTTPExtractFaviconURI DomainParamHTTPExtractFaviconURI
	// HTTPExtractStatusCode search by HTTP response status code.
	HTTPExtractStatusCode DomainParamHTTPExtractStatusCode
	// HTTPExtractFaviconSHA256 search by SHA256 hash of the site favicon.
	HTTPExtractFaviconSHA256 DomainParamHTTPExtractFaviconSHA256
	// HTTPExtractHeadersName search by HTTP response header name.
	HTTPExtractHeadersName DomainParamHTTPExtractHeadersName
	// HTTPExtractDescription search by content of the HTML description meta tag.
	HTTPExtractDescription DomainParamHTTPExtractDescription
	// HTTPExtractHeadersValue search by HTTP response header value.
	HTTPExtractHeadersValue DomainParamHTTPExtractHeadersValue
	// HTTPExtractLinkURL search by a full link found on sites.
	HTTPExtractLinkURL DomainParamHTTPExtractLinkURL
	// HTTPExtractFinalRedirectURL find hosts that redirect to a specific domain.
	HTTPExtractFinalRedirectURL DomainParamHTTPExtractFinalRedirectURL
	// CVEID search by Common Vulnerability and Exposures (CVE) ID. Example: CVE-2019-16905.
	CVEID DomainParamCVEID
	// CVESeverity search by CVE severity. Options: "high", "medium", "low".
	CVESeverity DomainParamCVESeverity
	// TechnologyName search by technology name. Example: PHP.
	TechnologyName DomainParamTechnologyName
	// TechnologyVersion search by technology version. Example: 5.6.40.
	TechnologyVersion DomainParamTechnologyVersion
	// CertificateSHA256 search by certificate SHA256 fingerprint.
	CertificateSHA256 DomainParamCertificateSHA256
	// CertificateVersion search by a specific SSL/TLS version. Example: SSLv3.
	CertificateVersion DomainParamCertificateVersion
	// WhoisRegistrarWhoisServer search by WHOIS server domain name.
	WhoisRegistrarWhoisServer DomainParamWhoisRegistrarWhoisServer
	// WhoisRegistrantOrg search by the name of organization who has registered the domain name.
	WhoisRegistrantOrg DomainParamWhoisRegistrantOrg
	// WhoisRegistrarName search by registrar name.
	WhoisRegistrarName DomainParamWhoisRegistrarName
	// WhoisRegistrantName search by registrant name.
	WhoisRegistrantName DomainParamWhoisRegistrantName
	// WhoisRegistrarEmail search by registrar email.
	WhoisRegistrarEmail DomainParamWhoisRegistrarEmail
	// WhoisRegistrantPhone search by registrant phone.
	WhoisRegistrantPhone DomainParamWhoisRegistrantPhone
	// WhoisRegistrantEmail search by registrant email.
	WhoisRegistrantEmail DomainParamWhoisRegistrantEmail
	// WithoutSuffix Search by domain name without public suffix.
	WithoutSuffix DomainParamWithoutSuffix
	// HTTPExtractTrackerGoogleAnalyticsKey search domains with the homepage containing the specified
	// Google Analytics key.
	HTTPExtractTrackerGoogleAnalyticsKey DomainParamHTTPExtractTrackerGoogleAnalyticsKey
	// HTTPExtractTrackerGooglePlayApp search domains with the homepage containing the specified Google
	// Play app identifier.
	HTTPExtractTrackerGooglePlayApp DomainParamHTTPExtractTrackerGooglePlayApp
	// HTTPExtractTrackerAppleItunesApp search domains with the homepage containing the specified Apple
	// iTunes app identifier.
	HTTPExtractTrackerAppleItunesApp DomainParamHTTPExtractTrackerAppleItunesApp
	// HTTPExtractTrackerGoogleSiteVerification search domains with the homepage containing the specified
	// Google Site verification identifier.
	HTTPExtractTrackerGoogleSiteVerification DomainParamHTTPExtractTrackerGoogleSiteVerification
	// CertificateIssuerOrg search domains by certificate issuer organization.
	CertificateIssuerOrg DomainParamCertificateIssuerOrg
	// CertificateIssuerCname search domains by certificate issuer CNAME.
	CertificateIssuerCname DomainParamCertificateIssuerCname
	// CertificateIssuerEmail search domains by certificate issuer email.
	CertificateIssuerEmail DomainParamCertificateIssuerEmail
	// CertificateIssuerOrganizationalUnit search domains by certificate issuer organizational unit.
	CertificateIssuerOrganizationalUnit DomainParamCertificateIssuerOrganizationalUnit
	// CertificateIssuerCountry search domains by certificate issuer country.
	CertificateIssuerCountry DomainParamCertificateIssuerCountry
	// CertificateIssuerState search domains by certificate issuer state.
	CertificateIssuerState DomainParamCertificateIssuerState
	// CertificateIssuerLocality search domains by certificate issuer locality.
	CertificateIssuerLocality DomainParamCertificateIssuerLocality
	// CertificateSubjectOrg search domains by certificate subject organization.
	CertificateSubjectOrg DomainParamCertificateSubjectOrg
	// CertificateSubjectCNAME search domains by certificate subject CNAME.
	CertificateSubjectCNAME DomainParamCertificateSubjectCNAME
	// CertificateSubjectEmail search domains by certificate subject email.
	CertificateSubjectEmail DomainParamCertificateSubjectEmail
	// CertificateSubjectOrganizationalUnit search domains by certificate subject organizational unit.
	CertificateSubjectOrganizationalUnit DomainParamCertificateSubjectOrganizationalUnit
	// CertificateSubjectCountry search domains by certificate subject country.
	CertificateSubjectCountry DomainParamCertificateSubjectCountry
	// CertificateSubjectState search domains by certificate subject state.
	CertificateSubjectState DomainParamCertificateSubjectState
	// CertificateSubjectLocality search domains by certificate subject locality.
	CertificateSubjectLocality DomainParamCertificateSubjectLocality
	// CertificateSubjectSerialNumber search domains by certificate subject serial number.
	CertificateSubjectSerialNumber DomainParamCertificateSubjectSerialNumber
	// CertificateValidityEnd search domains by certificate validity end date.
	CertificateValidityEnd DomainParamCertificateValidityEnd
	// GeoCountryISOCode find domains by the ISO code of the country they are located in.
	GeoCountryISOCode DomainParamGeoCountryISOCode
	// GeoCountry find domains by the country they are located in.
	GeoCountry DomainParamGeoCountry
	// GeoCity find domains by the city they are located in.
	GeoCity DomainParamGeoCity
	// ASNum find domains by the autonomous system number.
	ASNum DomainParamASNum
	// OrganizationIndustry find domains by the organization industry.
	OrganizationIndustry DomainParamOrganizationIndustry
	// OrganizationEmail find domains by the organization email.
	OrganizationEmail DomainParamOrganizationEmail
	// OrganizationName find domains by the organization name.
	OrganizationName DomainParamOrganizationName
	// OrganizationLegalName find domains by the organization legal name.
	OrganizationLegalName DomainParamOrganizationLegalName
	// ISP find domains by the autonomous system ISP.
	ISP DomainParamISP
	// ASOrg find domains by the autonomous system organization.
	ASOrg DomainParamASOrg
	// IsPTR find domain names that have been found in any DNS PTR record.
	IsPTR DomainParamIsPTR
	// IsMX find domains that are fully qualified domain names of a mail server.
	IsMX DomainParamIsMX
	// IsNS find domains that are fully qualified domain names of a nameserver.
	IsNS DomainParamIsNS
	// IsSubdomain find domains that are subdomains.
	IsSubdomain DomainParamIsSubdomain
	// IsCNAME find domain names that have been found in any CNAME record.
	IsCNAME DomainParamIsCNAME
}

DomainParams for Domain search:

All search parameters see at https://spyse-dev.readme.io/reference/domains#domain_search

type DomainScrollResponse

type DomainScrollResponse struct {
	SearchID   string   `json:"search_id"`
	TotalItems int64    `json:"total_items"`
	Offset     int      `json:"offset"`
	Items      []Domain `json:"items"`
}

type DomainService

type DomainService struct {
	Client *Client
}

DomainService handles Domains for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/domains

func NewDomainService

func NewDomainService(c *Client) *DomainService

func (*DomainService) Details

func (s *DomainService) Details(ctx context.Context, domainName string) (*Domain, error)

Details returns a full representation of the Domain for the given Domain name.

Spyse API docs: https://spyse-dev.readme.io/reference/domains#domain_details

func (*DomainService) Params

func (s *DomainService) Params() DomainParams

func (*DomainService) ScrollSearch

func (s *DomainService) ScrollSearch(
	ctx context.Context,
	params []map[string]SearchOption,
	searchID string,
) (*DomainScrollResponse, error)

ScrollSearch returns a list of Domains that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/domains#domain_scroll_search

func (*DomainService) Search

func (s *DomainService) Search(
	ctx context.Context,
	params []map[string]SearchOption,
	limit, offset int,
) ([]Domain, error)

Search returns a list of Domains that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/domains#domain_search

func (*DomainService) SearchCount

func (s *DomainService) SearchCount(ctx context.Context, params []map[string]SearchOption) (int64, error)

SearchCount returns a count of domains that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/domains#domain_search_count

type DomainTechnologyNameOperators

type DomainTechnologyNameOperators struct {
	Equal    string
	Contains string
}

type DomainTechnologyVersionOperators

type DomainTechnologyVersionOperators struct {
	Equal string
	Gte   string
	Lte   string
}

type DomainWhoisRegistrantEmailOperators

type DomainWhoisRegistrantEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainWhoisRegistrantNameOperators

type DomainWhoisRegistrantNameOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainWhoisRegistrantOrgOperators

type DomainWhoisRegistrantOrgOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainWhoisRegistrantPhoneOperators

type DomainWhoisRegistrantPhoneOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainWhoisRegistrarEmailOperators

type DomainWhoisRegistrarEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainWhoisRegistrarNameOperators

type DomainWhoisRegistrarNameOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type DomainWhoisRegistrarWhoisServerOperators

type DomainWhoisRegistrarWhoisServerOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type DomainWithoutSuffixOperators

type DomainWithoutSuffixOperators struct {
	Equal string
}

type EcdsaPublicKey

type EcdsaPublicKey struct {
	B      string `json:"b,omitempty"`
	Curve  string `json:"curve,omitempty"`
	Gx     string `json:"gx,omitempty"`
	Gy     string `json:"gy,omitempty"`
	Length int64  `json:"length,omitempty"`
	N      string `json:"n,omitempty"`
	P      string `json:"p,omitempty"`
	Pub    string `json:"pub,omitempty"`
	X      string `json:"x,omitempty"`
	Y      string `json:"y,omitempty"`
}

type Email

type Email struct {
	Email     string    `json:"email,omitempty"`
	Sources   []Sources `json:"sources,omitempty"`
	UpdatedAt string    `json:"updated_at,omitempty"`
}

type EmailOperators

type EmailOperators struct {
	Equal       string
	EndsWith    string
	NotEqual    string
	StartsWith  string
	Contains    string
	NotContains string
}

type EmailParams

type EmailParams struct {
	// Email search by the email address.
	Email ParamEmail
}

EmailParams for Email search:

ALl search parameters see at https://spyse-dev.readme.io/reference/emailss#email_search

type EmailService

type EmailService struct {
	Client *Client
}

EmailService handles Emails for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/emails

func NewEmailService

func NewEmailService(c *Client) *EmailService

func (*EmailService) Details

func (s *EmailService) Details(ctx context.Context, email string) (*Email, error)

Details returns a full representation of the emails for the given emails address.

Spyse API docs: https://spyse-dev.readme.io/reference/emails#email_details

func (*EmailService) Params

func (s *EmailService) Params() EmailParams

func (*EmailService) ScrollSearch

func (s *EmailService) ScrollSearch(
	ctx context.Context,
	params []map[string]SearchOption,
	searchID string,
) (*ScrollResponse, error)

ScrollSearch returns a list of Emails that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/emails#email_scroll_search

func (*EmailService) Search

func (s *EmailService) Search(
	ctx context.Context, params []map[string]SearchOption, limit, offset int) ([]Email, error,
)

Search returns a list of Emails that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/emails#email_search

func (*EmailService) SearchCount

func (s *EmailService) SearchCount(ctx context.Context, params []map[string]SearchOption) (int64, error)

SearchCount returns a count of emails that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/emails#email_search_count

type ErrResponse

type ErrResponse struct {
	Err *Error `json:"error,omitempty"`
}

func (*ErrResponse) Error

func (e *ErrResponse) Error() string

func (*ErrResponse) Is

func (e *ErrResponse) Is(target error) bool

type Error

type Error struct {
	Status  int           `json:"-"`
	Code    string        `json:"code"`
	Message string        `json:"message"`
	Errors  []*FieldError `json:"errors,omitempty"`
}

Error message from Spyse

func (*Error) Error

func (e *Error) Error() string

type ExtensionsCertPoliciesUserNotice

type ExtensionsCertPoliciesUserNotice struct {
	ExplicitText    string          `json:"explicit_text,omitempty"`
	NoticeReference NoticeReference `json:"notice_reference,omitempty"`
}

type ExtractCookie

type ExtractCookie struct {
	Domain   string `json:"domain,omitempty"`
	Expire   string `json:"expire,omitempty"`
	HTTPOnly *bool  `json:"http_only,omitempty"`
	Key      string `json:"key,omitempty"`
	MaxAge   int64  `json:"max_age,omitempty"`
	Path     string `json:"path,omitempty"`
	Security *bool  `json:"security,omitempty"`
	Value    string `json:"value,omitempty"`
}

type ExtractData

type ExtractData struct {
	Cookies             []ExtractCookie `json:"cookies,omitempty"`
	Description         string          `json:"description,omitempty"`
	Emails              []string        `json:"emails,omitempty"`
	ExternalRedirectURI URIParts        `json:"final_redirect_url,omitempty"`
	ExtractedAt         string          `json:"extracted_at,omitempty"`
	FaviconSHA256       string          `json:"favicon_sha256,omitempty"`
	HTTPHeaders         []HTTPHeaders   `json:"http_headers,omitempty"`
	HTTPStatusCode      *int64          `json:"http_status_code,omitempty"`
	Links               []Hyperlink     `json:"links,omitempty"`
	MetaTags            []MetaTag       `json:"meta_tags,omitempty"`
	RobotsTXT           string          `json:"robots_txt,omitempty"`
	Scripts             []string        `json:"scripts,omitempty"`
	Styles              []string        `json:"styles,omitempty"`
	Title               string          `json:"title,omitempty"`
}

type FieldError

type FieldError struct {
	Code     string `json:"code"`
	Location string `json:"location"`
	Message  string `json:"message,omitempty"`
}

type GeoData

type GeoData struct {
	IP    string `json:"ip"`
	ASNum *int   `json:"as_num"`
	ASOrg string `json:"as_org"`
	ISP   string `json:"isp"`
	LocationData
}

type GeoPoint

type GeoPoint struct {
	Lat float64 `json:"lat,omitempty"`
	Lon float64 `json:"lon,omitempty"`
}

GeoPoint is a geographic position described via latitude and longitude.

type HTTPClient

type HTTPClient interface {
	Do(request *http.Request) (response *http.Response, err error)
}

HTTPClient defines an interface for an http.Client implementation so that alternative http Clients can be passed in for making requests

type HTTPHeaders

type HTTPHeaders struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type HistoryService

type HistoryService struct {
	Client *Client
}

HistoryService handles History for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/history

func NewHistoryService

func NewHistoryService(c *Client) *HistoryService

func (*HistoryService) DNS

func (s *HistoryService) DNS(
	ctx context.Context,
	domain, dnsType string,
	limit, offset int,
) ([]DNSSimpleHistorical, error)

DNS returns the DNS history of the given domain.

Spyse API docs: https://spyse-dev.readme.io/reference/history#dns_history

func (*HistoryService) Whois

func (s *HistoryService) Whois(ctx context.Context, domain string, limit, offset int) ([]WhoisHistory, error)

Whois returns the WHOIS history of the given domain.

Spyse API docs: https://spyse-dev.readme.io/reference/history#domain_whois_history

type Hyperlink struct {
	Anchor              string              `json:"anchor,omitempty"`
	HyperlinkAttributes HyperlinkAttributes `json:"attributes,omitempty"`
}

type HyperlinkAttributes

type HyperlinkAttributes struct {
	URI URIParts `json:"uri,omitempty"`
}

type IP

type IP struct {
	CVEList      []IPCVE         `json:"cve_list,omitempty"`
	IPAddress    string          `json:"ip,omitempty"`
	GEOInfo      LocationData    `json:"geo_info,omitempty"`
	ISPInfo      ISPInfo         `json:"isp_info,omitempty"`
	PtrRecord    PtrRecord       `json:"ptr_record,omitempty"`
	Ports        []Port          `json:"ports,omitempty"`
	Score        Score           `json:"security_score,omitempty"`
	UpdatedAt    string          `json:"updated_at,omitempty"`
	CIDR         string          `json:"cidr,omitempty"`
	Technologies []Technology    `json:"technologies,omitempty"`
	Abuses       ShortAbusesInfo `json:"abuses,omitempty"`
}

IP represents IP record with geo info and DNS PTR record

type IPASNumOperators

type IPASNumOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPASOrgOperators

type IPASOrgOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type IPAbusesCategoryNameOperators

type IPAbusesCategoryNameOperators struct {
	Equal    string
	Contains string
}

type IPAbusesConfidenceScoreOperators

type IPAbusesConfidenceScoreOperators struct {
	Gte string
	Lte string
}

type IPAbusesIsWhitelistStrongOperators

type IPAbusesIsWhitelistStrongOperators struct {
	Equal string
}

type IPAbusesIsWhitelistWeakOperators

type IPAbusesIsWhitelistWeakOperators struct {
	Equal string
}

type IPAbusesReportedAtOperators added in v1.2.1

type IPAbusesReportedAtOperators struct {
	Equal string
	Gte   string
	Lte   string
}

type IPAbusesReportsCommentOperators

type IPAbusesReportsCommentOperators struct {
	Equal    string
	Contains string
}

type IPAbusesReportsNumOperators

type IPAbusesReportsNumOperators struct {
	Gte string
	Lte string
}

type IPBulkSearchRequest

type IPBulkSearchRequest struct {
	IPList []string `json:"ip_list" schema:"ip_list"`
	PaginatedRequest
}

type IPCIDROperators

type IPCIDROperators struct {
	Equal string
}

type IPCVE

type IPCVE struct {
	ID        string  `json:"id,omitempty"`
	BaseScore float32 `json:"base_score_cvss2,omitempty"`
	Ports     []int   `json:"ports,omitempty"`
	Tech      string  `json:"technology,omitempty"`
}

type IPGeoCityOperators

type IPGeoCityOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPGeoCountryISOCodeOperators

type IPGeoCountryISOCodeOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPGeoCountryOperators

type IPGeoCountryOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPHTTPExtractDescriptionOperators

type IPHTTPExtractDescriptionOperators struct {
	Equal      string
	StartsWith string
	Exists     string
	NotExists  string
}

type IPHTTPExtractEmailOperators

type IPHTTPExtractEmailOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type IPHTTPExtractFaviconSHA256Operators

type IPHTTPExtractFaviconSHA256Operators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPHTTPExtractFinalRedirectURLOperators

type IPHTTPExtractFinalRedirectURLOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type IPHTTPExtractHeadersNameOperators

type IPHTTPExtractHeadersNameOperators struct {
	Equal    string
	Contains string
}

type IPHTTPExtractHeadersValueOperators

type IPHTTPExtractHeadersValueOperators struct {
	Equal    string
	Contains string
}

type IPHTTPExtractLinkHostOperators

type IPHTTPExtractLinkHostOperators struct {
	Contains   string
	StartsWith string
	EndsWith   string
}

type IPHTTPExtractLinkURLOperators

type IPHTTPExtractLinkURLOperators struct {
	Contains   string
	StartsWith string
	EndsWith   string
}

type IPHTTPExtractMetaNameOperators

type IPHTTPExtractMetaNameOperators struct {
	Equal    string
	Contains string
}

type IPHTTPExtractMetaValueOperators

type IPHTTPExtractMetaValueOperators struct {
	Equal    string
	Contains string
}

type IPHTTPExtractRobotsOperators

type IPHTTPExtractRobotsOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type IPHTTPExtractScriptsOperators

type IPHTTPExtractScriptsOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type IPHTTPExtractStatusCodeOperators

type IPHTTPExtractStatusCodeOperators struct {
	Equal     string
	Gte       string
	Lte       string
	Exists    string
	NotExists string
}

type IPHTTPExtractStylesOperators

type IPHTTPExtractStylesOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type IPHTTPExtractTitleOperators

type IPHTTPExtractTitleOperators struct {
	Equal      string
	StartsWith string
	Exists     string
	NotExists  string
}

type IPHTTPExtractTrackerAdsenseIDOperators

type IPHTTPExtractTrackerAdsenseIDOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPHTTPExtractTrackerAppleItunesAppOperators

type IPHTTPExtractTrackerAppleItunesAppOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type IPHTTPExtractTrackerGoogleAnalyticsKeyOperators

type IPHTTPExtractTrackerGoogleAnalyticsKeyOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPHTTPExtractTrackerGooglePlayAppOperators

type IPHTTPExtractTrackerGooglePlayAppOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type IPHTTPExtractTrackerGoogleSiteVerificationOperators

type IPHTTPExtractTrackerGoogleSiteVerificationOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPISPOperators

type IPISPOperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type IPInfo

type IPInfo struct {
	Score           Score           `json:"score,omitempty"`
	SeverityDetails SeverityDetails `json:"severity_details,omitempty"`
	CVEList         []IPCVE         `json:"cve_list,omitempty"`
	OSH             *int64          `json:"osh,omitempty"`
	GeoData
}

type IPOpenPortOperators

type IPOpenPortOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPPTROperators

type IPPTROperators struct {
	Equal     string
	Contains  string
	Exists    string
	NotExists string
}

type IPParamASNum

type IPParamASNum struct {
	Name     string
	Operator IPASNumOperators
}

type IPParamASOrg

type IPParamASOrg struct {
	Name     string
	Operator IPASOrgOperators
}

type IPParamAbusesCategoryName

type IPParamAbusesCategoryName struct {
	Name     string
	Operator IPAbusesCategoryNameOperators
}

type IPParamAbusesConfidenceScore

type IPParamAbusesConfidenceScore struct {
	Name     string
	Operator IPAbusesConfidenceScoreOperators
}

type IPParamAbusesIsWhitelistStrong

type IPParamAbusesIsWhitelistStrong struct {
	Name     string
	Operator IPAbusesIsWhitelistStrongOperators
}

type IPParamAbusesIsWhitelistWeak

type IPParamAbusesIsWhitelistWeak struct {
	Name     string
	Operator IPAbusesIsWhitelistWeakOperators
}

type IPParamAbusesReportedAt added in v1.2.1

type IPParamAbusesReportedAt struct {
	Name     string
	Operator IPAbusesReportedAtOperators
}

type IPParamAbusesReportsComment

type IPParamAbusesReportsComment struct {
	Name     string
	Operator IPAbusesReportsCommentOperators
}

type IPParamAbusesReportsNum

type IPParamAbusesReportsNum struct {
	Name     string
	Operator IPAbusesReportsNumOperators
}

type IPParamCIDR

type IPParamCIDR struct {
	Name     string
	Operator IPCIDROperators
}

type IPParamGeoCity

type IPParamGeoCity struct {
	Name     string
	Operator IPGeoCityOperators
}

type IPParamGeoCountry

type IPParamGeoCountry struct {
	Name     string
	Operator IPGeoCountryOperators
}

type IPParamGeoCountryISOCode

type IPParamGeoCountryISOCode struct {
	Name     string
	Operator IPGeoCountryISOCodeOperators
}

type IPParamHTTPExtractDescription

type IPParamHTTPExtractDescription struct {
	Name     string
	Operator IPHTTPExtractDescriptionOperators
}

type IPParamHTTPExtractEmail

type IPParamHTTPExtractEmail struct {
	Name     string
	Operator IPHTTPExtractEmailOperators
}

type IPParamHTTPExtractFaviconSHA256

type IPParamHTTPExtractFaviconSHA256 struct {
	Name     string
	Operator IPHTTPExtractFaviconSHA256Operators
}

type IPParamHTTPExtractFinalRedirectURL

type IPParamHTTPExtractFinalRedirectURL struct {
	Name     string
	Operator IPHTTPExtractFinalRedirectURLOperators
}

type IPParamHTTPExtractHeadersName

type IPParamHTTPExtractHeadersName struct {
	Name     string
	Operator IPHTTPExtractHeadersNameOperators
}

type IPParamHTTPExtractHeadersValue

type IPParamHTTPExtractHeadersValue struct {
	Name     string
	Operator IPHTTPExtractHeadersValueOperators
}

type IPParamHTTPExtractLinkHost

type IPParamHTTPExtractLinkHost struct {
	Name     string
	Operator IPHTTPExtractLinkHostOperators
}

type IPParamHTTPExtractLinkURL

type IPParamHTTPExtractLinkURL struct {
	Name     string
	Operator IPHTTPExtractLinkURLOperators
}

type IPParamHTTPExtractMetaName

type IPParamHTTPExtractMetaName struct {
	Name     string
	Operator IPHTTPExtractMetaNameOperators
}

type IPParamHTTPExtractMetaValue

type IPParamHTTPExtractMetaValue struct {
	Name     string
	Operator IPHTTPExtractMetaValueOperators
}

type IPParamHTTPExtractRobots

type IPParamHTTPExtractRobots struct {
	Name     string
	Operator IPHTTPExtractRobotsOperators
}

type IPParamHTTPExtractScripts

type IPParamHTTPExtractScripts struct {
	Name     string
	Operator IPHTTPExtractScriptsOperators
}

type IPParamHTTPExtractStatusCode

type IPParamHTTPExtractStatusCode struct {
	Name     string
	Operator IPHTTPExtractStatusCodeOperators
}

type IPParamHTTPExtractStyles

type IPParamHTTPExtractStyles struct {
	Name     string
	Operator IPHTTPExtractStylesOperators
}

type IPParamHTTPExtractTitle

type IPParamHTTPExtractTitle struct {
	Name     string
	Operator IPHTTPExtractTitleOperators
}

type IPParamHTTPExtractTrackerAdsenseID

type IPParamHTTPExtractTrackerAdsenseID struct {
	Name     string
	Operator IPHTTPExtractTrackerAdsenseIDOperators
}

type IPParamHTTPExtractTrackerAppleItunesApp

type IPParamHTTPExtractTrackerAppleItunesApp struct {
	Name     string
	Operator IPHTTPExtractTrackerAppleItunesAppOperators
}

type IPParamHTTPExtractTrackerGoogleAnalyticsKey

type IPParamHTTPExtractTrackerGoogleAnalyticsKey struct {
	Name     string
	Operator IPHTTPExtractTrackerGoogleAnalyticsKeyOperators
}

type IPParamHTTPExtractTrackerGooglePlayApp

type IPParamHTTPExtractTrackerGooglePlayApp struct {
	Name     string
	Operator IPHTTPExtractTrackerGooglePlayAppOperators
}

type IPParamHTTPExtractTrackerGoogleSiteVerification

type IPParamHTTPExtractTrackerGoogleSiteVerification struct {
	Name     string
	Operator IPHTTPExtractTrackerGoogleSiteVerificationOperators
}

type IPParamISP

type IPParamISP struct {
	Name     string
	Operator IPISPOperators
}

type IPParamOpenPort

type IPParamOpenPort struct {
	Name     string
	Operator IPOpenPortOperators
}

type IPParamPTR

type IPParamPTR struct {
	Name     string
	Operator IPPTROperators
}

type IPParamPortBanner

type IPParamPortBanner struct {
	Name     string
	Operator IPPortBannerOperators
}

type IPParamPortCVEID

type IPParamPortCVEID struct {
	Name     string
	Operator IPPortCVEIDOperators
}

type IPParamPortService

type IPParamPortService struct {
	Name     string
	Operator IPPortServiceOperators
}

type IPParamPortTechnologyName

type IPParamPortTechnologyName struct {
	Name     string
	Operator IPPortTechnologyNameOperators
}

type IPParamPortTechnologyVersion

type IPParamPortTechnologyVersion struct {
	Name     string
	Operator IPPortTechnologyVersionOperators
}

type IPParamSecurityScore

type IPParamSecurityScore struct {
	Name     string
	Operator IPSecurityScoreOperators
}

type IPParamTechnologyCPE

type IPParamTechnologyCPE struct {
	Name     string
	Operator IPTechnologyCPEOperators
}

type IPParams

type IPParams struct {
	// CIDR search IPs by CIDR.
	CIDR IPParamCIDR
	// ISP search IPs by the internet service provider name.
	ISP IPParamISP
	// PTR search IPs PTR record value.
	PTR IPParamPTR
	// ASOrg search IPs by the autonomous system organization name.
	ASOrg IPParamASOrg
	// ASNum search IPs by the autonomous system number.
	ASNum IPParamASNum
	// GeoCity search IPs by the city they are located in.
	GeoCity IPParamGeoCity
	// GeoCountry search IPs  by the country they are located in.
	GeoCountry IPParamGeoCountry
	// GeoCountryISOCode search IPs by the country ISO code.
	GeoCountryISOCode IPParamGeoCountryISOCode
	// TechnologyCPE search IPs by technology CPE. Example: "cpe:2.3:a:apache:http_server".
	TechnologyCPE IPParamTechnologyCPE
	// PortTechnologyName find IPs hosting the specified technology. Examples: “Pure-FTPd”, “Dovecot pop3d”,
	// "Postfix smtpd".
	PortTechnologyName IPParamPortTechnologyName
	// PortTechnologyVersion find IPs hosting the specified technology version. Examples: “2.4.18”
	// (Apache version), “7.4” (OpenSSH version), "1.3.5rc3" (ProFTPD version).
	PortTechnologyVersion IPParamPortTechnologyVersion
	// OpenPort the open port number to search for. For ex. by setting the value "22" and operator "eq"
	// you will search for all IP hosts that have port 22 opened.
	OpenPort IPParamOpenPort
	// PortCVEID find IPs affected by a specific CVE. Example: CVE-2019-12407.
	PortCVEID IPParamPortCVEID
	// PortBanner search IPs by its port banner content.
	PortBanner IPParamPortBanner
	// PortService search IPs by services detected on ports. Examples: "ssh”, “http”, “ftp” etc.
	PortService IPParamPortService
	// HTTPExtractDescription search IPs that host websites (on any port) with the homepage containing
	// the specified description.
	HTTPExtractDescription IPParamHTTPExtractDescription
	// HTTPExtractTitle search IPs that host websites (on any port) with the homepage containing the specified title.
	HTTPExtractTitle IPParamHTTPExtractTitle
	// HTTPExtractEmail search IPs that host websites (on any port) with the homepage containing the specified
	// email address.
	HTTPExtractEmail IPParamHTTPExtractEmail
	// HTTPExtractRobots search IPs that host websites (on any port) with the homepage containing the
	// specified robots.txt content.
	HTTPExtractRobots IPParamHTTPExtractRobots
	// HTTPExtractStyles search IPs that host websites (on any port) with the homepage containing <link>
	// tags with specified "href" attribute substring.
	HTTPExtractStyles IPParamHTTPExtractStyles
	// HTTPExtractScripts search IPs that host websites (on any port) with the homepage containing <script>
	// tags with specified "src" attribute substring.
	HTTPExtractScripts IPParamHTTPExtractScripts
	// HTTPExtractTrackerAdsenseID search IPs that host websites (on any port) with the homepage containing the
	// specified Google AdSense identifier.
	HTTPExtractTrackerAdsenseID IPParamHTTPExtractTrackerAdsenseID
	// HTTPExtractMetaName search IPs that host websites (on any port) with the homepage containing the
	// specified HTML meta tag name.
	HTTPExtractMetaName IPParamHTTPExtractMetaName
	// HTTPExtractMetaValue search IPs that host websites (on any port) with the homepage containing the
	// specified HTML meta tag value.
	HTTPExtractMetaValue IPParamHTTPExtractMetaValue
	// HTTPExtractLinkHost search IPs that host websites (on any port) with the homepage containing links
	// with the specified substrings in their URL host.
	HTTPExtractLinkHost IPParamHTTPExtractLinkHost
	// HTTPExtractStatusCode search IPs that host websites (on any port) returning the specified status code.
	HTTPExtractStatusCode IPParamHTTPExtractStatusCode
	// HTTPExtractFaviconSHA256 search IPs that host websites (on any port) with the homepage containing
	// favicon with the specified SHA256 hash value.
	HTTPExtractFaviconSHA256 IPParamHTTPExtractFaviconSHA256
	// HTTPExtractHeadersName search IPs that host websites (on any port) returning the specified HTTP
	// header name.
	HTTPExtractHeadersName IPParamHTTPExtractHeadersName
	// HTTPExtractHeadersValue search IPs that host websites (on any port) returning the specified HTTP
	// header value.
	HTTPExtractHeadersValue IPParamHTTPExtractHeadersValue
	// HTTPExtractLinkURL search IPs that host websites (on any port) with the homepage containing links
	// with the specified substrings in their URL.
	HTTPExtractLinkURL IPParamHTTPExtractLinkURL
	// HTTPExtractFinalRedirectURL find IPs that host websites redirecting to the specified URL.
	HTTPExtractFinalRedirectURL IPParamHTTPExtractFinalRedirectURL
	// HTTPExtractTrackerGoogleAnalyticsKey search IPs that host websites (on any port) with the homepage
	// containing the specified Google Analytics key.
	HTTPExtractTrackerGoogleAnalyticsKey IPParamHTTPExtractTrackerGoogleAnalyticsKey
	// HTTPExtractTrackerGooglePlayApp search IPs that host websites (on any port) with the homepage containing
	// the specified Google Play app identifier.
	HTTPExtractTrackerGooglePlayApp IPParamHTTPExtractTrackerGooglePlayApp
	// HTTPExtractTrackerAppleItunesApp search IPs that host websites (on any port) with the homepage containing
	// the specified Apple iTunes app identifier.
	HTTPExtractTrackerAppleItunesApp IPParamHTTPExtractTrackerAppleItunesApp
	// HTTPExtractTrackerGoogleSiteVerification Search IPs that host websites (on any port) with the homepage
	// containing the specified Google Site verification identifier.
	HTTPExtractTrackerGoogleSiteVerification IPParamHTTPExtractTrackerGoogleSiteVerification
	// AbusesReportsNum find IPs by the number of abuses received.
	AbusesReportsNum IPParamAbusesReportsNum
	// AbusesReportsComment find IPs by the abuses comment.
	AbusesReportsComment IPParamAbusesReportsComment
	// AbusesConfidenceScore find IPs by abuse confidence score.
	AbusesConfidenceScore IPParamAbusesConfidenceScore
	// AbusesCategoryName find IPs by abuse category name.
	AbusesCategoryName IPParamAbusesCategoryName
	// AbusesReportedAt find IPs by abuse reported at date.
	AbusesReportedAt IPParamAbusesReportedAt
	// AbusesIsWhitelistStrong find IPs, which contains benign crawlers verified by reverse-forward DNS
	// resolution checks.
	AbusesIsWhitelistStrong IPParamAbusesIsWhitelistStrong
	// AbusesIsWhitelistWeak find IPs, that are within our CIDR whitelist, which contain net blocks
	// from organizations we believe to be benign or often mistaken for malicious.
	AbusesIsWhitelistWeak IPParamAbusesIsWhitelistWeak
	// SecurityScore search IPs by Spyse security score.
	SecurityScore IPParamSecurityScore
}

IPParams for IPs search:

ALl search parameters see at https://spyse-dev.readme.io/reference/ips#ip_search

type IPPortBannerOperators

type IPPortBannerOperators struct {
	Contains  string
	Exists    string
	NotExists string
}

type IPPortCVEIDOperators

type IPPortCVEIDOperators struct {
	Equal string
}

type IPPortServiceOperators

type IPPortServiceOperators struct {
	Equal     string
	Exists    string
	NotExists string
}

type IPPortTechnologyNameOperators

type IPPortTechnologyNameOperators struct {
	Equal    string
	Contains string
}

type IPPortTechnologyVersionOperators

type IPPortTechnologyVersionOperators struct {
	Equal string
	Gte   string
	Lte   string
}

type IPScrollResponse

type IPScrollResponse struct {
	SearchID   string `json:"search_id"`
	TotalItems int64  `json:"total_items"`
	Offset     int    `json:"offset"`
	Items      []IP   `json:"items"`
}

type IPSecurityScoreOperators

type IPSecurityScoreOperators struct {
	Gte string
	Lte string
}

type IPService

type IPService struct {
	Client *Client
}

IPService handles IPs for the Spyse API.

Spyse API docs: https://spyse-dev.readme.io/reference/ips

func NewIPService

func NewIPService(c *Client) *IPService

func (*IPService) Details

func (s *IPService) Details(ctx context.Context, ip string) (*IP, error)

Details returns a full representation of the IP for the given IP address.

Spyse API docs: https://spyse-dev.readme.io/reference/ips#ip_details

func (*IPService) Params

func (s *IPService) Params() IPParams

func (*IPService) ScrollSearch

func (s *IPService) ScrollSearch(
	ctx context.Context,
	params []map[string]SearchOption,
	searchID string,
) (*IPScrollResponse, error)

ScrollSearch returns a list of IPs that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/ips#ip_scroll_search

func (*IPService) Search

func (s *IPService) Search(
	ctx context.Context,
	params []map[string]SearchOption,
	limit, offset int,
) ([]IP, error)

Search returns a paginated list of IPs that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/ips#ip_search

func (*IPService) SearchCount

func (s *IPService) SearchCount(ctx context.Context, params []map[string]SearchOption) (int64, error)

SearchCount returns a count of IPs that match the specified search params.

Spyse API docs: https://spyse-dev.readme.io/reference/ips#ip_search_count

type IPTechnologyCPEOperators

type IPTechnologyCPEOperators struct {
	Equal    string
	Contains string
}

type IPV4Prefixes

type IPV4Prefixes struct {
	CIDR string `json:"cidr,omitempty"`
	ISP  string `json:"isp,omitempty"`
}

type IPV6Prefixes

type IPV6Prefixes struct {
	CIDR *string `json:"cidr,omitempty"`
	ISP  *string `json:"isp,omitempty"`
}

type ISPInfo

type ISPInfo struct {
	ASNum     *int   `json:"as_num,omitempty"`
	ASOrg     string `json:"as_org,omitempty"`
	ISP       string `json:"isp,omitempty"`
	UpdatedAt string `json:"updated_at,omitempty"`
}

ISPInfo - info about ISP, AS, organization

type Impact

type Impact struct {
	BaseMetricV2 BaseMetricV2 `json:"baseMetricV2,omitempty"`
	BaseMetricV3 BaseMetricV3 `json:"baseMetricV3,omitempty"`
}

type Info

type Info struct {
	Score           Score           `json:"score,omitempty"`
	SeverityDetails SeverityDetails `json:"severity_details,omitempty"`
	CVEList         []IPCVE         `json:"cve_list,omitempty"`
	OSH             *int64          `json:"osh,omitempty"`
	GeoData
}

type KeyAlgorithm

type KeyAlgorithm struct {
	Name string `json:"name,omitempty"`
}

type LocationData

type LocationData struct {
	CityName       string   `json:"city_name,omitempty"`
	Country        string   `json:"country,omitempty"`
	CountryISOCode string   `json:"country_iso_code,omitempty"`
	Location       GeoPoint `json:"location,omitempty"`
}

LocationData - geo information

type Mechanisms

type Mechanisms struct {
	Name      string `json:"name,omitempty"`
	Qualifier string `json:"qualifier,omitempty"`
	Value     string `json:"value,omitempty"`
}

type MetaTag

type MetaTag struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type Modifiers

type Modifiers struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type NoticeReference

type NoticeReference struct {
	NoticeNumbers int64  `json:"notice_numbers,omitempty"`
	Organization  string `json:"organization,omitempty"`
}

type Organization

type Organization struct {
	CrunchBase CrunchBase `json:"crunchbase"`
}

type PaginatedRequest

type PaginatedRequest struct {
	// The limit of rows to receive, value must be an integer in range from 1 to 100
	// required: false
	Size int `json:"limit"`
	// The offset of rows iterator,value must be an integer in range from 0 to 9999
	From int `json:"offset"`
}

type ParamEmail

type ParamEmail struct {
	Name     string
	Operator EmailOperators
}

type Port

type Port struct {
	Banner    string       `json:"banner,omitempty"`
	Extract   PortExtract  `json:"http_extract,omitempty"`
	Port      int          `json:"port,omitempty"`
	Tech      []Technology `json:"technology,omitempty"`
	Service   string       `json:"masscan_service_name,omitempty"`
	UpdatedAt string       `json:"updated_at,omitempty"`
	Trackers  Trackers     `json:"trackers,omitempty"`
}

Port represents port record with CPE, CVE info

type PortExtract

type PortExtract struct {
	Cookies             []ExtractCookie `json:"cookies,omitempty"`
	Description         string          `json:"description,omitempty"`
	Emails              []string        `json:"emails,omitempty"`
	ExternalRedirectURI URIParts        `json:"final_redirect_url,omitempty"`
	ExtractedAt         string          `json:"extracted_at,omitempty"`
	FaviconSha256       string          `json:"favicon_sha256,omitempty"`
	HTTPHeaders         []HTTPHeaders   `json:"http_headers,omitempty"`
	HTTPStatusCode      *int            `json:"http_status_code,omitempty"`
	Links               []Hyperlink     `json:"links,omitempty"`
	MetaTags            []MetaTag       `json:"meta_tags,omitempty"`
	RobotsTxt           string          `json:"robots_txt,omitempty"`
	Scripts             []string        `json:"scripts,omitempty"`
	Styles              []string        `json:"styles,omitempty"`
	Title               string          `json:"title,omitempty"`
}

type ProblemType

type ProblemType struct {
	ProblemTypeData []ProblemTypeData `json:"problemtype_data,omitempty"`
}

type ProblemTypeData

type ProblemTypeData struct {
	Description []DescriptionData `json:"description,omitempty"`
}

type PtrRecord

type PtrRecord struct {
	Value     string `json:"value,omitempty"`
	UpdatedAt string `json:"updated_at,omitempty"`
	GeoInfo   []Info `json:"geo_info,omitempty"`
}

PtrRecord of current IP

type QueryBuilder

type QueryBuilder struct {
	Query []map[string]SearchOption
}

func (*QueryBuilder) AppendGroupParams

func (q *QueryBuilder) AppendGroupParams(lst ...QueryParam)

func (*QueryBuilder) AppendParam

func (q *QueryBuilder) AppendParam(lst ...QueryParam)

func (*QueryBuilder) Clear

func (q *QueryBuilder) Clear()

type QueryParam

type QueryParam struct {
	Name     string
	Operator string
	Value    string
}

type RSAPublicKey

type RSAPublicKey struct {
	Exponent int64  `json:"exponent,omitempty"`
	Length   int64  `json:"length,omitempty"`
	Modulus  string `json:"modulus,omitempty"`
}

type References

type References struct {
	ReferencesData []ReferencesData `json:"reference_data,omitempty"`
}

type ReferencesData

type ReferencesData struct {
	URL       string   `json:"url,omitempty"`
	Name      string   `json:"name,omitempty"`
	RefSource string   `json:"refsource,omitempty"`
	Tags      []string `json:"tags,omitempty"`
}

type Report added in v1.2.1

type Report struct {
	Categories []ReportCategory `json:"categories,omitempty"`
	Comment    string           `json:"comment,omitempty"`
	ReportedAt string           `json:"reportedAt,omitempty"`
}

type ReportCategory added in v1.2.1

type ReportCategory struct {
	ID          int64  `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type Response

type Response struct {
	Data  *Data  `json:"data"`
	Error *Error `json:"error"`
}

type SPF

type SPF struct {
	Mechanisms       []Mechanisms      `json:"mechanisms,omitempty"`
	Modifiers        []Modifiers       `json:"modifiers,omitempty"`
	Raw              string            `json:"raw,omitempty"`
	ValidationErrors []ValidationError `json:"validation_errors,omitempty"`
	Version          string            `json:"version,omitempty"`
}

type Score

type Score struct {
	Score *int `json:"score,omitempty"`
}

type ScrollResponse

type ScrollResponse struct {
	SearchID   string  `json:"search_id"`
	TotalItems int64   `json:"total_items"`
	Offset     int     `json:"offset"`
	Items      []Email `json:"items"`
}

type ScrollSearchRequest

type ScrollSearchRequest struct {
	SearchParams []map[string]SearchOption `json:"search_params"`
	SearchID     string                    `json:"search_id"`
}

type SearchOption

type SearchOption struct {
	Operator string `json:"operator"`
	Value    string `json:"value"`
}

type SearchRequest

type SearchRequest struct {
	SearchParams []map[string]SearchOption `json:"search_params"`
	PaginatedRequest
}

type SeverityDetails

type SeverityDetails struct {
	High   int `json:"HIGH,omitempty"`
	Medium int `json:"MEDIUM,omitempty"`
	Low    int `json:"LOW,omitempty"`
}

type ShortAbusesInfo

type ShortAbusesInfo struct {
	ReportsNum int      `json:"reports_num,omitempty"`
	Score      int      `json:"score,omitempty"`
	Reports    []Report `json:"reports,omitempty"`
}

type SignedCertificateTimestamps

type SignedCertificateTimestamps struct {
	LogID     string `json:"log_id,omitempty"`
	Signature string `json:"signature,omitempty"`
	Timestamp int64  `json:"timestamp,omitempty"`
	Version   int64  `json:"version,omitempty"`
}

type Sources

type Sources struct {
	Target   string `json:"target,omitempty"`
	Type     string `json:"type,omitempty"`
	LastSeen string `json:"last_seen,omitempty"`
}

type Technology

type Technology struct {
	Port    int    `json:"port,omitempty"`
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
}

type Time

type Time struct {
	time.Time
}

type TotalCountResponseData

type TotalCountResponseData struct {
	// The precise number of search results that matched the search query.
	TotalCount int64 `json:"total_count"`
}

type Trackers

type Trackers struct {
	AdSenseID              string `json:"adsense_id,omitempty"`
	AppleItunesApp         string `json:"apple_itunes_app,omitempty"`
	GooglePlayApp          string `json:"google_play_app,omitempty"`
	GoogleAnalyticsKey     string `json:"google_analytics_key,omitempty"`
	GoogleSiteVerification string `json:"google_site_verification,omitempty"`
}

type URIParts

type URIParts struct {
	FullURI string `json:"full_uri,omitempty"`
	Host    string `json:"host,omitempty"`
	Path    string `json:"path,omitempty"`
}

type Validation

type Validation struct {
	Reason string `json:"reason,omitempty"`
	Valid  *bool  `json:"is_valid,omitempty"`
}

type ValidationError

type ValidationError struct {
	Description string `json:"description,omitempty"`
	Target      string `json:"target,omitempty"`
}

type WHOIS

type WHOIS struct {
	City         string `json:"city,omitempty"`
	Country      string `json:"country,omitempty"`
	Email        string `json:"email,omitempty"`
	Fax          string `json:"fax,omitempty"`
	FaxExt       string `json:"fax_ext,omitempty"`
	ID           string `json:"id,omitempty"`
	Name         string `json:"name,omitempty"`
	Organization string `json:"organization,omitempty"`
	Phone        string `json:"phone,omitempty"`
	PhoneExt     string `json:"phone_ext,omitempty"`
	PostalCode   string `json:"postal_code,omitempty"`
	Province     string `json:"province,omitempty"`
	Street       string `json:"street,omitempty"`
	StreetExt    string `json:"street_ext,omitempty"`
}

type WHOISParsedData

type WHOISParsedData struct {
	Admin      WHOIS          `json:"admin,omitempty"`
	Registrant WHOIS          `json:"registrant,omitempty"`
	Registrar  WHOISRegistrar `json:"registrar,omitempty"`
	Tech       WHOIS          `json:"tech,omitempty"`
	UpdatedAt  string         `json:"updated_at,omitempty"`
}

type WHOISRegistrar

type WHOISRegistrar struct {
	CreatedDate    string `json:"created_date,omitempty"`
	DomainDNSSec   string `json:"domain_dnssec,omitempty"`
	DomainID       string `json:"domain_id,omitempty"`
	DomainName     string `json:"domain_name,omitempty"`
	DomainStatus   string `json:"domain_status,omitempty"`
	Emails         string `json:"emails,omitempty"`
	ExpirationDate string `json:"expiration_date,omitempty"`
	NameServers    string `json:"name_servers,omitempty"`
	ReferralURL    string `json:"referral_url,omitempty"`
	RegistrarID    string `json:"registrar_id,omitempty"`
	RegistrarName  string `json:"registrar_name,omitempty"`
	UpdatedDate    string `json:"updated_date,omitempty"`
	WHOISServer    string `json:"whois_server,omitempty"`
}

type WhoisHistory

type WhoisHistory struct {
	Admin      WHOIS          `json:"admin,omitempty"`
	Registrant WHOIS          `json:"registrant,omitempty"`
	Registrar  WHOISRegistrar `json:"registrar,omitempty"`
	Tech       WHOIS          `json:"tech,omitempty"`
	UpdatedAt  string         `json:"updated_at,omitempty"`
	CreatedAt  string         `json:"created_at,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL