Documentation
¶
Overview ¶
Package config defines runtime configuration structures and helpers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
Listen string `mapstructure:"listen" default:"{{ .args.listen }}" validate:"required,hostport"`
UpdateInterval time.Duration `mapstructure:"interval" default:"{{ .args.interval }}" validate:"gt=0"`
MaxWorkers int `mapstructure:"max_workers" default:"{{ .args.max_workers }}" validate:"gt=0"`
HTTPListen string `mapstructure:"http_listen" default:"{{ .args.http_listen }}" validate:"omitempty,hostport"`
Domains []*ScanConfig `mapstructure:"domains" validate:"required,min=1"`
}
Config represents application-level settings.
type ScanConfig ¶
type ScanConfig struct {
Domain string `mapstructure:"domain" validate:"required,fqdn"`
CIDRs []string `mapstructure:"cidr" validate:"required,min=1,dive,cidr"`
SNI string `mapstructure:"sni" default:"{{ .args.sni }}"`
Timeout int `mapstructure:"timeout" default:"{{ .args.timeout }}" validate:"gt=0"`
Port int `mapstructure:"port" default:"{{ .args.port }}" validate:"gte=1,lte=65535"`
Path string `mapstructure:"path" default:"{{ .args.path }}" validate:"required,path"`
StatusCode int `mapstructure:"status_code" default:"{{ .args.status_code }}" validate:"gte=0,lte=599"`
SamplesMinimum int `mapstructure:"sample_min" default:"{{ .args.sample_min }}" validate:"gte=0"`
SamplesMaximum int `mapstructure:"sample_max" default:"{{ .args.sample_max }}" validate:"gte=0"`
SamplesChance float64 `mapstructure:"sample_chance" default:"{{ .args.sample_chance }}" validate:"gte=0,lte=1"`
HTTPOnly bool `mapstructure:"http_only" default:"{{ .args.http_only }}"`
Program string `mapstructure:"program"`
Limit int `mapstructure:"result_limit" default:"4" validate:"gt=0"`
// contains filtered or unexported fields
}
ScanConfig defines scan settings for a single domain.
func (*ScanConfig) BuildVM ¶
func (sc *ScanConfig) BuildVM() (*vm.VM, error)
BuildVM creates and caches the execution VM for this scan configuration.
func (*ScanConfig) ReadCIDRs ¶
func (sc *ScanConfig) ReadCIDRs() ([]*cidr.Iterator, error)
ReadCIDRs parses CIDR strings into iterators.
func (*ScanConfig) ReadCIDRsSamples ¶
ReadCIDRsSamples builds sampled IP sequences from configured CIDRs.
func (*ScanConfig) Validate ¶ added in v0.1.0
func (sc *ScanConfig) Validate() error
Validate checks whether the per-domain scan configuration is usable.
Click to show internal directories.
Click to hide internal directories.