Skip to content

Go/React开发的端到端webrtc的文件传输/文字传输/桌面共享,安全,隐私,数据不经过服务器。

License

Notifications You must be signed in to change notification settings

im-here/file-transfer-go

 
 

Repository files navigation

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

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

在线体验GitHub

项目演示

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

React Next.js TypeScript Go WebRTC Tailwind CSS

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

🔄 最近更新日志

2025-08-24

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

2025-08-14

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

🚀 技术栈

前端 - Next.js 15 + React 18 + TypeScript + Tailwind CSS
后端 - Go + WebSocket + 内存存储
传输 - WebRTC DataChannel + P2P直连

📦 快速部署

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

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

🎯 使用方法

发送文件

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

文字传输

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

桌面共享

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

📊 项目架构

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

🛠️ 本地开发

# 后端
make dev

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

📄 许可证

MIT License


⭐ 如果觉得这个项目对你有帮助,请给个星标!

[Star History Chart]

About

Go/React开发的端到端webrtc的文件传输/文字传输/桌面共享,安全,隐私,数据不经过服务器。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 76.4%
  • Shell 6.9%
  • Go 6.5%
  • HTML 5.8%
  • CSS 1.8%
  • JavaScript 1.8%
  • Makefile 0.8%