web

package
v3.2.9 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2026 License: MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetMonitorStats added in v3.2.7

func GetMonitorStats() (float64, float64)

GetMonitorStats 获取当前的 CPU 和内存使用率

func GetUserIDFromContext added in v3.2.0

func GetUserIDFromContext(r *http.Request) string

func GetWebpathFS added in v3.2.2

func GetWebpathFS() embed.FS

func GetWebpathIndexPath added in v3.2.2

func GetWebpathIndexPath() string

func InitMonitor added in v3.2.7

func InitMonitor()

InitMonitor 初始化并启动监控

func StartServer

func StartServer(addr string) error

func StopMonitor added in v3.2.7

func StopMonitor()

StopMonitor 停止监控

Types

type APIResponse added in v3.2.0

type APIResponse struct {
	Success bool        `json:"success"`
	Message string      `json:"message"`
	Data    interface{} `json:"data,omitempty"`
}

通用API响应

type AssetSetContent added in v3.2.7

type AssetSetContent struct {
	Info  AssetSetInfo `json:"info"`
	Items []string     `json:"items"`
}

资产集合内容响应

type AssetSetInfo added in v3.2.7

type AssetSetInfo struct {
	ID        string   `json:"id"`
	Name      string   `json:"name"`
	Path      string   `json:"path"`
	Category  string   `json:"category,omitempty"`
	Tags      []string `json:"tags,omitempty"`
	Created   string   `json:"created,omitempty"`
	Updated   string   `json:"updated,omitempty"`
	LineCount int      `json:"line_count"`
	Favorite  bool     `json:"favorite,omitempty"`
}

资产地址集合元信息

type AssetsListResponse added in v3.2.7

type AssetsListResponse struct {
	Items     []AssetSetInfo `json:"items"`
	Total     int            `json:"total"`
	UpdatedAt string         `json:"updated_at"`
}

资产集合列表响应

type Claims added in v3.2.0

type Claims struct {
	UserID    string `json:"user_id"`
	LoginTime int64  `json:"login_time"`
	jwt.RegisteredClaims
}

JWT Claims结构

type ForceStopRequest added in v3.2.7

type ForceStopRequest struct {
	TaskID  string `json:"taskId"`
	Confirm bool   `json:"confirm"`
}

type LoginRequest added in v3.2.0

type LoginRequest struct {
	Password string `json:"password"`
}

登录请求结构

type LoginResponse added in v3.2.0

type LoginResponse struct {
	Success bool   `json:"success"`
	Message string `json:"message"`
	Token   string `json:"token,omitempty"`
	Expires int64  `json:"expires,omitempty"`
}

登录响应结构

type PocsListItem added in v3.2.2

type PocsListItem struct {
	ID       string   `json:"id"`
	Name     string   `json:"name"`
	Severity string   `json:"severity"`
	Author   []string `json:"author,omitempty"`
	Tags     []string `json:"tags,omitempty"`
	Source   string   `json:"source"` // builtin/curated/my/local
	Path     string   `json:"path,omitempty"`
	Created  string   `json:"created,omitempty"`
}

POC 列表 - 单条记录

type PocsListResponse added in v3.2.2

type PocsListResponse struct {
	Items      []PocsListItem `json:"items"`
	Page       int            `json:"page"`
	PageSize   int            `json:"page_size"`
	Total      int            `json:"total"`
	TotalPages int            `json:"total_pages"`
	Source     string         `json:"source"`
	Severity   []string       `json:"severity,omitempty"`
	Tags       []string       `json:"tags,omitempty"`
	Author     []string       `json:"author,omitempty"`
	Keyword    string         `json:"keyword,omitempty"`
}

POC 列表 - 响应

type ReportItem added in v3.2.0

type ReportItem struct {
	ID         string      `json:"id"`
	TaskID     string      `json:"taskId"`
	VulID      string      `json:"vulId"`
	VulName    string      `json:"vulName"`
	Target     string      `json:"target"`
	FullTarget string      `json:"fullTarget,omitempty"`
	Severity   string      `json:"severity"`
	Created    string      `json:"created"`
	PocInfo    interface{} `json:"pocInfo,omitempty"`    // 展开后的 POC 信息(与前端展示一致)
	ResultList interface{} `json:"resultList,omitempty"` // 解析后的请求响应列表
}

报告列表 - 单条记录

type ReportListRequest added in v3.2.0

type ReportListRequest struct {
	Keyword  string   `json:"keyword,omitempty"`
	Severity []string `json:"severity,omitempty"` // 多个值,如 ["high","critical"]
	Page     int      `json:"page"`               // 从1开始
	PageSize int      `json:"page_size"`          // 默认50,最大500
}

报告列表 - 请求

type ReportListResponse added in v3.2.0

type ReportListResponse struct {
	Items      []ReportItem `json:"items"`
	Page       int          `json:"page"`
	PageSize   int          `json:"page_size"`
	Total      int64        `json:"total"`
	TotalPages int          `json:"total_pages"`
	Keyword    string       `json:"keyword,omitempty"`
	Severity   []string     `json:"severity,omitempty"`
}

报告列表 - 响应

type ScanCreateRequest added in v3.2.7

type ScanCreateRequest struct {
	Targets         []string `json:"targets,omitempty"`
	AssetSetID      string   `json:"assetSetId,omitempty"`
	PocFile         string   `json:"poc_file,omitempty"`
	PocSource       string   `json:"poc_source,omitempty"`
	PocIDs          []string `json:"poc_ids,omitempty"`
	Search          string   `json:"search,omitempty"`
	Severity        string   `json:"severity,omitempty"`
	Concurrency     int      `json:"concurrency,omitempty"`
	RateLimit       int      `json:"rate_limit,omitempty"`
	Timeout         int      `json:"timeout,omitempty"`
	Retries         int      `json:"retries,omitempty"`
	MaxHostError    int      `json:"max_host_error,omitempty"`
	Proxy           string   `json:"proxy,omitempty"`
	FollowRedirects bool     `json:"follow_redirects,omitempty"`
	EnableOOB       bool     `json:"enable_oob,omitempty"`
	OOB             string   `json:"oob,omitempty"`
	OOBKey          string   `json:"oob_key,omitempty"`
	OOBDomain       string   `json:"oob_domain,omitempty"`
	OOBApiUrl       string   `json:"oob_api_url,omitempty"`
	OOBHttpUrl      string   `json:"oob_http_url,omitempty"`
	TaskName        string   `json:"task_name,omitempty"`
	Labels          []string `json:"labels,omitempty"`
	EnableStream    bool     `json:"enable_stream"`
	Smart           bool     `json:"smart,omitempty"`
}

type ScanEvent added in v3.2.7

type ScanEvent struct {
	Type string      `json:"type"`
	Data interface{} `json:"data"`
}

type ScanInitInfo added in v3.2.7

type ScanInitInfo struct {
	TotalTargets int      `json:"total_targets"`
	TotalPocs    int      `json:"total_pocs"`
	TotalScans   int      `json:"total_scans"`
	Targets      []string `json:"targets"`
	OOBEnabled   bool     `json:"oob_enabled"`
	OOBStatus    string   `json:"oob_status"`
}

type ScanProgressData added in v3.2.7

type ScanProgressData struct {
	Percent   int   `json:"percent"`
	Finished  int   `json:"finished"`
	Total     int   `json:"total"`
	Rate      int   `json:"rate"`
	ElapsedMs int64 `json:"elapsedMs"`
}

type ScanStatusData added in v3.2.7

type ScanStatusData struct {
	Status   string           `json:"status"`
	Progress ScanProgressData `json:"progress"`
	Stats    struct {
		CompletedScans int `json:"completedScans"`
		TotalScans     int `json:"totalScans"`
		FoundVulns     int `json:"foundVulns"`
	} `json:"stats"`
	TaskID     string `json:"taskId,omitempty"`
	InstanceID string `json:"instance_id,omitempty"`
	BaseURL    string `json:"base_url,omitempty"`
}

type SystemMonitor added in v3.2.7

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

type Task added in v3.2.7

type Task struct {
	ID            string
	Name          string
	CreatedAt     time.Time
	Status        TaskStatus
	Scanner       *afrog.SDKScanner
	SeverityStats map[string]int
	Subscribers   map[chan ScanEvent]struct{}
	// contains filtered or unexported fields
}

type TaskManager added in v3.2.7

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

type TaskStatus added in v3.2.7

type TaskStatus string
const (
	TaskStarting  TaskStatus = "starting"
	TaskRunning   TaskStatus = "running"
	TaskPaused    TaskStatus = "paused"
	TaskCompleted TaskStatus = "completed"
	TaskFailed    TaskStatus = "failed"
	TaskCancelled TaskStatus = "cancelled"
)

Jump to

Keyboard shortcuts

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