# ip_processor
**Repository Path**: sinma/ip_processor
## Basic Information
- **Project Name**: ip_processor
- **Description**: ip段排序工具
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-09-05
- **Last Updated**: 2025-09-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# IP段排序工具 - C++版本
[](LICENSE)
[](https://en.cppreference.com/w/cpp/17)
[](https://github.com)
[](CHANGELOG_v1.1.md)
**功能强大的IP地址段排序和管理工具 | 高性能C++实现 | 支持CLI和GUI双版本**
## 🌟 项目简介
IP段排序工具是一个专门用于处理和管理IP地址段的工具,提供排序、去重、合并、过滤等核心功能。本项目是基于C++17重写的版本,相比Python版本具有**零依赖、高性能、小体积**等优势。
### 🎯 核心功能
- **多种排序方式** - 按起始IP、结束IP、段大小排序
- **智能数据处理** - 自动去重、合并重叠段、网络过滤
- **丰富格式支持** - TXT、JSON、CSV、XML格式读写
- **双版本支持** - 命令行版本 + 图形界面版本
- **跨平台兼容** - Windows、Linux、macOS全平台支持
## 🚀 快速体验
### 📦 下载安装
#### Windows用户
1. **推荐安装包**:[IP-Range-Sorter-1.1.0-Setup.exe](https://gitee.com/sinma/ip_processor/releases/download/1.1/IP-Range-Sorter-1.1.0-Setup.exe) (19.8MB)
- 标准Windows安装程序
- 自动创建桌面快捷方式
- 支持控制面板卸载
2. **便携版本**:[IP段排序工具-1.1.0-win64.zip](https://gitee.com/sinma/ip_processor/releases/download/1.1/IP%E6%AE%B5%E6%8E%92%E5%BA%8F%E5%B7%A5%E5%85%B7-1.1.0-win64.zip) (25.6MB)
- 免安装,解压即用
- 包含完整依赖库
- 绿色便携无注册表
#### Linux/macOS用户
尚未编译
### 🖥️ 界面预览
> **注意**: 请在此处添加GUI界面截图以展示软件外观。
> 建议将截图文件放置在 `resources/` 目录中,并在README中引用。
> 示例格式: ``
## 🛠️ 使用方法
### 命令行版本
```bash
# 显示帮助信息
./ip-sorter --help
# 基本排序
./ip-sorter input.txt -o output.txt
# 高级处理
./ip-sorter input.txt --dedupe --merge --filter 192.168.0.0/16 -o result.txt --stats
# 按段大小降序排序
./ip-sorter input.txt -s range_desc --preview 10
```
### 图形界面版本
1. 启动程序:双击桌面快捷方式或运行 `ip-sorter-gui.exe`
2. 拖拽文件:将IP段文件拖拽到程序窗口
3. 设置选项:在左侧面板配置处理参数
4. 处理数据:点击"处理数据"按钮
5. 查看结果:在右侧表格中查看处理结果
6. 保存文件:通过菜单保存处理结果
## ⚡ 性能对比
| 特性 | Python版本 | C++版本 |
|------|------------|---------|
| **运行环境** | 需要Python 3.7+ | 无依赖 |
| **启动速度** | ~2秒 | ~0.1秒 |
| **处理速度** | 中等 | 很快 |
| **内存占用** | 较高 | 较低 |
| **文件大小** | 25KB + Python环境 | ~2MB |
| **部署复杂度** | 需要Python | 直接运行 |
## 🏗️ 开发构建
### Windows构建
#### 命令行构建
```cmd
# 安装Visual Studio 2017+和CMake 3.12+
cd cpp_version
build.bat
```
#### GUI版本构建
```cmd
# 安装Qt6和Visual Studio 2022
build_qt6_gui.bat
```
### Linux构建
```bash
# 安装依赖
sudo apt update && sudo apt install build-essential cmake
# 构建
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
```
### macOS构建
```bash
# 安装Xcode命令行工具和CMake
xcode-select --install
brew install cmake
# 构建
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(sysctl -n hw.ncpu)
```
## 📁 项目结构
```
cpp_version/
├── include/ # 核心头文件
│ ├── ip_range.h # IP段数据结构
│ ├── ip_processor.h # IP处理器
│ ├── file_handler.h # 文件处理器
│ ├── cli.h # 命令行界面
│ └── version_info.h # 版本信息
├── src/ # 核心源文件
├── gui/ # GUI版本源码
│ ├── include/ # GUI头文件
│ └── src/ # GUI源文件
├── build_*.bat # Windows构建脚本
├── CMakeLists.txt # CMake配置
└── README.md # 项目说明
```
## 🎯 版本特性
### v1.1.0 (2025-09-12)
- ✅ **界面优化** - 移除工具栏,简化菜单结构
- ✅ **快捷键增强** - 添加更多快捷键支持
- ✅ **专业安装包** - 提供NSIS安装程序和便携ZIP包
- ✅ **完整功能** - CLI和GUI双版本,支持所有核心功能
### 核心功能
- **排序算法** - 多种排序方式,满足不同需求
- **数据处理** - 去重、合并、过滤一体化处理
- **格式支持** - TXT、JSON、CSV、XML全格式支持
- **统计分析** - 详细的处理结果统计信息
- **批量处理** - 支持大文件和批量数据处理
## 📖 使用文档
- [📖 用户手册](GUI_BUILD_GUIDE.md) - 详细的使用说明
- [🔧 构建指南](GUI_BUILD_GUIDE.md) - 开发环境搭建和构建说明
- [📦 安装包说明](PACKAGING_SUCCESS.md) - 安装包制作和分发指南
- [📝 更新日志](CHANGELOG_v1.1.md) - 版本更新和功能变更记录
## 🤝 贡献指南
我们欢迎任何形式的贡献!
### 开发流程
1. Fork 本项目
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
### 开发环境
- **语言**: C++17
- **构建工具**: CMake 3.12+
- **GUI框架**: Qt 6.4+
- **编码规范**: Google C++ Style Guide
## 📞 技术支持
### 获取帮助
- **问题反馈**: [Issues](https://gitee.com/sinma/ip_processor/issues)
- **技术支持**: sinma@qq.com
- **项目主页**: https://www.sinma.net/
## 📄 许可证
本项目基于 [Apache License 2.0](LICENSE) 开源发布。
```
Copyright (c) 2025 sinma
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
## 🙏 致谢
- 感谢所有贡献者对项目的贡献
- 感谢Qt开源社区提供的优秀GUI框架
- 感谢CMake提供的强大构建系统
- 感谢NSIS提供的专业安装包制作工具
---
**🎉 如果您觉得这个项目对您有帮助,请给个Star支持一下!** 🌟
[立即下载](#-下载安装) | [查看文档](#-使用文档) | [报告问题](https://gitee.com/sinma/ip_processor/issues)