fscan/Common/globals.go
ZacharyZcR 2f9c213e80 refactor: 系统性清理common包中的死代码和未使用变量
主要清理内容:
- logging包:移除DetailedFormatter、JSONFormatter及相关方法
- output包:清理Manager和Statistics中的未使用方法
- parsers包:移除各Parser中的Validate()和GetStatistics()方法
- proxy包:清理Factory和Global中的所有未使用函数
- ProgressManager:移除未使用的进度条方法和字段
- globals:清理未使用的status变量

技术改进:
- 使用deadcode和golangci-lint工具系统性检测
- 保持代码结构清晰,添加清理注释
- 修复相关依赖引用问题
- 确保编译通过和功能正常

代码减少:移除约40个死代码函数和多个未使用字段
2025-08-06 08:14:00 +08:00

168 lines
4.5 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 (
"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
}