fscan/Common/Types.go
ZacharyZcR 4101ccc91a feat: 重构进度条系统并优化日志级别控制
- 实现固定底部进度条显示,与正常输出分离
- 创建ProgressManager统一管理进度条状态和渲染
- 优化日志级别过滤,默认只显示BASE、INFO、SUCCESS级别
- 修复进度条与并发日志输出的冲突问题
- 重构日志系统以支持动态级别配置和进度条协调
- 改进用户体验,提供清晰、专业的扫描进度反馈

主要改进:
* 新增ProgressManager.go实现固定底部进度条
* 修复日志初始化时机,确保级别配置正确生效
* 实现日志输出与进度条的互斥显示机制
* 优化默认日志级别,过滤干扰性调试和错误信息
* 保持向后兼容性,支持用户自定义日志级别
2025-08-06 00:06:49 +08:00

53 lines
1.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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