# sokit-gcc **Repository Path**: xcmrfc-thanos/sokit-gcc ## Basic Information - **Project Name**: sokit-gcc - **Description**: sokit qt6 版本 - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://gitee.com/xcmrfc-thanos/sokit-gcc - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-20 - **Last Updated**: 2025-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sokit Transfer [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux-blue.svg)](https://github.com/your-username/sokit-gcc) [![Qt](https://img.shields.io/badge/Qt-6.8.3+-green.svg)](https://www.qt.io/) [![C++](https://img.shields.io/badge/C%2B%2B-17-blue.svg)](https://isocpp.org/) **Sokit Transfer** 是一个高性能的TCP/UDP数据传输工具,使用C++和Qt6开发,支持Windows和Linux平台。提供图形界面和命令行两种使用方式,适用于网络调试、数据传输和端口转发等场景。 ## ✨ 主要特性 ### 🚀 高性能传输 - **多线程架构**: 网络操作与UI线程分离,确保界面响应性 - **批量UI更新**: 基于定时器的界面刷新,减少系统开销 - **异步日志**: 后台线程处理日志操作,非阻塞式文件写入 - **内存优化**: 智能指针管理资源,高效的大数据包缓冲区处理 ### 🖥️ 跨平台支持 - **Windows**: 支持Visual Studio 2019/2022和MinGW编译 - **Linux**: 支持GCC 7+和Clang 8+编译 - **统一API**: 基于Qt6的跨平台网络库 ### 🎨 现代化界面 - **Qt6界面**: 基于Qt6 Widgets的现代化用户界面 - **中文支持**: 完整的中文本地化支持 - **响应式设计**: 适配不同屏幕尺寸和分辨率 - **美观样式**: 现代化的QSS样式表 ### 🔧 双重使用模式 - **图形界面版本**: 直观的可视化操作界面 - **命令行版本**: 轻量级的命令行工具,支持脚本化操作 ## 📦 系统要求 ### 开发环境 - **Qt 6.8.3** 或更高版本 - **CMake 3.16** 或更高版本 - **C++17** 兼容的编译器 - **Windows**: Visual Studio 2019/2022 或 MinGW - **Linux**: GCC 7+ 或 Clang 8+ ### 运行环境 - **Windows**: Windows 7 或更高版本 - **Linux**: 支持Qt6的Linux发行版 ## 🚀 快速开始 ### 图形界面版本构建 #### 使用CMake (推荐) ```bash # 克隆项目 git clone https://github.com/your-username/sokit-gcc.git cd sokit-gcc # 创建构建目录 mkdir build && cd build # 配置项目 cmake .. -DCMAKE_BUILD_TYPE=Release # 编译 cmake --build . --config Release ``` #### 使用qmake ```bash qmake build/general/qmake/sokit.pro make -j$(nproc) ``` ### 命令行版本构建 #### Linux构建 ```bash # 方法1: 使用基础构建脚本 chmod +x build_cli.sh ./build_cli.sh # 方法2: 使用完整打包脚本(推荐) chmod +x build_linux_package.sh ./build_linux_package.sh ``` #### Windows构建Linux版本 **Docker构建** (推荐): ```cmd # 使用Docker在容器中构建Linux版本 quick_linux_build.bat # 或手动运行Docker构建 docker_build.sh ``` **WSL构建**: ```cmd # 使用WSL构建Linux版本 build_linux_wsl.bat ``` **交叉编译**: ```cmd # 使用交叉编译工具链构建Linux版本 cross_compile_linux.bat ``` #### Windows构建Windows版本 ```cmd # 构建命令行版本 build_cli.bat ``` ## 📖 使用指南 ### 图形界面版本 启动图形界面版本后,您可以: 1. **TCP转发**: 设置本地和远程TCP端口进行数据转发 2. **UDP转发**: 设置本地和远程UDP端口进行数据转发 3. **实时监控**: 查看连接状态、数据传输统计和日志 4. **配置保存**: 保存和加载传输配置 ### 命令行版本 #### 基本用法 ```bash # TCP转发: 将本地8080端口转发到远程服务器9090端口 sokit-cli -t 127.0.0.1:8080 192.168.1.100:9090 # UDP转发: 将本地9090端口转发到远程服务器8080端口 sokit-cli -u 127.0.0.1:9090 192.168.1.100:8080 # 显示详细信息和统计 sokit-cli -t -v -s 127.0.0.1:8080 192.168.1.100:9090 # 静默模式运行 sokit-cli -t -q 127.0.0.1:8080 192.168.1.100:9090 # 查看帮助 sokit-cli --help ``` #### 命令行选项 | 选项 | 长选项 | 描述 | |------|--------|------| | `-t` | `--tcp` | 使用TCP协议 | | `-u` | `--udp` | 使用UDP协议 | | `-v` | `--verbose` | 详细输出模式 | | `-q` | `--quiet` | 静默模式(最小输出) | | `-s` | `--stats` | 显示传输统计 | | `--timeout` | | 连接超时时间(秒,默认30) | ## 📁 项目结构 ``` sokit-gcc/ ├── src/ │ ├── sokit/ # 图形界面版本源码 │ │ ├── main.cpp # 主程序入口 │ │ ├── transferform.* # 传输界面 │ │ ├── transferskt.* # 网络传输核心 │ │ └── ... │ └── sokit-cli/ # 命令行版本源码 │ ├── main.cpp # CLI主程序 │ ├── setting.* # 设置管理 │ └── toolkit.* # 工具函数 ├── build_cli.sh # Linux构建脚本 ├── build_cli.bat # Windows构建脚本 ├── CMakeLists.txt # CMake构建配置 └── README.md # 项目说明文档 ``` ## 🔧 部署 ### Windows部署 ```bash cd build/bin/release windeployqt.exe sokit.exe ``` ### Linux部署 ```bash # 使用linuxdeployqt ./linuxdeployqt-continuous-x86_64.AppImage sokit -appimage # 或使用CMake安装 sudo cmake --install . --prefix /usr/local ``` ## 🤝 贡献指南 我们欢迎所有形式的贡献!请遵循以下步骤: ### 开发环境设置 1. **Fork项目**: 在GitHub上fork本项目 2. **克隆仓库**: `git clone https://github.com/your-username/sokit-gcc.git` 3. **创建分支**: `git checkout -b feature/your-feature-name` 4. **安装依赖**: 确保安装了Qt6和CMake ### 代码规范 - 遵循C++17标准 - 使用Qt6编码规范 - 添加适当的注释和文档 - 确保代码通过编译和测试 ### 提交PR 1. **提交更改**: `git commit -m "Add: 描述你的更改"` 2. **推送分支**: `git push origin feature/your-feature-name` 3. **创建PR**: 在GitHub上创建Pull Request 4. **等待审查**: 我们会审查你的代码并提供反馈 ### 报告问题 如果您发现了bug或有功能建议,请: 1. 检查现有的Issues 2. 创建新的Issue,包含: - 详细的问题描述 - 重现步骤 - 系统环境信息 - 错误日志(如果有) ## 📄 许可证 本项目采用 [GNU General Public License v3.0](LICENSE) 许可证。 ## 🙏 致谢 - **Qt框架**: 提供跨平台的GUI和网络库 - **开源社区**: 为项目提供宝贵的反馈和建议 - **贡献者**: 所有为项目做出贡献的开发者 ## 📞 联系我们 - **项目主页**: [GitHub Repository](https://github.com/your-username/sokit-gcc) - **问题反馈**: [Issues](https://github.com/your-username/sokit-gcc/issues) - **讨论区**: [Discussions](https://github.com/your-username/sokit-gcc/discussions) --- **⭐ 如果这个项目对您有帮助,请给我们一个星标!** --- ## 📋 更新日志 ### v1.3.2 (最新版本) - **新增**: 生成专业的开源项目README文档 - **新增**: 添加项目徽章和完整的文档结构 - **新增**: 详细的安装指南和使用说明 - **新增**: 贡献指南和项目结构说明 - **优化**: 中文化文档内容和格式规范 ### v1.3.1 - **新增**: 创建Linux命令行版本sokit-cli - **新增**: 完整的命令行参数解析和帮助系统 - **新增**: 支持详细输出、静默模式、传输统计等功能 - **新增**: Linux和Windows构建脚本 - **新增**: 完整的发布包和安装脚本 ### v1.3.0 - **修复**: Qt6兼容性问题 - **优化**: 错误处理函数签名适配Qt6 API - **修复**: 私有成员访问权限问题 - **新增**: 自动化打包脚本 ### v1.2.0 - **新增**: 界面美化和中文化优化 - **新增**: 现代化QSS样式表 - **新增**: 应用程序图标和按钮图标 - **优化**: 界面布局和视觉效果 ### v1.1.0 - **修复**: 批处理脚本中文乱码问题 - **优化**: 翻译文件加载机制 - **改进**: 错误处理和用户提示信息 ### v1.0.0 - **初始版本**: 基础TCP/UDP传输功能 - **支持**: Windows和Linux平台 - **特性**: 图形界面、多线程传输、实时监控