osint

package
v0.0.0-...-e1c1db1 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2022 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Overview

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

© 2022 OSINT Fingerprint Project Contributors

Index

Constants

View Source
const (
	DANMEUK_TOR_NODE_TYPE = 0
	DANMEUK_TOR_EXIT_TYPE = 1
)
View Source
const (
	DROP          = 0
	EXTENDED_DROP = 1
)
View Source
const (
	IP2LOCATION_GEO_TYPE   = 0
	IP2LOCATION_PROXY_TYPE = 1
)
View Source
const (
	UDGER_PROXY_TYPE          = 0
	UDGER_VPN_TYPE            = 1
	UDGER_TOR_TYPE            = 2
	UDGER_HTTP_MALICIOUS_TYPE = 3
	UDGER_MAIL_MALICIOUS_TYPE = 4
	UDGER_SSH_MALICIOUS_TYPE  = 5
	UDGER_CLOUD_TYPE          = -1
)
View Source
const (
	CRON_EVERY_MINUTE = "* * * * *"
	CRON_EVERY_HOUR   = "0 * * * *"
	CRON_EVERY_DAY    = "0 0 * * *"
	CRON_EVERY_SUNDAY = "0 0 * * 0"
	CRON_EVERY_MONTH  = "0 0 1 * *"
)
View Source
const MOCK_NAME = "mock"
View Source
const RBL_ENABLED = false
View Source
const SNAPSHOT_SCHEMA = "snapshots"
View Source
const TRAVEL_MILES_THRESHOLD = 1000
View Source
const TRAVEL_TIME_THRESHOLD = 24

Variables

This section is empty.

Functions

func ClearCache

func ClearCache(db *gorm.DB, collector string)

func ConnectDB

func ConnectDB() (*gorm.DB, error)

func ContactMx

func ContactMx(host string, domain string, email string, timeout time.Duration) error

func Distance

func Distance(lat1 float64, lng1 float64, lat2 float64, lng2 float64, unit rune) float64

func DownloadFile

func DownloadFile(client *resty.Client, url string, fileName string) error

func FindFile

func FindFile(directory, extension string) ([]string, error)

func FindLatestDbFile

func FindLatestDbFile(dbPath string, fileExtension string) (string, error)

func GetContent

func GetContent(client *resty.Client, url string) ([]byte, int, error)

func GetDSN

func GetDSN() string

func GetDaysFromDate

func GetDaysFromDate(date string) int

FORMAT: YYYY-MM-DD

func GetEmailServerScrubbers

func GetEmailServerScrubbers() ([]string, []string, []string, []string)

TODO: this needs some love, need to run a bunch of popular domains through the scrubber and

do some Googling on what type of service each mail server really is

func Getenv

func Getenv(key, def string) string

func Ip2Uint

func Ip2Uint(ip net.IP) int

func LoadFromCSVFile

func LoadFromCSVFile(x *MockCollector, db *gorm.DB, dbFile string) error

func Postload

func Postload(db *gorm.DB, snapshot string, table string) error

func Preload

func Preload(db *gorm.DB, table string) (string, error)

func Reload

func Reload(db *gorm.DB, snapshot string, table string) error

func ResolveMx

func ResolveMx(domain string) (string, error)

func Uint2Ip

func Uint2Ip(iip uint64) net.IP

func UnGzipFile

func UnGzipFile(gzipPath, gzipFile, outputPath string) error

func UnTarFile

func UnTarFile(tarFile, destination string) error

func UnzipFile

func UnzipFile(zipFile, destination string) error

func Write

func Write(w io.Writer, out string)

Types

type AWS

type AWS struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	Subnet    *net.IPNet `gorm:"type:inet;index:idx_aws_cloud_subnet"`
}

func (AWS) TableName

func (AWS) TableName() string

type AWSCloudCollector

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

func NewAWS

func NewAWS() *AWSCloudCollector

func (*AWSCloudCollector) Expiration

func (x *AWSCloudCollector) Expiration() string

func (*AWSCloudCollector) GetCategories

func (x *AWSCloudCollector) GetCategories() []string

func (*AWSCloudCollector) GetInfo

func (x *AWSCloudCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*AWSCloudCollector) GetIpInfo

func (x *AWSCloudCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*AWSCloudCollector) Init

func (*AWSCloudCollector) IsAWS

func (x *AWSCloudCollector) IsAWS(ip net.IP) bool

func (*AWSCloudCollector) Name

func (x *AWSCloudCollector) Name() string

func (*AWSCloudCollector) Refresh

func (x *AWSCloudCollector) Refresh(w io.Writer)

type AWSInfo

type AWSInfo struct {
	IpAddress   string
	IsCloudNode bool
}

type ApiVoidCollector

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

func NewApiVoid

func NewApiVoid() *ApiVoidCollector

func (*ApiVoidCollector) Expiration

func (x *ApiVoidCollector) Expiration() string

func (*ApiVoidCollector) GetCategories

func (x *ApiVoidCollector) GetCategories() []string

func (*ApiVoidCollector) GetDomainInfo

func (x *ApiVoidCollector) GetDomainInfo(domain string) (json.RawMessage, error)

func (*ApiVoidCollector) GetEmailInfo

func (x *ApiVoidCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*ApiVoidCollector) GetInfo

func (x *ApiVoidCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*ApiVoidCollector) GetIpInfo

func (x *ApiVoidCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*ApiVoidCollector) Init

func (*ApiVoidCollector) Name

func (x *ApiVoidCollector) Name() string

func (*ApiVoidCollector) Refresh

func (x *ApiVoidCollector) Refresh(w io.Writer)

type BlackholeCollector

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

func NewBlackhole

func NewBlackhole() *BlackholeCollector

func (*BlackholeCollector) Expiration

func (x *BlackholeCollector) Expiration() string

func (*BlackholeCollector) GetCategories

func (x *BlackholeCollector) GetCategories() []string

func (*BlackholeCollector) GetDomainInfo

func (x *BlackholeCollector) GetDomainInfo(domain string) (json.RawMessage, error)

func (*BlackholeCollector) GetInfo

func (x *BlackholeCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*BlackholeCollector) GetIpInfo

func (x *BlackholeCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*BlackholeCollector) Init

func (*BlackholeCollector) IsListed

func (x *BlackholeCollector) IsListed(servers []string, host string) int

func (*BlackholeCollector) Name

func (x *BlackholeCollector) Name() string

func (*BlackholeCollector) Refresh

func (x *BlackholeCollector) Refresh(w io.Writer)

type BlackholeDomainInfo

type BlackholeDomainInfo struct {
	Domain         string
	BlackholeCount int
	IsBlackholeed  bool
	IsValidDNS     bool
	IsNewDomain    bool
	IsSpamDomain   bool
}

type BlackholeIpInfo

type BlackholeIpInfo struct {
	IpAddress      string
	BlackholeCount int
	IsBlackholeed  bool
	IsBot          bool
	IsRelay        bool
	IsMalicious    bool
	IsProxy        bool
	IsSpam         bool
	IsIOT          bool
	IsBadISP       bool
}

type DBIpCollector

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

func NewDBIP

func NewDBIP() *DBIpCollector

func (*DBIpCollector) Expiration

func (x *DBIpCollector) Expiration() string

func (*DBIpCollector) GetCategories

func (x *DBIpCollector) GetCategories() []string

func (*DBIpCollector) GetInfo

func (x *DBIpCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*DBIpCollector) GetIpInfo

func (x *DBIpCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*DBIpCollector) Init

func (x *DBIpCollector) Init() SignalCollector

func (*DBIpCollector) Name

func (x *DBIpCollector) Name() string

func (*DBIpCollector) Refresh

func (x *DBIpCollector) Refresh(w io.Writer)

type DanMeUk

type DanMeUk struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	IpAddr    string `gorm:"index:idx_danmeuk_ip_addr_tor_type,unique"`
	TorType   int    `gorm:"index:idx_danmeuk_ip_addr_tor_type,unique"`
}

func (DanMeUk) TableName

func (DanMeUk) TableName() string

type DanMeUkCollector

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

func NewDanMeUk

func NewDanMeUk() *DanMeUkCollector

func (*DanMeUkCollector) Expiration

func (x *DanMeUkCollector) Expiration() string

func (*DanMeUkCollector) GetCategories

func (x *DanMeUkCollector) GetCategories() []string

func (*DanMeUkCollector) GetInfo

func (x *DanMeUkCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*DanMeUkCollector) GetIpInfo

func (x *DanMeUkCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*DanMeUkCollector) Init

func (*DanMeUkCollector) Name

func (x *DanMeUkCollector) Name() string

func (*DanMeUkCollector) Refresh

func (x *DanMeUkCollector) Refresh(w io.Writer)

NOTE: Dan gets angry if you try to download his Tor lists more than once an hour... so hop

on a new VPN connection if you are testing and get blacklisted

type DanMeUkInfo

type DanMeUkInfo struct {
	IpAddress string
	IsTorNode bool
	IsTorExit bool
}

type DbIpInfo

type DbIpInfo struct {
	City struct {
		GeonameID int `json:"geoname_id"`
		Names     struct {
			En   string `json:"en"`
			ZhCN string `json:"zh-CN"`
		} `json:"names"`
	} `json:"city"`
	Continent struct {
		Code      string `json:"code"`
		GeonameID int    `json:"geoname_id"`
		Names     struct {
			De   string `json:"de"`
			En   string `json:"en"`
			Es   string `json:"es"`
			Fa   string `json:"fa"`
			Fr   string `json:"fr"`
			Ja   string `json:"ja"`
			Ko   string `json:"ko"`
			PtBR string `json:"pt-BR"`
			Ru   string `json:"ru"`
			ZhCN string `json:"zh-CN"`
		} `json:"names"`
	} `json:"continent"`
	Country struct {
		GeonameID         int    `json:"geoname_id"`
		IsInEuropeanUnion bool   `json:"is_in_european_union"`
		IsoCode           string `json:"iso_code"`
		Names             struct {
			De   string `json:"de"`
			En   string `json:"en"`
			Es   string `json:"es"`
			Fa   string `json:"fa"`
			Fr   string `json:"fr"`
			Ja   string `json:"ja"`
			Ko   string `json:"ko"`
			PtBR string `json:"pt-BR"`
			Ru   string `json:"ru"`
			ZhCN string `json:"zh-CN"`
		} `json:"names"`
	} `json:"country"`
	Location struct {
		Latitude    float64 `json:"latitude"`
		Longitude   float64 `json:"longitude"`
		TimeZone    string  `json:"time_zone"`
		WeatherCode string  `json:"weather_code"`
	} `json:"location"`
	Subdivisions []struct {
		GeonameID int    `json:"geoname_id"`
		IsoCode   string `json:"iso_code,omitempty"`
		Names     struct {
			En   string `json:"en"`
			Fr   string `json:"fr"`
			ZhCN string `json:"zh-CN"`
		} `json:"names,omitempty"`
	} `json:"subdivisions"`
	Traits struct {
		ConnectionType string `json:"connection_type"`
		Isp            string `json:"isp"`
		Organization   string `json:"organization"`
	} `json:"traits"`
}

type DbIpUpdate

type DbIpUpdate struct {
	Csv struct {
		URL     string `json:"url"`
		Name    string `json:"name"`
		Date    string `json:"date"`
		Size    int64  `json:"size"`
		Rows    int    `json:"rows"`
		Md5Sum  string `json:"md5sum"`
		Sha1Sum string `json:"sha1sum"`
		Version int    `json:"version"`
	} `json:"csv"`
	Mmdb struct {
		URL     string `json:"url"`
		Name    string `json:"name"`
		Date    string `json:"date"`
		Size    int    `json:"size"`
		Rows    int    `json:"rows"`
		Md5Sum  string `json:"md5sum"`
		Sha1Sum string `json:"sha1sum"`
	} `json:"mmdb"`
}

type DeHashedCollector

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

func NewDeHashed

func NewDeHashed() *DeHashedCollector

func (*DeHashedCollector) Expiration

func (x *DeHashedCollector) Expiration() string

func (*DeHashedCollector) GetCategories

func (x *DeHashedCollector) GetCategories() []string

func (*DeHashedCollector) GetEmailInfo

func (x *DeHashedCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*DeHashedCollector) GetInfo

func (x *DeHashedCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*DeHashedCollector) Init

func (*DeHashedCollector) Name

func (x *DeHashedCollector) Name() string

func (*DeHashedCollector) Refresh

func (x *DeHashedCollector) Refresh(w io.Writer)

type DeHashedEntry

type DeHashedEntry struct {
	Balance int `json:"balance"`
	Entries []struct {
		ID             string `json:"id"`
		Email          string `json:"email"`
		IPAddress      string `json:"ip_address"`
		Username       string `json:"username"`
		Password       string `json:"password"`
		HashedPassword string `json:"hashed_password"`
		Name           string `json:"name"`
		Vin            string `json:"vin"`
		Address        string `json:"address"`
		Phone          string `json:"phone"`
		DatabaseName   string `json:"database_name"`
	} `json:"entries"`
	Success bool   `json:"success"`
	Took    string `json:"took"`
	Total   int    `json:"total"`
}

type DeHashedInfo

type DeHashedInfo struct {
	Email       string
	BreachCount int
}

type DomainToolsCollector

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

func NewDomainTools

func NewDomainTools() *DomainToolsCollector

func (*DomainToolsCollector) Expiration

func (x *DomainToolsCollector) Expiration() string

func (*DomainToolsCollector) GetCategories

func (x *DomainToolsCollector) GetCategories() []string

func (*DomainToolsCollector) GetDomainInfo

func (x *DomainToolsCollector) GetDomainInfo(domain string) (json.RawMessage, error)

func (*DomainToolsCollector) GetInfo

func (x *DomainToolsCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*DomainToolsCollector) Init

func (*DomainToolsCollector) Name

func (x *DomainToolsCollector) Name() string

func (*DomainToolsCollector) Refresh

func (x *DomainToolsCollector) Refresh(w io.Writer)

type DomainToolsEntry

type DomainToolsEntry struct {
	Response struct {
		Registrant   string `json:"registrant"`
		Registration struct {
			Created   string   `json:"created"`
			Expires   string   `json:"expires"`
			Updated   string   `json:"updated"`
			Registrar string   `json:"registrar"`
			Statuses  []string `json:"statuses"`
		} `json:"registration"`
		NameServers []string `json:"name_servers"`
		Whois       struct {
			Date   string `json:"date"`
			Record string `json:"record"`
		} `json:"whois"`
		RecordSource string `json:"record_source"`
	} `json:"response"`
}

type DomainToolsInfo

type DomainToolsInfo struct {
	Domain             string
	DomainAgeDays      int
	DomainAgeYears     int
	DomainAgeDate      string
	IsRegisteredDomain bool
	Registrar          string
}

type Droplist

type Droplist struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	Subnet    *net.IPNet `gorm:"type:inet;index:idx_droplist_subnet,unique"`
	DropType  int
}

func (Droplist) TableName

func (Droplist) TableName() string

type DroplistCollector

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

func NewDroplist

func NewDroplist() *DroplistCollector

func (*DroplistCollector) Expiration

func (x *DroplistCollector) Expiration() string

func (*DroplistCollector) GetCategories

func (x *DroplistCollector) GetCategories() []string

func (*DroplistCollector) GetInfo

func (x *DroplistCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*DroplistCollector) GetIpInfo

func (x *DroplistCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*DroplistCollector) Init

func (*DroplistCollector) IsDrop

func (x *DroplistCollector) IsDrop(ip net.IP) bool

func (*DroplistCollector) Name

func (x *DroplistCollector) Name() string

func (*DroplistCollector) Refresh

func (x *DroplistCollector) Refresh(w io.Writer)

type DroplistInfo

type DroplistInfo struct {
	IpAddress    string
	IsHighjacked bool
}

type EmailVerificationCollector

type EmailVerificationCollector struct {
}

func NewEmailVerification

func NewEmailVerification() *EmailVerificationCollector

func (*EmailVerificationCollector) Expiration

func (x *EmailVerificationCollector) Expiration() string

func (*EmailVerificationCollector) GetCategories

func (x *EmailVerificationCollector) GetCategories() []string

func (*EmailVerificationCollector) GetEmailInfo

func (x *EmailVerificationCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

TODO: add our own code for some of this... mxs, err := net.LookupMX(ea.Domain)

if err != nil || len(mxs) == 0 {
	PrintRow(ea.String(), "EMAIL", "hasValidMailServer", "nslookup", "false")
} else {
	PrintRow(ea.String(), "EMAIL", "hasValidMailServer", "nslookup", "true")
}

func (*EmailVerificationCollector) GetInfo

func (x *EmailVerificationCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*EmailVerificationCollector) Init

func (*EmailVerificationCollector) Name

func (*EmailVerificationCollector) Refresh

func (x *EmailVerificationCollector) Refresh(w io.Writer)

type EmailVerifyInfo

type EmailVerifyInfo struct {
	Email             string
	IsValidIcanSuffix bool
	IsResolveable     bool
	IsBadAccount      bool
	IsSmtpVerified    bool
	Reason            string
}

type GNRInfo

type GNRInfo struct {
	Cc   string `json:"cc"`
	Cor  string `json:"cor"`
	Cn   string `json:"cn"`
	Mcc  string `json:"mcc"`
	Mnc  string `json:"mnc"`
	Npdi bool   `json:"npdi"`
	Npi  bool   `json:"npi"`
	Nt   string `json:"nt"`
	Tn   string `json:"tn"`
	Rc   string `json:"rc"`
}

type GreyNoiseCollector

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

func NewGreyNoise

func NewGreyNoise() *GreyNoiseCollector

func (*GreyNoiseCollector) Expiration

func (x *GreyNoiseCollector) Expiration() string

func (*GreyNoiseCollector) GetCategories

func (x *GreyNoiseCollector) GetCategories() []string

func (*GreyNoiseCollector) GetInfo

func (x *GreyNoiseCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*GreyNoiseCollector) GetIpInfo

func (x *GreyNoiseCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*GreyNoiseCollector) Init

func (*GreyNoiseCollector) Name

func (x *GreyNoiseCollector) Name() string

func (*GreyNoiseCollector) Refresh

func (x *GreyNoiseCollector) Refresh(w io.Writer)

type Hacker

type Hacker struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	IpAddr    string `gorm:"index:idx_hacker_ip_addr,unique"`
	Country   string
	Attempts  uint
}

func (Hacker) TableName

func (Hacker) TableName() string

type HackerCollector

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

func NewHacker

func NewHacker() *HackerCollector

func (*HackerCollector) Expiration

func (x *HackerCollector) Expiration() string

func (*HackerCollector) GetCategories

func (x *HackerCollector) GetCategories() []string

func (*HackerCollector) GetInfo

func (x *HackerCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*HackerCollector) GetIpInfo

func (x *HackerCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*HackerCollector) GetTravelInfo

func (x *HackerCollector) GetTravelInfo(ea *emailaddress.EmailAddress, ip net.IP) (json.RawMessage, error)

func (*HackerCollector) Init

func (x *HackerCollector) Init() SignalCollector

func (*HackerCollector) Name

func (x *HackerCollector) Name() string

func (*HackerCollector) Refresh

func (x *HackerCollector) Refresh(w io.Writer)

type HackerInfo

type HackerInfo struct {
	IpAddr   string
	IsHacker bool
	Country  string
	Attempts uint
}

type IPQualityScoreCollector

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

func NewIPQualityScore

func NewIPQualityScore() *IPQualityScoreCollector

func (*IPQualityScoreCollector) Expiration

func (x *IPQualityScoreCollector) Expiration() string

func (*IPQualityScoreCollector) GetCategories

func (x *IPQualityScoreCollector) GetCategories() []string

func (*IPQualityScoreCollector) GetEmailInfo

func (x *IPQualityScoreCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*IPQualityScoreCollector) GetInfo

func (x *IPQualityScoreCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*IPQualityScoreCollector) GetIpInfo

func (x *IPQualityScoreCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*IPQualityScoreCollector) GetPhoneInfo

func (x *IPQualityScoreCollector) GetPhoneInfo(phone string) (json.RawMessage, error)

func (*IPQualityScoreCollector) Init

func (*IPQualityScoreCollector) Name

func (x *IPQualityScoreCollector) Name() string

func (*IPQualityScoreCollector) Refresh

func (x *IPQualityScoreCollector) Refresh(w io.Writer)

type IPQualityScoreEmailEntry

type IPQualityScoreEmailEntry struct {
	Message            string `json:"message"`
	Success            bool   `json:"success"`
	Valid              bool   `json:"valid"`
	Disposable         bool   `json:"disposable"`
	SMTPScore          int    `json:"smtp_score"`
	OverallScore       int    `json:"overall_score"`
	FirstName          string `json:"first_name"`
	Generic            bool   `json:"generic"`
	Common             bool   `json:"common"`
	DNSValid           bool   `json:"dns_valid"`
	Honeypot           bool   `json:"honeypot"`
	Deliverability     string `json:"deliverability"`
	FrequentComplainer bool   `json:"frequent_complainer"`
	SpamTrapScore      string `json:"spam_trap_score"`
	CatchAll           bool   `json:"catch_all"`
	TimedOut           bool   `json:"timed_out"`
	Suspect            bool   `json:"suspect"`
	RecentAbuse        bool   `json:"recent_abuse"`
	FraudScore         int    `json:"fraud_score"`
	SuggestedDomain    string `json:"suggested_domain"`
	Leaked             bool   `json:"leaked"`

	DomainAge struct {
		Human      string `json:"human"`
		Timestamp  int    `json:"timestamp"`
		Iso        string `json:"iso"`
		AgeInDays  int    `json:"age_in_days"`  // added by 443Id
		AgeInYears int    `json:"age_in_years"` // added by 443Id
	} `json:"domain_age"`
	FirstSeen struct {
		Human      string `json:"human"`
		Timestamp  int    `json:"timestamp"`
		Iso        string `json:"iso"`
		AgeInDays  int    `json:"age_in_days"`  // added by 443Id
		AgeInYears int    `json:"age_in_years"` // added by 443Id
	} `json:"first_seen"`
	SanitizedEmail  string `json:"sanitized_email"`
	DomainVelocity  string `json:"domain_velocity"`
	UserActivity    string `json:"user_activity"`
	AssociatedNames struct {
		Status string        `json:"status"`
		Names  []interface{} `json:"names"`
	} `json:"associated_names"`
	AssociatedPhoneNumbers struct {
		Status       string        `json:"status"`
		PhoneNumbers []interface{} `json:"phone_numbers"`
	} `json:"associated_phone_numbers"`
	RequestID string `json:"request_id"`
}

type ImpossibleTravelInfo

type ImpossibleTravelInfo struct {
	TravelMiles        int
	TravelTime         int
	City               string
	Country            string
	IsImpossibleTravel bool
}

type Ip2Location

type Ip2Location struct {
	ID          uint `gorm:"primarykey"`
	CreatedAt   time.Time
	StartIpAddr net.IP `gorm:"type:inet;index:idx_ip2location_ips,unique"`
	EndIpAddr   net.IP `gorm:"type:inet;index:idx_ip2location_ips,unique"`
	CountryCode string
	Country     string
}

func (Ip2Location) TableName

func (Ip2Location) TableName() string

type Ip2LocationCollector

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

func NewIp2Location

func NewIp2Location() *Ip2LocationCollector

func (*Ip2LocationCollector) Expiration

func (x *Ip2LocationCollector) Expiration() string

func (*Ip2LocationCollector) GetCategories

func (x *Ip2LocationCollector) GetCategories() []string

func (*Ip2LocationCollector) GetInfo

func (x *Ip2LocationCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*Ip2LocationCollector) GetIpInfo

func (x *Ip2LocationCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*Ip2LocationCollector) Init

func (*Ip2LocationCollector) Name

func (x *Ip2LocationCollector) Name() string

func (*Ip2LocationCollector) Refresh

func (x *Ip2LocationCollector) Refresh(w io.Writer)

type Ip2LocationInfo

type Ip2LocationInfo struct {
	IpAddress   string
	CountryCode string
	IsProxy     bool
}

type Ip2Proxy

type Ip2Proxy struct {
	ID          uint `gorm:"primarykey"`
	CreatedAt   time.Time
	IpAddr      net.IP `gorm:"type:inet;index:idx_ip2proxy_ip_addr_proxy_type"`
	ProxyType   string
	CountryCode string
	Country     string
}

func (Ip2Proxy) TableName

func (Ip2Proxy) TableName() string

type IpInfoCollector

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

func NewIpInfo

func NewIpInfo() *IpInfoCollector

func (*IpInfoCollector) Expiration

func (x *IpInfoCollector) Expiration() string

func (*IpInfoCollector) GetCategories

func (x *IpInfoCollector) GetCategories() []string

func (*IpInfoCollector) GetInfo

func (x *IpInfoCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*IpInfoCollector) GetIpInfo

func (x *IpInfoCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*IpInfoCollector) Init

func (x *IpInfoCollector) Init() SignalCollector

func (*IpInfoCollector) Name

func (x *IpInfoCollector) Name() string

func (*IpInfoCollector) Refresh

func (x *IpInfoCollector) Refresh(w io.Writer)

type IpInfoEntry

type IpInfoEntry struct {
	// NOTE:  some attribitues are only available at the business tier
	ASN         ipinfo.CoreASN   `json:"-"` // asn, name, domain, route, type
	Abuse       ipinfo.CoreAbuse `json:"-"` // address, country, country_name, email, name, network, phone
	AnyCast     bool
	Bogon       bool
	Carrier     ipinfo.CoreCarrier `json:"-"` // name, mcc, mnc
	City        string
	Company     ipinfo.CoreCompany `json:"-"` // name, domain, type
	Country     string
	CountryName string
	Domains     ipinfo.CoreDomains `json:"-"` // IP, total, []domains
	Hostname    string
	IP          string
	Location    string
	Org         string
	Postal      string
	Privacy     ipinfo.CorePrivacy `json:"-"` // VPN, relay, proxy, hosting, service, tor
	Region      string
	Latitude    float64
	Longitude   float64
	Timezone    string
}

type IpSumCollector

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

func NewIpSum

func NewIpSum() *IpSumCollector

func (*IpSumCollector) Expiration

func (x *IpSumCollector) Expiration() string

func (*IpSumCollector) GetCategories

func (x *IpSumCollector) GetCategories() []string

func (*IpSumCollector) GetInfo

func (x *IpSumCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*IpSumCollector) GetIpInfo

func (x *IpSumCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*IpSumCollector) Init

func (x *IpSumCollector) Init() SignalCollector

func (*IpSumCollector) Name

func (x *IpSumCollector) Name() string

func (*IpSumCollector) Refresh

func (x *IpSumCollector) Refresh(w io.Writer)

type IpSumInfo

type IpSumInfo struct {
	IpAddress      string
	IsBlacklisted  bool
	BlacklistCount int
}

type Ipsum

type Ipsum struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	IpAddr    *net.IP `gorm:"type:inet;index:idx_ipsum_ip_addr"`
	Count     int
}

func (Ipsum) TableName

func (Ipsum) TableName() string

type KickfireCollector

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

func NewKickfire

func NewKickfire() *KickfireCollector

func (*KickfireCollector) Company

func (x *KickfireCollector) Company(ip string) ([]byte, error)

func (*KickfireCollector) Expiration

func (x *KickfireCollector) Expiration() string

func (*KickfireCollector) GetCategories

func (x *KickfireCollector) GetCategories() []string

func (*KickfireCollector) GetInfo

func (x *KickfireCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*KickfireCollector) GetIpInfo

func (x *KickfireCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*KickfireCollector) Init

func (*KickfireCollector) Name

func (x *KickfireCollector) Name() string

func (*KickfireCollector) Refresh

func (x *KickfireCollector) Refresh(w io.Writer)

type KickfireFreeCollector

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

func NewKickfireCountry

func NewKickfireCountry() *KickfireFreeCollector

func (*KickfireFreeCollector) Expiration

func (x *KickfireFreeCollector) Expiration() string

func (*KickfireFreeCollector) GetCategories

func (x *KickfireFreeCollector) GetCategories() []string

func (*KickfireFreeCollector) GetInfo

func (x *KickfireFreeCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*KickfireFreeCollector) GetIpInfo

func (x *KickfireFreeCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*KickfireFreeCollector) Init

func (*KickfireFreeCollector) Name

func (x *KickfireFreeCollector) Name() string

func (*KickfireFreeCollector) Refresh

func (x *KickfireFreeCollector) Refresh(w io.Writer)

type LeakLookupCollector

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

func NewLeakLookup

func NewLeakLookup() *LeakLookupCollector

func (*LeakLookupCollector) Expiration

func (x *LeakLookupCollector) Expiration() string

func (*LeakLookupCollector) GetCategories

func (x *LeakLookupCollector) GetCategories() []string

func (*LeakLookupCollector) GetEmailInfo

func (x *LeakLookupCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*LeakLookupCollector) GetInfo

func (x *LeakLookupCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*LeakLookupCollector) Init

func (*LeakLookupCollector) Name

func (x *LeakLookupCollector) Name() string

func (*LeakLookupCollector) Refresh

func (x *LeakLookupCollector) Refresh(w io.Writer)

type LeakLookupEntry

type LeakLookupEntry struct {
	Error   string `json:"error"`
	Message struct {
	} `json:"message"`
}

type LeakLookupInfo

type LeakLookupInfo struct {
	Email       string
	BreachCount int
}

type LeakLookupPostBody

type LeakLookupPostBody struct {
	Key   string `json:"key"`
	Type  string `json:"type"`
	Query string `json:"query"`
}

type LiveInfo

type LiveInfo struct {
	Cc  string `json:"cc"`
	Mcc string `json:"mcc"`
	Mnc string `json:"mnc"`
	Nt  string `json:"nt"`
	Tn  string `json:"tn"`
	Rc  string `json:"rc"`
}

type MailServerInfo

type MailServerInfo struct {
	Domain        string
	IsDisposable  bool
	IsPaid        bool
	IsFree        bool
	IsCorporate   bool
	IsResolveable bool
	IsWonkyName   bool
}

type MailServerTypeCollector

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

scrubber patterns

func NewMailServerType

func NewMailServerType() *MailServerTypeCollector

func (*MailServerTypeCollector) Expiration

func (x *MailServerTypeCollector) Expiration() string

func (*MailServerTypeCollector) GetCategories

func (x *MailServerTypeCollector) GetCategories() []string

func (*MailServerTypeCollector) GetDomainInfo

func (x *MailServerTypeCollector) GetDomainInfo(domain string) (json.RawMessage, error)

func (*MailServerTypeCollector) GetEmailInfo

func (x *MailServerTypeCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*MailServerTypeCollector) GetInfo

func (x *MailServerTypeCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*MailServerTypeCollector) Init

func (*MailServerTypeCollector) IsCorporateService

func (x *MailServerTypeCollector) IsCorporateService(service string) bool

func (*MailServerTypeCollector) IsDisposableService

func (x *MailServerTypeCollector) IsDisposableService(service string) bool

func (*MailServerTypeCollector) IsFreeService

func (x *MailServerTypeCollector) IsFreeService(service string) bool

func (*MailServerTypeCollector) IsPaidService

func (x *MailServerTypeCollector) IsPaidService(service string) bool

func (*MailServerTypeCollector) Name

func (x *MailServerTypeCollector) Name() string

func (*MailServerTypeCollector) Refresh

func (x *MailServerTypeCollector) Refresh(w io.Writer)

type MaxmindCollector

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

func NewMaxmind

func NewMaxmind() *MaxmindCollector

func (*MaxmindCollector) Expiration

func (x *MaxmindCollector) Expiration() string

func (*MaxmindCollector) GetCategories

func (x *MaxmindCollector) GetCategories() []string

func (*MaxmindCollector) GetInfo

func (x *MaxmindCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*MaxmindCollector) GetIpInfo

func (x *MaxmindCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*MaxmindCollector) Init

func (*MaxmindCollector) Name

func (x *MaxmindCollector) Name() string

func (*MaxmindCollector) Refresh

func (x *MaxmindCollector) Refresh(w io.Writer)

type Mock

type Mock struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	TestKey   string
	IsTest    bool
}

func (Mock) TableName

func (Mock) TableName() string

type MockCollector

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

func NewMockCollector

func NewMockCollector() *MockCollector

func (*MockCollector) Expiration

func (x *MockCollector) Expiration() string

func (*MockCollector) GetCategories

func (x *MockCollector) GetCategories() []string

func (*MockCollector) GetInfo

func (x *MockCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*MockCollector) Init

func (x *MockCollector) Init() SignalCollector

func (*MockCollector) Name

func (x *MockCollector) Name() string

func (*MockCollector) ParseLine

func (x *MockCollector) ParseLine(record []string) error

func (*MockCollector) Refresh

func (x *MockCollector) Refresh(w io.Writer)

type NPQInfo

type NPQInfo struct {
	Tn   string `json:"tn"`
	Npdi bool   `json:"npdi"`
	Npi  bool   `json:"npi"`
	Mcc  string `json:"mcc"`
	Mnc  string `json:"mnc"`
	Cic  string `json:"cic"`
	Cn   string `json:"cn"`
	Cc   string `json:"cc"`
	Nt   string `json:"nt"`
}

type PwnedCollector

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

func NewPwned

func NewPwned() *PwnedCollector

func (*PwnedCollector) Breaches

func (x *PwnedCollector) Breaches(email string) (PwnedInfo, error)

func (*PwnedCollector) Expiration

func (x *PwnedCollector) Expiration() string

func (*PwnedCollector) GetCategories

func (x *PwnedCollector) GetCategories() []string

func (*PwnedCollector) GetEmailInfo

func (x *PwnedCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*PwnedCollector) GetInfo

func (x *PwnedCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*PwnedCollector) GetPasswordInfo

func (x *PwnedCollector) GetPasswordInfo(password string) (json.RawMessage, error)

func (*PwnedCollector) Init

func (x *PwnedCollector) Init() SignalCollector

func (*PwnedCollector) Name

func (x *PwnedCollector) Name() string

func (*PwnedCollector) Password

func (x *PwnedCollector) Password(password string) (int, error)

func (*PwnedCollector) Pastebin

func (x *PwnedCollector) Pastebin(email string) (int, error)

func (*PwnedCollector) Refresh

func (x *PwnedCollector) Refresh(w io.Writer)

type PwnedInfo

type PwnedInfo struct {
	Email                  string
	BreachCount            int
	PastebinCount          int
	MostRecentBreachInDays int
	MostRecentBreachDate   string
}

type PwnedPasswordInfo

type PwnedPasswordInfo struct {
	PastbinCount int
}

type Risk443IdCollector

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

func NewRisk443Id

func NewRisk443Id() *Risk443IdCollector

func (*Risk443IdCollector) Expiration

func (x *Risk443IdCollector) Expiration() string

func (*Risk443IdCollector) GetCategories

func (x *Risk443IdCollector) GetCategories() []string

func (*Risk443IdCollector) GetEmailInfo

func (x *Risk443IdCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*Risk443IdCollector) GetInfo

func (x *Risk443IdCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*Risk443IdCollector) GetIpInfo

func (x *Risk443IdCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*Risk443IdCollector) GetPhoneInfo

func (x *Risk443IdCollector) GetPhoneInfo(phone string) (json.RawMessage, error)

func (*Risk443IdCollector) GetScore

func (x *Risk443IdCollector) GetScore(body []byte) (*Score443IdInfo, error)

func (*Risk443IdCollector) Init

func (*Risk443IdCollector) Name

func (x *Risk443IdCollector) Name() string

func (*Risk443IdCollector) Refresh

func (x *Risk443IdCollector) Refresh(w io.Writer)

type Score443IdInfo

type Score443IdInfo struct {
	Score       float64
	Risk        string
	Level       int
	IsSuspect   bool
	IsParked    bool
	IsBlacklist bool
	IsSpam      bool
	IsMalware   bool
	IsPhish     bool
	IsFraud     bool
	IsVPN       bool
	IsTor       bool
	IsBot       bool
	IsBreach    bool
	IsLeaked    bool
	IsInvalid   bool
	IsGeneric   bool
	IsHoneypot  bool
	IsAbuse     bool
	IsRisky     bool
}

type Score443IdPostBody

type Score443IdPostBody struct {
	IpAddr      string `json:"ip"`
	EmailAddr   string `json:"email"`
	PhoneNumber string `json:"phone-number"`
}

type Score443IdResponse

type Score443IdResponse struct {
	Version    string  `json:"version"`
	Score      float64 `json:"score"`
	LevelTxt   string  `json:"levelTxt"`
	LevelNum   int     `json:"levelNum"`
	Categories []struct {
		Name    string `json:"name"`
		Signals []struct {
			Name string `json:"name"`
		} `json:"signals"`
	} `json:"categories"`
	RequestID string `json:"requestId"`
}

type SignalCollector

type SignalCollector interface {
	GetCategories() []string
	Name() string
	Init() SignalCollector
	Refresh(io.Writer)
	Expiration() string
	GetInfo(category string, input ...string) (json.RawMessage, error)
}

type SocialMediaCollector

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

func NewSocialMedia

func NewSocialMedia() *SocialMediaCollector

func (*SocialMediaCollector) Expiration

func (x *SocialMediaCollector) Expiration() string

func (*SocialMediaCollector) GetCategories

func (x *SocialMediaCollector) GetCategories() []string

func (*SocialMediaCollector) GetEmailInfo

func (x *SocialMediaCollector) GetEmailInfo(email *emailaddress.EmailAddress) (json.RawMessage, error)

func (*SocialMediaCollector) GetInfo

func (x *SocialMediaCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*SocialMediaCollector) Init

func (*SocialMediaCollector) Name

func (x *SocialMediaCollector) Name() string

func (*SocialMediaCollector) Refresh

func (x *SocialMediaCollector) Refresh(w io.Writer)

type SocialMediaInfo

type SocialMediaInfo struct {
	Email       string
	IsSocial    bool
	SocialCount int
	IsTwitter   bool
	IsGithub    bool
	IsPinterest bool
	IsReddit    bool
	IsInstagram bool
}

type Somos

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

func NewSomos

func NewSomos() *Somos

func (*Somos) Expiration

func (x *Somos) Expiration() string

func (*Somos) GetCategories

func (x *Somos) GetCategories() []string

func (*Somos) GetInfo

func (x *Somos) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*Somos) GetPhoneInfo

func (x *Somos) GetPhoneInfo(phone string) (json.RawMessage, error)

func (*Somos) Init

func (x *Somos) Init() SignalCollector

func (*Somos) IsDNO

func (x *Somos) IsDNO(phone string) bool

func (*Somos) Name

func (x *Somos) Name() string

func (*Somos) Refresh

func (x *Somos) Refresh(w io.Writer)

type SomosInfo

type SomosInfo struct {
	Phone   string
	Country string
	IsDNO   bool
}

type Travel

type Travel struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	EmailAddr string `gorm:"index:idx_travel_email"`
	IpAddr    string
	Latitude  float64
	Longitude float64
	City      string
	Country   string
	Miles     int
}

func (Travel) TableName

func (Travel) TableName() string

type TravelCollector

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

func NewImpossibleTravel

func NewImpossibleTravel() *TravelCollector

func (*TravelCollector) Expiration

func (x *TravelCollector) Expiration() string

func (*TravelCollector) GetCategories

func (x *TravelCollector) GetCategories() []string

func (*TravelCollector) GetInfo

func (x *TravelCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*TravelCollector) GetTravelInfo

func (x *TravelCollector) GetTravelInfo(ea *emailaddress.EmailAddress, ip net.IP) (json.RawMessage, error)

func (*TravelCollector) Init

func (x *TravelCollector) Init() SignalCollector

func (*TravelCollector) Name

func (x *TravelCollector) Name() string

func (*TravelCollector) Refresh

func (x *TravelCollector) Refresh(w io.Writer)

type Udger

type Udger struct {
	ID          uint `gorm:"primarykey"`
	CreatedAt   time.Time
	IpAddr      net.IP `gorm:"type:inet;index:idx_udger_ip_addr_udger_type,unique"`
	UdgerType   int
	Hostname    string
	CountryCode string
	Country     string
	City        string
	LastSeen    time.Time
}

Format:: "IP address","Hostname","Country","Country code","City","Last seen"

func (Udger) TableName

func (Udger) TableName() string

type UdgerCloud

type UdgerCloud struct {
	ID          uint `gorm:"primarykey"`
	CreatedAt   time.Time
	Vendor      string
	HomePage    string
	StartIpAddr net.IP `gorm:"type:inet;index:idx_udger_cloud_ip_addr,unique"`
	EndIpAddr   net.IP `gorm:"type:inet;index:idx_udger_cloud_ip_addr,unique"`
}

Format:: "Datacenter name","Homepage","IP from","IP to","IP long integer from","IP long integer to"

func (UdgerCloud) TableName

func (UdgerCloud) TableName() string

type UdgerCollector

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

func NewUdger

func NewUdger() *UdgerCollector

func (*UdgerCollector) Expiration

func (x *UdgerCollector) Expiration() string

func (*UdgerCollector) GetCategories

func (x *UdgerCollector) GetCategories() []string

func (*UdgerCollector) GetInfo

func (x *UdgerCollector) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*UdgerCollector) GetIpInfo

func (x *UdgerCollector) GetIpInfo(ip net.IP) (json.RawMessage, error)

func (*UdgerCollector) Init

func (x *UdgerCollector) Init() SignalCollector

func (*UdgerCollector) Name

func (x *UdgerCollector) Name() string

func (*UdgerCollector) Refresh

func (x *UdgerCollector) Refresh(w io.Writer)

type UdgerInfo

type UdgerInfo struct {
	IpAddress          string
	IsProxy            bool
	IsVPN              bool
	IsTorExit          bool
	IsHttpAttackSource bool
	IsMailAttackSource bool
	IsSshAttackSource  bool
	IsMalicious        bool
	Country            string
	IsCloudNode        bool
}

type WhoIs

type WhoIs struct {
}

func NewWhoIs

func NewWhoIs() *WhoIs

func (*WhoIs) Expiration

func (x *WhoIs) Expiration() string

func (*WhoIs) FindDomainAgeInDays

func (x *WhoIs) FindDomainAgeInDays(domain string) (int, string, error)

func (*WhoIs) GetCategories

func (x *WhoIs) GetCategories() []string

func (*WhoIs) GetDomainInfo

func (x *WhoIs) GetDomainInfo(domain string) (json.RawMessage, error)

func (*WhoIs) GetInfo

func (x *WhoIs) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*WhoIs) Init

func (x *WhoIs) Init() SignalCollector

func (*WhoIs) Name

func (x *WhoIs) Name() string

func (*WhoIs) Refresh

func (x *WhoIs) Refresh(w io.Writer)

type WhoIsInfo

type WhoIsInfo struct {
	Domain             string
	DomainAgeInDays    int
	DomainAgeInYears   int
	DomainAgeDate      string
	IsRegisteredDomain bool
}

type XConnect

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

func NewXConnect

func NewXConnect() *XConnect

func (*XConnect) Expiration

func (x *XConnect) Expiration() string

func (*XConnect) GetCategories

func (x *XConnect) GetCategories() []string

func (*XConnect) GetInfo

func (x *XConnect) GetInfo(category string, input ...string) (json.RawMessage, error)

func (*XConnect) GetPhoneInfo

func (x *XConnect) GetPhoneInfo(phone string) (json.RawMessage, error)

func (*XConnect) Init

func (x *XConnect) Init() SignalCollector

func (*XConnect) Name

func (x *XConnect) Name() string

func (*XConnect) Refresh

func (x *XConnect) Refresh(w io.Writer)

type XConnectInfo

type XConnectInfo struct {
	GNR  *GNRInfo
	NPQ  *NPQInfo
	Live *LiveInfo
}

Jump to

Keyboard shortcuts

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