runner

package
v1.6.13 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultOptions = Options{
	Threads: 10,
	Timeout: 30,
}

DefaultOptions 默认配置选项

Functions

func CreateMatchPartGetter added in v1.6.10

func CreateMatchPartGetter(banner *crawl.Banner) rule.MatchPartGetter

CreateMatchPartGetter 创建一个从banner中提取匹配部分的函数

func MatchWpPlugin added in v1.6.0

func MatchWpPlugin(body string) map[string]map[string]string

MatchWpPlugin 匹配WordPress插件

func MergeMaps added in v1.6.0

func MergeMaps(m1, m2 map[string]map[string]string) map[string]map[string]string

MergeMaps 合并两个map

Types

type BannerAdapter added in v1.6.0

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

BannerAdapter 将crawl.Banner适配为matchers.BannerInfo

func (*BannerAdapter) GetMatchPart added in v1.6.0

func (a *BannerAdapter) GetMatchPart(part string) string

GetMatchPart 实现BannerInfo接口的GetMatchPart方法

func (*BannerAdapter) GetStatusCode added in v1.6.0

func (a *BannerAdapter) GetStatusCode() int

GetStatusCode 实现BannerInfo接口的GetStatusCode方法

func (*BannerAdapter) GetURI added in v1.6.0

func (a *BannerAdapter) GetURI() string

GetURI 实现BannerInfo接口的GetURI方法

type ExecutorsPlugin added in v1.6.0

type ExecutorsPlugin struct {
	Plugin *rule.Plugin
	Banner *crawl.Banner
}

type OptionFunc added in v1.6.4

type OptionFunc func(*RunnerBuilder)

OptionFunc 定义一个函数类型,用于设置Runner的选项

func WithCallback added in v1.6.4

func WithCallback(callback func(target string, result *Result)) OptionFunc

WithCallback 设置结果处理回调函数

func WithCrawler added in v1.6.4

func WithCrawler(crawler *crawl.Crawler) OptionFunc

WithCrawler 设置自定义爬虫

func WithJSONOutput added in v1.6.4

func WithJSONOutput(json bool) OptionFunc

WithJSONOutput 设置是否输出JSON格式

func WithOutput added in v1.6.4

func WithOutput(output string) OptionFunc

WithOutput 设置输出文件路径

func WithRuleManager added in v1.6.4

func WithRuleManager(manager *rule.Manager) OptionFunc

WithRuleManager 设置自定义规则管理器

func WithRulePath added in v1.6.4

func WithRulePath(path string) OptionFunc

WithRulePath 设置规则库路径

func WithSilent added in v1.6.4

func WithSilent(silent bool) OptionFunc

WithSilent 设置是否静默模式

func WithThreads added in v1.6.4

func WithThreads(threads int) OptionFunc

WithThreads 设置并发线程数

func WithTimeout added in v1.6.4

func WithTimeout(timeout int) OptionFunc

WithTimeout 设置超时时间(秒)

func WithVerbose added in v1.6.4

func WithVerbose(verbose bool) OptionFunc

WithVerbose 设置是否输出详细信息

type Options

type Options struct {
	// 输入相关
	Target  string   // 单个目标URL
	Targets []string // 多个目标URL列表
	File    string   // 目标文件路径
	Stdin   bool     // 是否使用标准输入
	// 运行相关
	Threads  int    // 并发线程数
	Timeout  int    // 超时时间(秒)
	Verbose  bool   // 是否输出详细信息
	Silent   bool   // 是否静默模式
	RulePath string // 规则库路径

	// 输出相关
	Output    string // 输出文件路径
	JSON      bool   // 是否输出JSON格式
	NoColor   bool   // 是否禁用彩色输出
	OutputAll bool   // 是否输出所有结果(包括未识别到指纹的目标)
	// 回调函数,用于处理扫描结果
	Callback func(target string, result *Result)
}

Options 运行时配置选项

type OutputFields

type OutputFields struct {
	URL     string                       `json:"url"`
	Extract map[string]map[string]string `json:"extract,omitempty"`
}

OutputFields 输出字段

type Result added in v1.6.0

type Result struct {
	Banner     *crawl.Banner
	Components map[string]map[string]string
}

Result 表示指纹识别结果

type Runner

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

Runner 负责协调爬虫和规则匹配的执行流程

func New added in v1.6.4

func New(opts ...OptionFunc) (*Runner, error)

New 使用功能选项模式创建Runner实例

func NewDefaultRunner added in v1.6.0

func NewDefaultRunner(options *crawl.Options, finger *rule.Finger) *Runner

NewDefaultRunner 创建默认的Runner实例

func NewRunner

func NewRunner(crawler *crawl.Crawler, ruleManager *rule.Manager, options *Options) (*Runner, error)

NewRunner 从现有的crawler和ruleManager创建Runner实例

func NewRunnerCompat added in v1.6.0

func NewRunnerCompat(crawler *crawl.Crawler, ruleManager *rule.Manager) *Runner

NewRunnerCompat 向后兼容的NewRunner函数,用于支持现有代码

func NewRunnerWithOptions added in v1.6.0

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

NewRunnerWithOptions 从选项创建Runner实例

func (*Runner) Enumerate

func (r *Runner) Enumerate() error

Enumerate 执行指纹识别任务

func (*Runner) ExecuteWithPlugin added in v1.6.0

func (r *Runner) ExecuteWithPlugin(ctx context.Context, baseURL string, plugin *rule.Plugin) ([]*crawl.Banner, error)

ExecuteWithPlugin 使用插件执行额外请求

func (*Runner) Match added in v1.6.0

func (r *Runner) Match(uri string) (banner *crawl.Banner, m map[string]map[string]string, err error)

Match 兼容旧版API的匹配方法

func (*Runner) Scan added in v1.6.0

func (r *Runner) Scan(uri string) (*Result, error)

Scan 扫描URL

func (*Runner) ScanWithContext added in v1.6.0

func (r *Runner) ScanWithContext(ctx context.Context, uri string) (*Result, error)

ScanWithContext 执行指纹识别流程

type RunnerBuilder added in v1.6.4

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

RunnerBuilder 用于构建Runner实例的构建器

func NewBuilder added in v1.6.4

func NewBuilder() *RunnerBuilder

NewBuilder 创建一个新的Runner构建器

func (*RunnerBuilder) Build added in v1.6.4

func (rb *RunnerBuilder) Build() (*Runner, error)

Build 构建Runner实例

Jump to

Keyboard shortcuts

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