file-transfer-go 文件快传 – P2P文件传输工具-开源码库社区-开源分享-6协议-村兔网

file-transfer-go 文件快传 – P2P文件传输工具

 

文件快传 – P2P文件传输工具

安全、快速、简单的点对点文件传输解决方案 – 无需注册,即传即用

在线体验 • 关注我 • 帮助文档

项目演示

✨ 核心功能[端到端数据传输完全基于WebRTC的P2P直连]

  • 📁 文件传输 – 支持多文件同时传输
  • 📝 文字传输 – 快速分享文本内容
  • 🖥️ 桌面共享 – 实时屏幕共享
  • 🔗 连接状态同步 – 实时连接状态UI同步
  • 🔒 端到端加密 – 数据传输安全,服务器不存储文件
  • 📱 响应式设计 – 完美适配手机、平板、电脑
  • 🖥️ 多平台支持 – 支持linux/macOS/win 单文件部署

🔄 最近更新日志

2025-09-5

  • ✅ WEBRTC链接恢复 – 关闭页面后在打开,进行数据链接恢复
  • ✅ 定义TURN配置 – 支持自定义中继TURN配置
  • ✅ 优化移动端提示 – 优化各种场景的错误提示
  • ✅ 帮助文档 – 常见问题说明文档更新

2025-09-1

  • ✅ 移动端桌面全屏 – 优化移动端下UI,并解决全屏问题

2025-08-28

  • ✅ 完善Docker部署支持 – 优化Docker配置,支持一键部署和多环境配置
  • ✅ 优化README文档 – 更新项目说明,完善部署指南和技术栈信息
  • ✅ 改进UI用户体验 – 优化界面细节,完善错误提示和加载状态
  • ✅ 重构Hooks架构 – 拆分复杂hooks,提高代码复用性和可维护性

2025-08-24

  • ✅ 文件传输 ACK 确认支持 – 实现了可靠的数据传输机制,每个数据块都需要接收方确认
  • ✅ 修复组件渲染后重复注册/解绑 bug – 解决了 React 组件重复渲染导致的处理器反复注册问题
  • ✅ 修复进度显示 Infinity% 问题 – 解决了除零错误和进度闪烁问题

2025-08-14

  • ✅ 分离UI组件,统一UI状态 – 重构UI架构,提高代码复用性和可维护性
  • ✅ 共享底层链接 – 优化WebRTC连接管理,支持多个业务模块共享连接
  • ✅ 远程桌面支持 – 新增实时屏幕共享功能
  • ✅ 修复 WebRTC 连接状态异常 – 增强了连接状态错误处理和恢复能力

🚀 技术栈

前端技术栈

  • Next.js 15 – React全栈框架,支持SSR/SSG
  • React 18 – 现代化UI组件库
  • TypeScript 5 – 类型安全的JavaScript超集
  • Tailwind CSS 3.4 – 实用优先的CSS框架
  • Radix UI – 无障碍访问的组件库
  • Zustand – 轻量级状态管理
  • Lucide React – 现代化图标库

后端技术栈

  • Go 1.22 – 高性能编程语言
  • WebSocket – 实时双向通信
  • 内存存储 – 轻量级数据存储
  • 标准库 – 原生HTTP服务器

传输协议

  • WebRTC DataChannel – 端到端数据传输
  • P2P直连 – 点对点连接,无需中转
  • ICE框架 – 网络连接协商
  • STUN/TURN – NAT穿透支持

架构特点

  • 微服务架构 – 前后端分离
  • 实时通信 – WebSocket + WebRTC
  • 响应式设计 – 移动端适配
  • 容器化 – Docker部署支持

📦 快速部署

方式一:Docker 一键部署(推荐)

# 使用 Docker Compose(最简单)
git clone https://github.com/MatrixSeven/file-transfer-go.git
cd file-transfer-go
docker-compose up -d

# 或者直接使用 Docker 镜像
docker run -d -p 8080:8080 --name file-transfer-go matrixseven/file-transfer-go:latest

方式二:本地构建部署

git clone https://github.com/MatrixSeven/file-transfer-go.git
cd file-transfer-go
./build-fullstack.sh 
./dist/file-transfer-go

访问 http://localhost:8080 开始使用

方式三:开发环境部署

# 后端服务
make dev

# 前端服务(新终端)
cd chuan-next && yarn && yarn dev

部署配置说明

环境变量配置

  • NODE_ENV: 运行环境(开发/生产)
  • PORT: 服务端口(默认8080)
  • GO_BACKEND_URL: 后端服务地址

Docker 配置选项

# docker-compose.yml 可配置项
environment:
  - NODE_ENV=production
  - PORT=8080
ports:
  - "8080:8080"
restart: unless-stopped

多架构支持

项目支持多架构Docker镜像:

  • linux/amd64– x86_64架构
  • linux/arm64– ARM 64位架构

镜像版本

  • latest– 最新稳定版本
  • v1.0.x– 特定版本号
  • dev– 开发版本

🎯 使用方法

发送文件

  1. 选择文件 → 生成取件码 → 分享6位码

文字传输

  1. 输入文字内容 → 生成取件码 → 分享给对方

桌面共享

  1. 点击共享桌面 → 生成取件码 → 对方输入码观看

📊 项目架构

发送方 ←─── WebSocket信令 ───→ 服务器 ←─── WebSocket信令 ───→ 接收方
   │                                                            │
   └────────────── WebRTC P2P直连传输 ──────────────────────────┘

🛠️ 本地开发

# 后端
make dev

# 前端
cd chuan-next && yarn && yarn dev


 

请登录后发表评论

    没有回复内容