mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-09-14 14:06:44 +08:00

- 实现固定底部进度条显示,与正常输出分离 - 创建ProgressManager统一管理进度条状态和渲染 - 优化日志级别过滤,默认只显示BASE、INFO、SUCCESS级别 - 修复进度条与并发日志输出的冲突问题 - 重构日志系统以支持动态级别配置和进度条协调 - 改进用户体验,提供清晰、专业的扫描进度反馈 主要改进: * 新增ProgressManager.go实现固定底部进度条 * 修复日志初始化时机,确保级别配置正确生效 * 实现日志输出与进度条的互斥显示机制 * 优化默认日志级别,过滤干扰性调试和错误信息 * 保持向后兼容性,支持用户自定义日志级别
53 lines
1.9 KiB
Go
53 lines
1.9 KiB
Go
package Common
|
||
|
||
import "github.com/shadow1ng/fscan/Common/Core"
|
||
|
||
/*
|
||
Types.go - 类型定义(向后兼容层)
|
||
|
||
此文件保持向后兼容,实际类型定义和插件系统已迁移到Core/Plugin.go
|
||
*/
|
||
|
||
// =============================================================================
|
||
// 向后兼容的类型别名
|
||
// =============================================================================
|
||
|
||
// HostInfo 主机信息结构 - 引用Core包中的定义
|
||
type HostInfo = Core.HostInfo
|
||
|
||
// ScanPlugin 扫描插件结构 - 引用Core包中的定义
|
||
type ScanPlugin = Core.ScanPlugin
|
||
|
||
// =============================================================================
|
||
// 向后兼容的插件类型常量
|
||
// =============================================================================
|
||
|
||
const (
|
||
PluginTypeService = Core.PluginTypeService // 服务类型插件
|
||
PluginTypeWeb = Core.PluginTypeWeb // Web类型插件
|
||
PluginTypeLocal = Core.PluginTypeLocal // 本地类型插件
|
||
PluginTypeBrute = Core.PluginTypeBrute // 暴力破解插件
|
||
PluginTypePoc = Core.PluginTypePoc // POC验证插件
|
||
PluginTypeScan = Core.PluginTypeScan // 扫描探测插件
|
||
)
|
||
|
||
// =============================================================================
|
||
// 向后兼容的插件管理函数
|
||
// =============================================================================
|
||
|
||
// RegisterPlugin 注册插件到全局管理器 - 保持向后兼容
|
||
func RegisterPlugin(name string, plugin ScanPlugin) {
|
||
if err := Core.RegisterPlugin(name, plugin); err != nil {
|
||
// 注册失败时记录错误,但不中断程序
|
||
LogError("Failed to register plugin " + name + ": " + err.Error())
|
||
}
|
||
}
|
||
|
||
// GetGlobalPluginManager 获取全局插件管理器
|
||
func GetGlobalPluginManager() *Core.PluginManager {
|
||
return Core.GetGlobalPluginManager()
|
||
}
|
||
|
||
// 向后兼容的全局变量 - 引用Core包中的定义
|
||
var PluginManager = Core.LegacyPluginManager
|