runner

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2025 License: GPL-3.0 Imports: 13 Imported by: 4

Documentation

Overview

Package runner executes the enumeration process.

Index

Constants

View Source
const (
	// DefaultBatchSize is the default number of lines per chunk for incremental processing
	DefaultBatchSize = 500000
)

Variables

View Source
var DefaultOptions = Options{
	Threads:         10000,
	Retries:         5,
	WildcardThreads: 250,
	BatchSize:       DefaultBatchSize,
}

Functions

func GetUpdateCallback added in v1.0.9

func GetUpdateCallback() func()

GetUpdateCallback returns a callback function that updates shuffledns

Types

type Mode added in v1.1.0

type Mode string
const (
	BruteForce Mode = "bruteforce"
	Resolve    Mode = "resolve"
)

type Options

type Options struct {
	AutoExtractRootDomains bool                // Automatically extract root domains
	Directory              string              // Directory is a directory for temporary data
	Domains                goflags.StringSlice // Domains is the list of domains to find subdomains
	SubdomainsList         string              // SubdomainsList is the file containing list of hosts to resolve
	ResolversFile          string              // ResolversFile is the file containing resolvers to use for enumeration
	TrustedResolvers       string              // TrustedResolvers is the file containing trusted resolvers
	Wordlist               string              // Wordlist is a wordlist to use for enumeration
	MassdnsPath            string              // MassdnsPath contains the path to massdns binary
	Output                 string              // Output is the file to write found subdomains to.
	Json                   bool                // Json is the format for making output as ndjson
	Silent                 bool                // Silent suppresses any extra text and only writes found host:port to screen
	Version                bool                // Version specifies if we should just show version and exit
	Retries                int                 // Retries is the number of retries for dns enumeration
	Verbose                bool                // Verbose flag indicates whether to show verbose output or not
	NoColor                bool                // No-Color disables the colored output
	Threads                int                 // Thread controls the number of parallel host to enumerate
	MassdnsRaw             string              // MassdnsRaw perform wildcards filtering from an existing massdns output file
	WildcardThreads        int                 // WildcardsThreads controls the number of parallel host to check for wildcard
	StrictWildcard         bool                // StrictWildcard flag indicates whether wildcard check has to be performed on each found subdomains
	WildcardOutputFile     string              // StrictWildcard flag indicates whether wildcard check has to be performed on each found subdomains
	MassDnsCmd             string              // Supports massdns flags(example -i)
	DisableUpdateCheck     bool                // DisableUpdateCheck disable automatic update check
	Mode                   string
	KeepStderr             bool // KeepStderr controls whether to capture and store massdns stderr output
	BatchSize              int  // BatchSize controls the number of lines per chunk for incremental processing

	OnResult func(*retryabledns.DNSData)
}

Options contains the configuration options for tuning the active dns resolving process.

func ParseOptions

func ParseOptions() *Options

ParseOptions parses the command line flags provided by a user

type Runner

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

Runner is a client for running the enumeration process.

func New

func New(options *Options) (*Runner, error)

New creates a new client for running enumeration process.

func (*Runner) Close

func (r *Runner) Close()

Close releases all the resources and cleans up

func (*Runner) RunEnumeration

func (r *Runner) RunEnumeration()

RunEnumeration sets up the input layer for giving input to massdns binary and runs the actual enumeration

Jump to

Keyboard shortcuts

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