settings

package
v0.0.0-...-b323cf4 Latest Latest
Warning

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

Go to latest
Published: May 28, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package settings provides a central interface to webborer settings.

Package settings provides a central interface to webborer settings.

Package settings provides a central interface to webborer settings.

Package settings provides a central interface to webborer settings.

Package settings provides a central interface to webborer settings.

Package settings provides a central interface to webborer settings.

Package settings provides a central interface to webborer settings.

Index

Constants

View Source
const (
	IgnoreRobots = iota
	ObeyRobots
	SeedRobots
)

We handle Robots.txt in various ways

View Source
const (
	RunModeEnumeration = iota
	RunModeDotProduct
	RunModeLinkCheck
)

We have a couple of different runmodes

Variables

View Source
var DefaultUserAgent = "WebBorer 0.01"

Functions

func SetOutputFormats

func SetOutputFormats(formats []string)

Init output formats

Types

type DurationFlag

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

DurationFlag is a flag.Value that takes a Duration spec (see time.Duration) and parses it and stores the Duration.

func (DurationFlag) Set

func (f DurationFlag) Set(value string) error

func (DurationFlag) String

func (f DurationFlag) String() string

Satisfies flag.Value interface and converts to a duration based on seconds

type HeaderFlag

type HeaderFlag http.Header

HeaderFlag is an http.Header wrapped in the flag.Value interface.

func (*HeaderFlag) Header

func (f *HeaderFlag) Header() http.Header

func (*HeaderFlag) Set

func (f *HeaderFlag) Set(value string) error

func (*HeaderFlag) String

func (f *HeaderFlag) String() string

type IntSliceFlag

type IntSliceFlag []int

IntSliceFlag is a flag.Value that takes a comma-separated string and turns it into a slice of ints.

func (*IntSliceFlag) Set

func (f *IntSliceFlag) Set(value string) error

func (*IntSliceFlag) String

func (f *IntSliceFlag) String() string

type RobotsModeOption

type RobotsModeOption int

Control how we handle robots.txt

func (*RobotsModeOption) Set

func (f *RobotsModeOption) Set(value string) error

func (*RobotsModeOption) String

func (f *RobotsModeOption) String() string

type RunModeOption

type RunModeOption int

Run mode specifies a couple of different ways for handling general operations.

func (*RunModeOption) Set

func (f *RunModeOption) Set(value string) error

func (*RunModeOption) String

func (f *RunModeOption) String() string

type ScanSettings

type ScanSettings struct {
	// Starting point and scope of scan
	BaseURLs StringSliceFlag
	// Number of threads to run
	Threads int
	// Number of workers to run
	Workers int
	// Exclusions
	ExcludePaths StringSliceFlag
	// Proxies
	Proxies StringSliceFlag
	// Operating mode
	RunMode RunModeOption
	// Parse HTML for links?
	ParseHTML bool
	// Time to sleep between requests, per thread
	SleepTime time.Duration
	// Log file path
	LogfilePath string
	// Level of logging
	LogLevel string
	// Wordlist for scanning
	WordlistPath string
	// Extensions for mangling
	Extensions StringSliceFlag
	// Whether or not to mangle by adding extensions
	Mangle bool
	// How long should internal queues be sized
	QueueSize int
	// Timeout for network requests
	Timeout time.Duration
	// Output type
	OutputFormat string
	// Output path
	OutputPath string
	// User-Agent for requests
	UserAgent string
	// HTTP Method to use
	Method string
	// Whether to include redirects in reporting
	IncludeRedirects bool
	// How to handle Robots.txt
	RobotsMode RobotsModeOption
	// Whether to allow upgrade from http to https
	AllowHTTPSUpgrade bool
	// Spider which http response codes
	SpiderCodes IntSliceFlag
	// HTTP Auth Username
	HTTPUsername string
	// HTTP Auth Password
	HTTPPassword string
	// Headers *always* sent
	Header HeaderFlag
	// Headers sometimes sent
	OptionalHeader HeaderFlag
	// Progress bar
	ProgressBar bool
	// Add slashes
	AddSlashes bool
	// MangleCases
	MangleCases bool
	// Whether or not to do CPU Profiling
	DebugCPUProf bool
	// contains filtered or unexported fields
}

ScanSettings store all of the settings for the running scan. It's basically a mapping from command-line flags into a single struct that can be passed into setup functions to get the desired behavior.

func GetScanSettings

func GetScanSettings() (*ScanSettings, error)

Create settings that includes configuration files and command line flags. Generally, this should be called very early and is the best way to get the settings.

func NewScanSettings

func NewScanSettings() *ScanSettings

Constructs a ScanSettings struct with all of the defaults to be used.

func (*ScanSettings) GetScopes

func (settings *ScanSettings) GetScopes() ([]*url.URL, error)

Convert BaseURL strings to URLs

func (*ScanSettings) InitFlags

func (settings *ScanSettings) InitFlags()

Setup all of the flags. Should be called *early*

func (*ScanSettings) LoadFromConfigFile

func (settings *ScanSettings) LoadFromConfigFile(path string)

Load from the specified file

func (*ScanSettings) LoadFromDefaultConfigFiles

func (settings *ScanSettings) LoadFromDefaultConfigFiles()

Load settings from the first file found in searchPaths

func (*ScanSettings) ParseFlags

func (settings *ScanSettings) ParseFlags()

Parse command line flags into settings

func (*ScanSettings) String

func (settings *ScanSettings) String() string

Printable config

func (*ScanSettings) Validate

func (settings *ScanSettings) Validate() error

Validate settings

type StringSliceFileFlag

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

StringSliceFileFlag is flag.Value that loads from a file into a wrapped StringSliceFlag

func (*StringSliceFileFlag) Set

func (f *StringSliceFileFlag) Set(value string) error

func (*StringSliceFileFlag) String

func (f *StringSliceFileFlag) String() string

type StringSliceFlag

type StringSliceFlag []string

StringSliceFlag is a flag.Value that takes a comma-separated or repeated string and turns it into a slice of strings.

func (*StringSliceFlag) Set

func (f *StringSliceFlag) Set(value string) error

func (*StringSliceFlag) String

func (f *StringSliceFlag) String() string

Satisfies flag.Value interface and splits value on commas

Jump to

Keyboard shortcuts

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