# P2P传输宝 **Repository Path**: elfbobo_admin_admin/p2p-transfer-gem ## Basic Information - **Project Name**: P2P传输宝 - **Description**: 点对点传输:专注于P2P技术的开源项目,实现高效、安全的数据交换与共享,支持多平台应用,适用于文件传输、即时通讯等场景。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-24 - **Last Updated**: 2025-11-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 P2P Transfer Gem - 点对点传输宝石
![Version](https://img.shields.io/badge/version-1.0.0-blue) ![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey) ![License](https://img.shields.io/badge/license-MIT-green) **一款安全、高效、跨平台的点对点文件传输工具** [功能特性](#-功能特性) • [快速开始](#-快速开始) • [使用指南](#-使用指南) • [技术架构](#-技术架构) • [开发文档](#-开发文档)
--- ## ✨ 功能特性 ### 🔐 安全加密 - **端到端加密**:使用AES-256加密,数据传输过程完全保密 - **无需账号**:无需注册登录,无中心服务器存储用户数据 - **临时配对**:连接码自动过期,防止未授权访问 ### ⚡ 高速传输 - **P2P直连**:无需服务器中转,充分利用带宽 - **局域网优化**:自动识别并使用局域网直连,速度可达100MB/s+ - **断点续传**:传输中断后可继续,不必重新开始 ### 🌍 跨平台支持 - **Windows 10/11**:原生支持(主要开发平台) - **macOS 10.15+**:完美兼容 - **Linux**:支持主流发行版 ### 🎯 简单易用 - **拖拽传输**:直接拖拽文件到窗口即可发送 - **连接码配对**:6位数字连接码,简单好记 - **历史记录**:自动保存传输记录,方便追溯 --- ## 🚀 快速开始 ### 下载安装 #### Windows用户 1. 从 [Releases](https://gitee.com/banfoguan/p2p-transfer-gem/releases) 下载 `P2P-Transfer-Gem-Setup-1.0.0.exe` 2. 双击安装文件,按提示完成安装 3. 启动应用,开始传输! #### macOS用户 1. 下载 `P2P-Transfer-Gem-1.0.0.dmg` 2. 打开DMG文件,将应用拖到"应用程序"文件夹 3. 首次运行需要在"系统偏好设置→安全性与隐私"中允许 #### Linux用户 1. 下载 `P2P-Transfer-Gem-1.0.0.AppImage` 2. 添加执行权限:`chmod +x P2P-Transfer-Gem-1.0.0.AppImage` 3. 双击运行 ### 第一次传输 #### 发送文件 1. 打开应用,点击"生成连接码" 2. 将显示的6位数字告诉接收方(如:123456) 3. 等待对方连接成功 4. 拖拽文件到窗口,或点击"选择文件" 5. 确认发送,等待传输完成 #### 接收文件 1. 打开应用,点击"连接到对方" 2. 输入对方提供的6位连接码 3. 连接成功后,等待对方发送文件 4. 选择保存位置,开始接收 --- ## 📖 使用指南 ### 连接方式 #### 方式1:连接码配对(推荐) 适用于任何网络环境,包括跨公网传输。 ``` 发送方:生成连接码 → 123456 接收方:输入连接码 → 123456 → 连接成功 ``` #### 方式2:局域网发现 适用于同一WiFi或有线网络下的设备。 ``` 1. 两台设备连接到同一局域网 2. 应用自动扫描并显示可用设备 3. 点击设备名称,直接连接 ``` ### 高级功能 #### 文件夹传输 - 直接拖拽整个文件夹到应用窗口 - 保持原有目录结构 - 自动压缩传输(可选) #### 断点续传 - 传输中断后,再次连接会自动提示继续 - 支持暂停和恢复传输 - 已传输部分不会重复 #### 多任务管理 - 同时传输多个文件 - 队列管理,按顺序执行 - 可单独暂停、恢复、取消任务 --- ## 🏗️ 技术架构 ### 核心技术 - **前端**:Electron + React + TypeScript - **P2P协议**:WebRTC DataChannel - **NAT穿透**:STUN/TURN - **加密算法**:AES-256-GCM + RSA-2048 - **打包工具**:electron-builder ### 项目结构 ``` p2p-transfer-gem/ ├── src/ │ ├── main/ # Electron主进程(P2P逻辑) │ ├── renderer/ # React前端界面 │ └── preload/ # IPC桥接 ├── docs/ # 项目文档 ├── resources/ # 应用资源 └── tests/ # 测试文件 ``` --- ## 👨‍💻 开发文档 ### 环境要求 - Node.js 18+ - npm 9+ - Windows 10/11 + PowerShell ### 本地开发 ```powershell # 1. 克隆仓库 git clone git@gitee.com:banfoguan/p2p-transfer-gem.git cd p2p-transfer-gem # 2. 安装依赖 npm install # 3. 启动开发服务器 npm run dev # 4. 构建生产版本 npm run build # 5. 打包应用 npm run package:win # Windows npm run package:mac # macOS npm run package:linux # Linux ``` ### 测试 ```powershell # 运行单元测试 npm run test # 运行E2E测试 npm run test:e2e # 生成覆盖率报告 npm run test:coverage ``` ### 文档 - [需求文档](./需求文档.md):详细功能需求和验收标准 - [开发文档](./开发文档.md):技术实现细节和API文档 - [开发进度](./开发进度.md):任务跟踪和时间规划 --- ## 🤝 贡献指南 欢迎贡献代码、报告问题或提出建议! ### 提交问题 1. 搜索现有Issue,避免重复 2. 使用Issue模板描述问题 3. 提供复现步骤和环境信息 ### 贡献代码 1. Fork本仓库 2. 创建特性分支:`git checkout -b feature/your-feature` 3. 提交更改:`git commit -m "feat: add your feature"` 4. 推送分支:`git push origin feature/your-feature` 5. 提交Pull Request ### 代码规范 - 使用TypeScript编写代码 - 遵循ESLint规则 - 添加必要的注释(中文) - 编写单元测试 --- ## 📜 开源协议 本项目采用 [MIT License](LICENSE) 协议开源。 --- ## 📞 联系方式 - **邮箱**:18945985188@163.com - **Gitee**:https://gitee.com/banfoguan/p2p-transfer-gem - **问题反馈**:[提交Issue](https://gitee.com/banfoguan/p2p-transfer-gem/issues) --- ## 🌟 致谢 感谢以下开源项目: - [Electron](https://www.electronjs.org/) - [React](https://reactjs.org/) - [WebRTC](https://webrtc.org/) - [simple-peer](https://github.com/feross/simple-peer) ---
**如果觉得项目有用,请给个 ⭐ Star 支持一下!** Made with ❤️ by TaoDeepX