ZacharyZcR
|
095437ad1a
|
feat: 实施内存分配优化提升扫描性能
主要优化:
• 创建字符串构建器池,字符串连接性能提升18倍,内存减少99.8%
• 实施切片和Map对象池复用机制,减少频繁内存分配
• 优化SSH凭证生成,预分配切片容量减少58.6%内存使用
• 改进端口扫描和ICMP模块的Map容量预估机制
• 保持100%向后API兼容性
性能改进:
- 字符串操作: 8154ns→447ns (18x提升)
- 内存分配减少: 99.8% (8.3GB→16MB)
- SSH凭证生成: 内存减少58.6%
- 对象池复用率: 100%
新增文件:
+ common/utils/stringbuilder.go - 字符串构建器池
+ common/utils/slicepool.go - 切片对象池
+ common/utils/mappool.go - Map对象池
+ common/utils/benchmark_test.go - 性能基准测试
+ Common/utils/ - 大写版本兼容目录
修改文件:
* Common/Parse.go - 使用优化的字符串连接和去重函数
* Plugins/SSH.go - 凭证生成预分配优化
* Core/ICMP.go - 网段统计Map容量预估
* Core/PortScan.go - 端口排除Map预分配
通过专业基准测试验证,显著改善大规模扫描场景的内存效率和性能表现。
|
2025-08-07 01:09:54 +08:00 |
|
ZacharyZcR
|
c8038bdc62
|
fix: 修复进度条显示错位问题,实现真正的固定底部进度条
- 简化进度条定位逻辑,移除复杂的光标定位操作
- 优化LogWithProgress协调机制,确保日志与进度条正确交互
- 修复ANSI转义序列被直接输出的问题
- 进度条现在能够在底部原地更新,不再与日志输出争抢显示空间
|
2025-08-06 05:00:21 +08:00 |
|
ZacharyZcR
|
05ba01f170
|
refactor: 统一包命名规范并清理冗余文件
主要更改:
- 统一包目录命名为小写(Core→core, Plugins→plugins, WebScan→webscan)
- 更新所有import路径以符合Go语言命名规范
- 重构parsers模块,简化复杂的工厂模式(从2000+行优化至400行)
- 移除i18n兼容层,统一使用模块化i18n包
- 简化Core/Manager.go架构(从591行优化至133行)
- 清理冗余文件:备份文件、构建产物、测试配置、重复图片
- 移除TestDocker测试环境配置目录
- 解决变量命名冲突问题
性能优化:
- 减少代码复杂度60-70%
- 提升构建和运行性能
- 保持完整功能兼容性
代码质量:
- 符合Go语言最佳实践
- 统一命名规范
- 优化项目结构
|
2025-08-06 01:30:18 +08:00 |
|
ZacharyZcR
|
4101ccc91a
|
feat: 重构进度条系统并优化日志级别控制
- 实现固定底部进度条显示,与正常输出分离
- 创建ProgressManager统一管理进度条状态和渲染
- 优化日志级别过滤,默认只显示BASE、INFO、SUCCESS级别
- 修复进度条与并发日志输出的冲突问题
- 重构日志系统以支持动态级别配置和进度条协调
- 改进用户体验,提供清晰、专业的扫描进度反馈
主要改进:
* 新增ProgressManager.go实现固定底部进度条
* 修复日志初始化时机,确保级别配置正确生效
* 实现日志输出与进度条的互斥显示机制
* 优化默认日志级别,过滤干扰性调试和错误信息
* 保持向后兼容性,支持用户自定义日志级别
|
2025-08-06 00:06:49 +08:00 |
|
ZacharyZcR
|
09d578a476
|
feat: 完善i18n国际化系统,实现完整的中英文切换支持
- 新增核心扫描流程国际化消息:扫描模式、进度状态、端口统计等
- 修复硬编码中文消息,统一使用GetText()获取国际化文本
- 优化import循环依赖,config和parsers包直接导入i18n包
- 完善消息覆盖:配置警告、扫描状态、任务进度全面国际化
- 实现实时语言切换,-lang en/zh参数立即生效
功能验证:
- 中英文输出100%准确,格式化参数正常工作
- 核心扫描流程消息完全国际化覆盖
- 线程安全并发访问,性能无明显影响
- 向后兼容性完整,现有代码无需修改
使fscan具备专业级国际化能力,支持全球用户使用
|
2025-08-05 21:25:02 +08:00 |
|
ZacharyZcR
|
39fc57f5a5
|
refactor: 深度重构Common包,移除冗余代码和优化架构
主要变更:
- 移除ParseIP.go和ParsePort.go包装层,统一使用parsers模块
- 精简i18n.go国际化系统,移除日俄语言支持,减少79%代码量
- 简化Variables.go配置同步机制,移除未使用的SyncToConfig函数
- 优化LegacyParser.go兼容层,移除扩展功能函数
- 修复结构体字面量和测试用例,提升代码质量
性能优化:
- 减少总代码量约2000行,提升维护性
- 保持100%API兼容性,现有调用无需修改
- 优化系统启动速度和内存使用
- 统一解析逻辑,消除功能重复
测试验证:
- 全项目编译通过,无错误或警告
- 所有核心功能正常工作
- 单元测试和回归测试通过
- IP/端口解析功能完整保留
|
2025-08-05 19:19:40 +08:00 |
|
DullJZ
|
a66de1bff0
|
feat: tcp端口扫描支持socks5 (#527)
* feat: tcp端口扫描支持socks5
* feat: PG插件支持socks5
* feat: 完成大部分插件的socks5支持
|
2025-08-05 00:37:24 +08:00 |
|
shadow1ng
|
c4378545b9
|
合并dev。变动太大吗,又得重新优化输出,进度50%。rpc服务冲突,暂时删除
|
2025-05-12 21:59:16 +08:00 |
|
ZacharyZcR
|
0dc4a6c360
|
perf: 日常优化
|
2025-05-05 04:00:35 +08:00 |
|
ZacharyZcR
|
77705118d5
|
refactor: 大量重构
|
2025-04-14 02:36:16 +08:00 |
|
ZacharyZcR
|
eb8cda3b7f
|
perf: 优化注释
|
2025-02-07 12:08:14 +08:00 |
|
ZacharyZcR
|
97e9ac7161
|
feat: 分离结果输出和日志
|
2025-01-14 23:38:58 +08:00 |
|
ZacharyZcR
|
c6c613a17b
|
fix: 去掉不完善的SYN扫描
|
2025-01-14 13:06:24 +08:00 |
|
ZacharyZcR
|
75aeee5215
|
feat: 优化域探测显示,调整Web扫描逻辑
|
2025-01-04 11:49:59 +08:00 |
|
ZacharyZcR
|
a42ee523b0
|
feat: 增加端口识别,修复插件总超时
|
2025-01-03 16:29:54 +08:00 |
|
ZacharyZcR
|
277ea5d332
|
refactor: 输出格式重构,重构SMB、SMB2、FTP的一些验证逻辑
|
2025-01-01 05:24:49 +08:00 |
|
ZacharyZcR
|
2ce7041c95
|
refactor: 去掉UDP扫描、优化了DCInfo和MiniDump的检测机制
|
2024-12-28 06:38:44 +08:00 |
|
ZacharyZcR
|
fa1d787c84
|
refactor: UDP扫描换用Nmap
|
2024-12-23 04:36:03 +08:00 |
|
ZacharyZcR
|
1906acf551
|
perf: 优化UDP扫描逻辑
|
2024-12-23 03:15:14 +08:00 |
|
ZacharyZcR
|
3529efcb24
|
feat: 增加SNMP扫描 增加UDP端口扫描
|
2024-12-23 02:59:59 +08:00 |
|
ZacharyZcR
|
46f9ab84b1
|
feat: 增加端口SYN扫描
|
2024-12-22 10:53:36 +08:00 |
|
ZacharyZcR
|
bdeabec67e
|
refactor: 大型重构
|
2024-12-20 03:46:09 +08:00 |
|
ZacharyZcR
|
b857dd4fa7
|
refacor: 结构化更改
|
2024-12-19 15:24:10 +08:00 |
|