plugin

package module
v1.0.28 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2026 License: BSD-3-Clause Imports: 2 Imported by: 2

Documentation

Overview

Package plugin is the public API for the fingerprint plugin subsystem.

It bridges three internal subsystems that serve distinct domains:

  • internal/plugin: Generic plugin lifecycle (Analyzer, Transformer, Exporter, Validator) with a Manager for registration and discovery.
  • internal/extension: TLS extension analysis framework (Parser, Analyzer, Handler) with a global ExtensionRegistry.
  • internal/plugins: Fingerprint profile data model (FingerprintMetadata, ClientHelloSpec) used internally by the contrib builder; not re-exported here.

Callers should use this package rather than importing internal packages directly.

Index

Constants

View Source
const (
	TypeAnalyzer    = ip.TypeAnalyzer
	TypeTransformer = ip.TypeTransformer
	TypeExporter    = ip.TypeExporter
	TypeValidator   = ip.TypeValidator
)

Plugin types

Variables

This section is empty.

Functions

func GetRegistryStats

func GetRegistryStats() map[string]interface{}

GetRegistryStats returns registry statistics.

func LoadPlugins

func LoadPlugins(configPath string) error

LoadPlugins loads plugins from the given config path.

func RegisterAnalyzer

func RegisterAnalyzer(extType ExtensionType, analyzer Analyzer) error

RegisterAnalyzer registers an analyzer for the given extension type.

func RegisterExtension

func RegisterExtension(metadata *ExtensionMetadata) error

RegisterExtension registers extension metadata in the global registry.

func RegisterHandler

func RegisterHandler(extType ExtensionType, handler Handler) error

RegisterHandler registers a handler for the given extension type.

func RegisterParser

func RegisterParser(extType ExtensionType, parser Parser) error

RegisterParser registers a parser for the given extension type.

func RegisterPlugin

func RegisterPlugin(name string, plugin Plugin) error

RegisterPlugin registers a named plugin.

Types

type AnalysisResult

type AnalysisResult = ip.AnalysisResult

AnalysisResult contains analysis results

type Analyzer

type Analyzer = ie.Analyzer

Analyzer analyzes parsed extension data

type BasePlugin

type BasePlugin = ip.BasePlugin

BasePlugin provides common plugin functionality

type EventResult

type EventResult = ie.EventResult

EventResult holds the result of event processing

type ExtensionData

type ExtensionData = ie.ExtensionData

ExtensionData is the interface for parsed extension data

type ExtensionEvent

type ExtensionEvent = ie.ExtensionEvent

ExtensionEvent represents an event for handler processing

type ExtensionMetadata

type ExtensionMetadata = ie.ExtensionMetadata

ExtensionMetadata holds metadata for a registered extension

type ExtensionRegistry

type ExtensionRegistry = ie.ExtensionRegistry

ExtensionRegistry is the global registry for extensions

func GetRegistry

func GetRegistry() *ExtensionRegistry

GetRegistry returns the global extension registry.

type ExtensionType

type ExtensionType = ie.ExtensionType

ExtensionType represents a TLS extension type identifier

type Handler

type Handler = ie.Handler

Handler processes extension events in a streaming/event-driven fashion

type Manager

type Manager = ip.Manager

Manager manages plugins

func NewManager

func NewManager() *Manager

NewManager creates a new plugin manager

type Parser

type Parser = ie.Parser

Parser parses raw extension bytes into structured data

type Plugin

type Plugin = ie.Plugin

Plugin represents a third-party extension plugin

func GetPlugin

func GetPlugin(name string) (Plugin, error)

GetPlugin retrieves a plugin by name.

type PluginInfo

type PluginInfo = ie.PluginInfo

PluginInfo holds plugin metadata and status

type PluginType

type PluginType = ip.PluginType

PluginType represents plugin type

type ValidationResult

type ValidationResult = ip.ValidationResult

ValidationResult contains validation results

Jump to

Keyboard shortcuts

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