mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-23 03:31:53 +08:00
- 新增 common/session.go: ScanSession 结构体封装 Config/State/Params/Dialer - RunScan/Strategy/ExecuteScanTasks/executeScanTask 全部接收 session - Plugin 接口从 Scan(ctx, info, config, state) 改为 Scan(ctx, info, session) - 48 个插件实现统一更新签名 - Web API 构建 ScanSession 传给 RunScan - CLI 模式通过 Initialize() 创建 session
22 lines
561 B
Go
22 lines
561 B
Go
package local
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/shadow1ng/fscan/common"
|
|
"github.com/shadow1ng/fscan/plugins"
|
|
)
|
|
|
|
// Plugin 本地插件接口 - 不需要端口概念
|
|
type Plugin interface {
|
|
Name() string
|
|
Scan(ctx context.Context, info *common.HostInfo, session *common.ScanSession) *plugins.Result
|
|
}
|
|
|
|
// RegisterLocalPlugin 注册本地插件 - 自动标记local类型
|
|
func RegisterLocalPlugin(name string, creator func() Plugin) {
|
|
plugins.RegisterWithTypes(name, func() plugins.Plugin {
|
|
return creator()
|
|
}, []int{}, []string{plugins.PluginTypeLocal})
|
|
}
|