jxscouttypes

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2026 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Asset

type Asset = assetservice.Asset

type AssetFetcher

type AssetFetcher = assetfetcher.AssetFetcher

AssetFetcher interface

type AssetService

type AssetService = assetservice.AssetService

AssetService interface

type DBEventBus

type DBEventBus = *dbeventbus.EventBus

type EventBus

type EventBus = eventbus.EventBus

EventBus interface

type EventBusMessage

type EventBusMessage = eventbus.Message

type FileService

type FileService = assetservice.FileService

type HTTPServer

type HTTPServer interface {
	SendSuccessResponse(w http.ResponseWriter, status int, result any)
	SendErrorResponse(w http.ResponseWriter, message string, status int)
}

HTTPServer interface

type JXScout

type JXScout interface {
	Start() error
	RegisterModule(Module) error
}

type Module

type Module interface {
	Initialize(sdk *ModuleSDK) error
}

type ModuleSDK

type ModuleSDK struct {
	Ctx              context.Context
	InMemoryEventBus EventBus
	DBEventBus       DBEventBus
	Router           Router
	AssetService     AssetService
	AssetFetcher     AssetFetcher
	Options          Options
	HTTPServer       HTTPServer
	WebsocketServer  *websocket.WebsocketServer // used to communitate with VSCode
	Logger           *slog.Logger
	Scope            Scope
	FileService      FileService
	Database         *sqlx.DB
}

ModuleSDK are the exposed dependencies that modules can use

type Options

type Options struct {
	Port                             int                 `yaml:"port"`
	Hostname                         string              `yaml:"hostname"`
	ProjectName                      string              `yaml:"project-name"`
	ScopePatterns                    goflags.StringSlice `yaml:"scope"`
	Debug                            bool                `yaml:"debug"`
	AssetSaveConcurrency             int                 `yaml:"save-concurrency"`
	AssetFetchConcurrency            int                 `yaml:"fetch-concurrency"`
	BeautifierConcurrency            int                 `yaml:"beautifier-concurrency"`
	ChunkDiscovererConcurrency       int                 `yaml:"chunk-discoverer-concurrency"`
	ASTAnalyzerConcurrency           int                 `yaml:"ast-analyzer-concurrency"`
	ChunkDiscovererBruteForceLimit   int                 `yaml:"chunk-discoverer-bruteforce-limit"`
	JavascriptRequestsCacheTTL       time.Duration       `yaml:"js-requests-cache-ttl"`
	HTMLRequestsCacheTTL             time.Duration       `yaml:"html-requests-cache-ttl"`
	RateLimitingMaxRequestsPerSecond int                 `yaml:"rate-limiter-max-requests-per-second"`
	RateLimitingMaxRequestsPerMinute int                 `yaml:"rate-limiter-max-requests-per-minute"`
	DownloadReferedJS                bool                `yaml:"download-refered-js"`
	LogBufferSize                    int                 `yaml:"log-buffer-size"`
	LogFileMaxSizeMB                 int                 `yaml:"log-file-max-size-mb"`
	CaidoHostname                    string              `yaml:"caido-hostname"`
	CaidoPort                        int                 `yaml:"caido-port"`
	OverrideContentCheckInterval     time.Duration       `yaml:"override-content-check-interval"`
}

JXScout Options

type Router

type Router = chi.Router

Router interface

type Scope

type Scope interface {
	IsInScope(url string) bool
}

Scope interface

Jump to

Keyboard shortcuts

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