file-transfer-go Documentation

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

5,152 stars TypeScript TypeScript 1 file · ~977 tokens
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy file-transfer-go on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name file-transfer-go -p 8080:8080 --restart always matrixseven/file-transfer-go:latest
Configured Services & Ports
⚙️ file-transfer-go
image: matrixseven/file-transfer-go:latest
🔌 Ports: 8080:8080
docker-compose.yml
yaml (docker-compose.yml)
version: '3.8'

services:
  # file-transfer-go:
  #   build: .
  #   ports:
  #     - "8080:8080"
  #   environment:
  #     - NODE_ENV=production
  #   restart: unless-stopped
  #   healthcheck:
  #     test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080"]
  #     interval: 30s
  #     timeout: 10s
  #     retries: 3
  #     start_period: 40s
  file-transfer-go: 
    image: matrixseven/file-transfer-go:latest
    ports:
      - "8080:8080"
    restart: unless-stopped

Technical Documentation: MatrixSeven/file-transfer-go

ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference

Overview (`README.md`)

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

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

[在线体验](https://transfer.52python.cn) • [关注我](https://x.com/_MatrixSeven) • [帮助文档](https://transfer.52python.cn/help)

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

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

🚀 技术栈

前端技术栈

  • 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 一键部署(推荐)

bash
# 使用 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

方式二:本地构建部署

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

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

方式三:开发环境部署

bash
# 后端服务
make dev

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

部署配置说明

环境变量配置

  • NODE_ENV: 运行环境(development/production)
  • PORT: 服务端口(默认8080)
  • GO_BACKEND_URL: 后端服务地址

Docker 配置选项

yaml
# 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. 点击共享桌面 → 生成取件码 → 对方输入码观看

📊 项目架构

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

🛠️ 本地开发

bash
# 后端
make dev

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

📄 许可证

MIT License



Overview (`chuan-next/README.md`)

传传传 - 跨平台文件传输工具

简单、快速、安全的点对点文件传输解决方案

✨ 核心功能

  • 📁 文件传输 - 支持多文件同时传输,断点续传
  • 📝 文字传输 - 快速分享文本内容
  • 🖥️ 桌面共享 - 实时屏幕共享(开发中)
  • 🔗 URL路由 - 支持直链分享特定功能

🚀 技术栈

  • 前端: Next.js 15 + React 18 + TypeScript + Tailwind CSS
  • 后端: Go + WebSocket + Gin框架
  • 部署: Docker + Docker Compose

📦 快速开始

本地开发

bash
# 克隆项目
git clone https://github.com/MatrixSeven/file-transfer-go.git
cd file-transfer-go

# 启动后端服务
make dev

# 启动前端服务
cd chuan-next
npm install
npm run dev

Docker部署

bash
# 一键启动所有服务
docker-compose up -d

# 访问应用
open http://localhost:8080

🎯 URL参数

支持通过URL直接跳转到特定功能:

text
/?type=file&mode=send     # 文件传输-发送
/?type=text&mode=receive  # 文字传输-接收  
/?type=desktop&mode=send  # 桌面共享-共享

🌟 特色

  • ⚡ 零配置 - 无需注册登录,即开即用
  • 🔒 端到端 - 点对点传输,服务器不存储文件
  • 📱 响应式 - 完美适配手机、平板、电脑
  • 🎨 现代UI - 精美的毛玻璃效果界面

📄 许可证

MIT License


--- METRICS ---