package common import ( "sync" "time" "github.com/schollz/progressbar/v3" "github.com/shadow1ng/fscan/common/core" "github.com/shadow1ng/fscan/common/logging" ) /* globals.go - 全局变量定义 直接导出core模块的变量,避免兼容层重定向。 这些变量被Flag.go和其他模块直接使用。 */ // ============================================================================= // 版本信息 // ============================================================================= var version = "2.0.2" // ============================================================================= // 核心扫描配置 - 直接使用core包变量 // ============================================================================= var ( ScanMode string // 扫描模式 ThreadNum int // 线程数 Timeout int64 // 超时时间 DisablePing bool // 禁用ping LocalMode bool // 本地模式 ) // ============================================================================= // 基础认证配置 - 直接定义 // ============================================================================= var ( Username string // 用户名 Password string // 密码 Userdict map[string][]string // 用户字典 Passwords []string // 密码列表 ) // ============================================================================= // 网络配置 - 直接定义 // ============================================================================= var ( HttpProxy string // HTTP代理 Socks5Proxy string // SOCKS5代理 ) // ============================================================================= // 显示控制 - 直接定义 // ============================================================================= var ( NoColor bool // 禁用颜色 Language string // 语言 LogLevel string // 日志级别 ) // ============================================================================= // 端口映射 - 直接定义 // ============================================================================= var ( PortMap map[int][]string // 端口映射 DefaultMap []string // 默认映射 ) // ============================================================================= // 其他全局变量 - 直接定义,避免多层引用 // ============================================================================= var ( // 输出配置 Outputfile string OutputFormat string ProgressBar *progressbar.ProgressBar OutputMutex sync.Mutex // 日志状态 Num, End int64 StartTime = time.Now() // 其他变量按需添加 ) // ============================================================================= // 日志级别常量 // ============================================================================= const ( LogLevelAll = string(logging.LevelAll) LogLevelError = string(logging.LevelError) LogLevelBase = string(logging.LevelBase) LogLevelInfo = string(logging.LevelInfo) LogLevelSuccess = string(logging.LevelSuccess) LogLevelDebug = string(logging.LevelDebug) LogLevelInfoSuccess = string(logging.LevelInfoSuccess) LogLevelBaseInfoSuccess = string(logging.LevelBaseInfoSuccess) ) // ============================================================================= // 初始化和同步函数 // ============================================================================= func init() { // 初始化核心配置 core.InitGlobalConfig() // 同步变量 syncWithCore() } // syncWithCore 同步common包变量与core包变量 func syncWithCore() { // 读取core包的默认值 ScanMode = core.ScanMode ThreadNum = core.ThreadNum Timeout = core.Timeout DisablePing = core.DisablePing LocalMode = core.LocalMode Username = core.Username Password = core.Password Userdict = core.Userdict Passwords = core.Passwords HttpProxy = core.HttpProxy Socks5Proxy = core.Socks5Proxy NoColor = core.NoColor Language = core.Language LogLevel = core.LogLevel PortMap = core.PortMap DefaultMap = core.DefaultMap } // syncToCore 将common包变量同步回core包 func syncToCore() { core.ScanMode = ScanMode core.ThreadNum = ThreadNum core.Timeout = Timeout core.DisablePing = DisablePing core.LocalMode = LocalMode core.Username = Username core.Password = Password core.Userdict = Userdict core.Passwords = Passwords core.HttpProxy = HttpProxy core.Socks5Proxy = Socks5Proxy core.NoColor = NoColor core.Language = Language core.LogLevel = LogLevel core.PortMap = PortMap core.DefaultMap = DefaultMap }