hu xiaotong 92807c8554 feat(frontend): 添加捕获存储钩子
- 新增 useCapture 使用 Zustand 库创建状态管理
2025-07-02 17:21:59 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00
2025-07-02 16:12:52 +08:00

装备数据导出工具

一个基于Go + Wails + React的桌面应用程序用于抓取游戏TCP包并解析装备数据。

功能特性

  • 🎯 TCP包抓取 - 实时抓取游戏客户端的TCP通信数据
  • 🔍 数据解析 - 自动解析十六进制数据为可读的装备信息
  • 📊 数据可视化 - 现代化的React界面展示装备数据
  • 💾 数据导出 - 支持导出为JSON格式
  • 🚀 高性能 - 基于Go语言的高性能网络处理

技术栈

后端

  • Go 1.21+ - 主要开发语言
  • Wails v2 - 桌面应用框架
  • gopacket - 网络包抓取
  • zap - 结构化日志

前端

  • React 18 - 用户界面框架
  • TypeScript - 类型安全
  • Vite - 构建工具
  • Ant Design - UI组件库

快速开始

环境要求

  • Go 1.21+
  • Node.js 18+
  • npm 或 yarn

安装步骤

  1. 克隆项目
git clone <repository-url>
cd equipment-analyzer
  1. 安装后端依赖
go mod tidy
  1. 安装前端依赖
cd frontend
npm install
cd ..
  1. 开发模式运行
make dev
  1. 构建发布版本
make release

使用说明

1. 启动应用

运行应用后,会看到主界面。

2. 选择网络接口

  • 点击"刷新接口"获取可用的网络接口
  • 选择包含游戏流量的网络接口通常是192.168开头的IP

3. 开始抓包

  • 点击"开始抓包"按钮
  • 启动游戏并登录
  • 在游戏中查看装备数据

4. 停止抓包

  • 点击"停止抓包"按钮
  • 等待数据处理完成

5. 导出数据

  • 点击"导出数据"按钮
  • 选择保存位置

项目结构

equipment-analyzer/
├── cmd/                    # 应用程序入口
├── internal/               # 内部包
│   ├── capture/           # 抓包模块
│   ├── parser/            # 数据解析
│   ├── model/             # 数据模型
│   ├── service/           # 业务逻辑
│   ├── config/            # 配置管理
│   └── utils/             # 工具函数
├── frontend/              # React前端
│   ├── src/               # 源代码
│   ├── dist/              # 构建输出
│   └── package.json       # 前端依赖
├── build/                 # 构建产物
├── go.mod                 # Go模块
├── wails.json             # Wails配置
└── Makefile               # 构建脚本

开发指南

添加新功能

  1. 后端功能

    • internal/目录下创建相应的模块
    • service/中实现业务逻辑
    • main.go中绑定到前端
  2. 前端功能

    • frontend/src/下创建React组件
    • 使用TypeScript确保类型安全
    • 遵循Ant Design设计规范

测试

# 运行单元测试
make test

# 运行集成测试
make test-integration

# 代码检查
make lint

构建

# 开发构建
make build

# 发布构建
make release

# 清理构建文件
make clean

配置说明

应用会在用户目录下创建配置文件:~/.equipment-analyzer/config.json

{
  "app": {
    "name": "equipment-analyzer",
    "version": "1.0.0",
    "debug": false
  },
  "capture": {
    "default_filter": "tcp and ( port 5222 or port 3333 )",
    "default_timeout": 3000,
    "buffer_size": 1600,
    "max_packet_size": 65535
  },
  "parser": {
    "max_data_size": 1048576,
    "enable_validation": true
  },
  "log": {
    "level": "info",
    "file": "equipment-analyzer.log",
    "max_size": 100,
    "max_backups": 3,
    "max_age": 28,
    "compress": true
  }
}

故障排除

常见问题

  1. 无法获取网络接口

    • 确保以管理员权限运行
    • 检查WinPcap/Npcap是否正确安装
  2. 抓包失败

    • 检查防火墙设置
    • 确认网络接口选择正确
    • 查看日志文件获取详细错误信息
  3. 数据解析失败

    • 确认游戏协议格式
    • 检查十六进制数据格式
    • 查看控制台错误信息

日志文件

应用日志保存在:logs/equipment-analyzer.log

贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

联系方式


注意: 本工具仅用于学习和研究目的,请遵守相关法律法规和游戏服务条款。

Description
wails构建的第七史诗配装工具
Readme 482 KiB
Languages
Go 38.2%
TypeScript 30.3%
JavaScript 25.1%
CSS 4.6%
Makefile 0.9%
Other 0.9%