# 网络工程师工具箱 **Repository Path**: tianxiang1996/network-toolbox ## Basic Information - **Project Name**: 网络工程师工具箱 - **Description**: 一个专为网络工程师设计的多功能工具箱,集成了批量配置生成、防火墙策略管理、巡检文件处理等常用工具,并支持插件扩展功能。 - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-12-16 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Network Toolbox - 网络工程师工具箱 一个专为网络工程师设计的多功能工具箱,集成了批量配置生成、防火墙策略管理、巡检文件处理等常用工具,并支持插件扩展功能。 ![工具箱界面](image/README/20250619_213455.png) ## ✨ 主要功能 ### 🔧 核心工具 - **批量配置生成工具** - 基于Excel表格和Jinja2模板批量生成网络设备配置 - **防火墙策略生成工具** - 将Excel表格转换为防火墙策略配置文件 - **巡检信息合并工具** - 合并特定格式的巡检文件,便于统一分析 ### 🔌 插件系统 - **可扩展架构** - 支持动态加载插件,扩展工具功能 - **插件管理** - 图形化插件管理界面,支持插件的启用/禁用 - **标准接口** - 提供统一的插件开发接口,便于第三方开发 ### 📊 其他特性 - **现代化UI** - 基于PySide6的美观界面 - **进度显示** - 实时显示任务执行进度 - **多平台支持** - 支持Windows、macOS等平台 ## 🚀 快速开始 ### 预编译版本 下载对应平台的预编译版本: - Windows: 运行 `NEToolbox.exe` - macOS: 运行 `NEToolbox.app` ### 源码运行 ```bash # 克隆项目 git clone https://gitee.com/tianxiang1996/network-toolbox.git cd network-toolbox # 安装依赖 pip install -r requirements.txt # 运行程序 python main.py ``` ## 📖 使用说明 ### 工具使用指南 - [批量配置生成工具使用说明](man/x2t.md) - [防火墙策略生成工具使用说明](man/fwp.md) ### 插件开发 项目支持插件扩展,开发者可以通过实现 `PluginInterface` 接口来创建自定义插件: ```python from plugins.plugin_interface import PluginInterface class MyPlugin(PluginInterface): def load(self): # 实现插件加载逻辑 pass ``` 插件目录结构: ``` plugins/ ├── your_plugin/ │ ├── entry.py # 插件入口文件 │ ├── entry.ui # 插件UI文件(可选) │ ├── metadata.yaml # 插件元数据 │ └── README.md # 插件说明 ``` 详细开发案例请查看 [示例插件说明](plugins/sample_plugin/README.md) ## 🛠️ 开发环境 ### 系统要求 - Python >= 3.9 - 支持的操作系统:Windows 10+, macOS 10.14+ ### 依赖包 ``` Jinja2>=3.1.2 # 模板引擎 openpyxl>=3.0.10 # Excel文件处理 PySide6>=6.4.1 # GUI框架 PyYAML>=6.0.2 # YAML配置文件支持 ``` ### 项目结构 ``` network-toolbox/ ├── main.py # 主程序入口 ├── requirements.txt # 依赖列表 ├── .gitignore # Git忽略文件配置 ├── LICENSE # 许可证文件 ├── config/ # 配置文件目录 │ ├── build.json # 版本信息 │ └── plugins.yaml # 插件配置 ├── lib/ # 核心库文件 │ ├── checkupdate.py # 版本检查 │ ├── fwpolicy.py # 防火墙策略处理 │ ├── tools.py # 通用工具函数 │ ├── xlsx2txt.py # Excel转文本工具 │ └── xunjian.py # 巡检工具 ├── plugins/ # 插件目录 │ ├── __init__.py │ ├── plugin_interface.py # 插件接口定义 │ ├── plugin_manager.py # 插件管理器 │ ├── sample_plugin/ # 示例插件 │ └── xunjian/ # 巡检插件 ├── package/ # 打包相关文件 │ ├── compile.py # 编译脚本 │ ├── macos/ # macOS打包目录 │ └── windows/ # Windows打包目录 ├── ui/ # UI设计文件 │ ├── main.ui # 主界面 │ ├── plugin.ui # 插件管理界面 │ └── helpdialog.ui # 帮助对话框 ├── res/ # 资源文件 │ ├── icon.png # 应用图标 │ ├── icon.icns # macOS图标 │ ├── fwtmp.xlsx # 防火墙模板 │ ├── objectmp.txt # 对象模板 │ └── policytmp.txt # 策略模板 ├── man/ # 文档目录 │ ├── fwp.md # 防火墙工具说明 │ └── x2t.md # 配置生成工具说明 └── test/ # 测试文件目录 ``` ## 📦 编译打包 打包脚本位于 `package/compile.py`,可通过该脚本完成Windows和macOS的应用程序的构建。 ### Windows打包说明 Windows系统的打包使用了 [PyStand](https://github.com/skywind3000/PyStand) 库,该库提供了更好的Python应用程序打包解决方案。 特此感谢 Linwei 提供的这一优秀工具,它极大地简化了Windows平台下Python应用的打包和分发过程。 ### macOS打包说明 macOS平台的打包使用了 [Python-Apple-support](https://github.com/beeware/Python-Apple-support) 库,这是一个专门为macOS提供嵌入式Python支持的开源项目。该库帮助我们将Python应用程序打包成原生的macOS应用程序(.app)。 特别感谢 Beeware 团队提供的 Python-Apple-support 库,极大地简化了macOS平台上Python应用的打包和分发。 ## 🔄 版本历史 - **v1.6** (2025-06-15) - 新增插件系统支持 - 重构代码架构 - 优化用户界面 - 增强错误处理 - **v1.5及以前版本** - 基础工具功能实现 - 批量配置生成 - 防火墙策略管理 ## 🤝 贡献指南 欢迎提交Issue和Pull Request来改进项目: 1. Fork 本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用开源许可证,详见 [LICENSE](LICENSE) 文件。 ## 📞 联系方式 - 项目地址:[https://gitee.com/tianxiang1996/network-toolbox](https://gitee.com/tianxiang1996/network-toolbox) - 问题反馈:通过Gitee Issues提交 - 作者:Tianxiang.yin --- > 💡 **提示**: 该说明由AI生成,如果您在使用过程中遇到问题,请查看相关文档或提交Issue获取帮助。