refactor: 简化本地插件参数设计

- 移除 -localplugin 参数,使用 -local 直接指定插件名称
- 简化用户体验:go run main.go -local cleaner
- 保持相同的验证逻辑和错误提示
- 更新文档和帮助信息
- 减少参数数量:从71个减少到70个

使用示例:
  新方式: go run main.go -local cleaner
  旧方式: go run main.go -local -localplugin cleaner (已移除)
This commit is contained in:
ZacharyZcR 2025-08-11 20:55:50 +08:00
parent c85370a7d9
commit 285358772f
2 changed files with 12 additions and 25 deletions

View File

@ -176,8 +176,7 @@ func Flag(Info *HostInfo) {
// LiveTop 参数已移除,改为智能控制 // LiveTop 参数已移除,改为智能控制
flag.BoolVar(&DisablePing, "np", false, i18n.GetText("flag_disable_ping")) flag.BoolVar(&DisablePing, "np", false, i18n.GetText("flag_disable_ping"))
flag.BoolVar(&EnableFingerprint, "fingerprint", false, i18n.GetText("flag_enable_fingerprint")) flag.BoolVar(&EnableFingerprint, "fingerprint", false, i18n.GetText("flag_enable_fingerprint"))
flag.BoolVar(&LocalMode, "local", false, i18n.GetText("flag_local_mode")) flag.StringVar(&LocalPlugin, "local", "", "指定本地插件名称 (如: cleaner, avdetect, keylogger 等)")
flag.StringVar(&LocalPlugin, "localplugin", "", i18n.GetText("flag_local_plugin"))
flag.BoolVar(&AliveOnly, "ao", false, i18n.GetText("flag_alive_only")) flag.BoolVar(&AliveOnly, "ao", false, i18n.GetText("flag_alive_only"))
// ═════════════════════════════════════════════════ // ═════════════════════════════════════════════════
@ -398,15 +397,10 @@ func checkParameterConflicts() {
LogBase(i18n.GetText("param_conflict_ao_icmp_both")) LogBase(i18n.GetText("param_conflict_ao_icmp_both"))
} }
// 检查本地模式和本地插件参数 // 检查本地插件参数
if LocalMode { if LocalPlugin != "" {
if LocalPlugin == "" { // 自动启用本地模式
fmt.Printf("错误: 使用本地扫描模式 (-local) 时必须指定一个本地插件 (-localplugin)\n") LocalMode = true
if len(LocalPluginsList) > 0 {
fmt.Printf("可用的本地插件: %s\n", strings.Join(LocalPluginsList, ", "))
}
os.Exit(1)
}
// 验证本地插件名称 // 验证本地插件名称
isValid := false isValid := false
@ -425,10 +419,4 @@ func checkParameterConflicts() {
os.Exit(1) os.Exit(1)
} }
} }
// 如果指定了本地插件但未启用本地模式
if !LocalMode && LocalPlugin != "" {
fmt.Printf("错误: 指定本地插件 (-localplugin) 时必须启用本地模式 (-local)\n")
os.Exit(1)
}
} }

View File

@ -94,8 +94,7 @@
### 本地模式 ### 本地模式
| 参数 | 说明 | 默认值 | 示例 | | 参数 | 说明 | 默认值 | 示例 |
|------|------|--------|------| |------|------|--------|------|
| `-local` | 启用本地扫描模式 | - | `-local` | | `-local` | 指定本地插件名称 | - | `-local cleaner` |
| `-localplugin` | 指定本地插件 | - | `-localplugin cleaner` |
### 可用本地插件 ### 可用本地插件
| 插件名 | 功能说明 | 平台支持 | | 插件名 | 功能说明 | 平台支持 |
@ -195,19 +194,19 @@ go run main.go -h 192.168.1.1/24 -ao
### 本地插件使用 ### 本地插件使用
```bash ```bash
# 系统痕迹清理 # 系统痕迹清理
go run main.go -local -localplugin cleaner go run main.go -local cleaner
# 杀毒软件检测 # 杀毒软件检测
go run main.go -local -localplugin avdetect go run main.go -local avdetect
# 键盘记录 # 键盘记录
go run main.go -local -localplugin keylogger -keylog-output my_keylog.txt go run main.go -local keylogger -keylog-output my_keylog.txt
# 文件下载 # 文件下载
go run main.go -local -localplugin downloader -download-url http://example.com/file.exe -download-path /tmp/ go run main.go -local downloader -download-url http://example.com/file.exe -download-path /tmp/
# Windows注册表持久化 # Windows注册表持久化
go run main.go -local -localplugin winregistry -win-pe target.exe go run main.go -local winregistry -win-pe target.exe
``` ```
### 高级扫描 ### 高级扫描
@ -227,6 +226,6 @@ go run main.go -h 192.168.1.1 -f json -o result.json
--- ---
**总计参数数量**: 71个命令行参数 + 19个本地插件 **总计参数数量**: 70个命令行参数 + 19个本地插件
**更新时间**: 2025-08-11 **更新时间**: 2025-08-11
**版本**: v2.2.0 **版本**: v2.2.0