Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( UncoverConfigDir = folderutil.AppConfigDirOrDefault(".uncover-config", "uncover") // DefaultProviderConfigLocation where keys and config of providers are stored DefaultProviderConfigLocation = filepath.Join(UncoverConfigDir, "provider-config.yaml") )
View Source
var DefaultRateLimits = map[string]*ratelimit.Options{ "shodan": {Key: "shodan", MaxCount: 1, Duration: time.Second}, "shodan-idb": {Key: "shodan-idb", MaxCount: 1, Duration: time.Second}, "fofa": {Key: "fofa", MaxCount: 1, Duration: time.Second}, "censys": {Key: "censys", MaxCount: 1, Duration: 3 * time.Second}, "quake": {Key: "quake", MaxCount: 1, Duration: time.Second}, "hunter": {Key: "hunter", MaxCount: 15, Duration: time.Second}, "zoomeye": {Key: "zoomeye", MaxCount: 1, Duration: time.Second}, "netlas": {Key: "netlas", MaxCount: 1, Duration: time.Second}, "criminalip": {Key: "criminalip", MaxCount: 1, Duration: time.Second}, "publicwww": {Key: "publicwww", MaxCount: 1, Duration: time.Minute}, "hunterhow": {Key: "hunterhow", MaxCount: 1, Duration: 3 * time.Second}, "google": {Key: "google", MaxCount: 1, Duration: 3 * time.Second}, "odin": {Key: "odin", MaxCount: 1, Duration: time.Second}, "binaryedge": {Key: "binaryedge", MaxCount: 1, Duration: time.Second}, "onyphe": {Key: "onyphe", MaxCount: 1, Duration: time.Second}, "driftnet": {Key: "driftnet", MaxCount: 5, Duration: time.Second}, "greynoise": {Key: "greynoise", MaxCount: 1, Duration: time.Second}, }
DefaultRateLimits of all/most of sources are hardcoded by default to improve performance engine is not present in default ratelimits then user given ratelimit from cli options is used
Functions ¶
func GetHostname ¶
func NewHTTPRequest ¶
Types ¶
type Keys ¶
type Keys struct {
CensysToken string
CensysOrgId string
Shodan string
FofaEmail string
FofaKey string
QuakeToken string
HunterToken string
ZoomEyeToken string
NetlasToken string
CriminalIPToken string
PublicwwwToken string
HunterHowToken string
GoogleKey string
GoogleCX string
OdinToken string
BinaryEdgeToken string
OnypheKey string
DriftnetToken string
GreyNoiseKey string
}
type Provider ¶
type Provider struct {
Shodan []string `yaml:"shodan"`
Censys []string `yaml:"censys"`
Fofa []string `yaml:"fofa"`
Quake []string `yaml:"quake"`
Hunter []string `yaml:"hunter"`
ZoomEye []string `yaml:"zoomeye"`
Netlas []string `yaml:"netlas"`
CriminalIP []string `yaml:"criminalip"`
Publicwww []string `yaml:"publicwww"`
HunterHow []string `yaml:"hunterhow"`
Google []string `yaml:"google"`
Odin []string `yaml:"odin"`
BinaryEdge []string `yaml:"binaryedge"`
Onyphe []string `yaml:"onyphe"`
Driftnet []string `yaml:"driftnet"`
GreyNoise []string `yaml:"greynoise"`
}
func NewProvider ¶
func NewProvider() *Provider
NewProvider loads provider keys from default location and env variables
func (*Provider) LoadProviderConfig ¶
LoadProvidersFrom loads provider config from given location
func (*Provider) LoadProviderKeysFromEnv ¶
func (provider *Provider) LoadProviderKeysFromEnv()
LoadProviderKeysFromEnv loads provider keys from env variables
type Result ¶
type Session ¶
type Session struct {
Keys *Keys
Client *retryablehttp.Client
RetryMax int
RateLimits *ratelimit.MultiLimiter
}
Session handles session agent sessions
func NewSession ¶
Click to show internal directories.
Click to hide internal directories.