file-transfer-go 是一款基于 WebRTC 技术实现的点对点(P2P)文件传输工具。它无需用户注册,通过浏览器即可实现安全、快速的文件互传,非常适合在家庭或办公局域网内搭建私有化的快速分享服务。

核心功能:
- 📁 文件传输:支持同时选择并传输多个文件。
- 📝 文字传输:快速创建房间,分享文本内容。
- 🖥️ 桌面共享:支持实时共享屏幕或应用窗口(需HTTPS)。
- 🔗 连接状态同步:UI界面实时显示对等连接状态。
- 🔒 端到端加密:数据传输过程加密,服务器仅作信令中转,不存储文件。
- 📱 响应式设计:适配手机、平板、电脑等多种设备。
- 🖥️ 多平台支持:服务端支持 Linux/macOS/Windows 单文件部署,客户端仅需浏览器。
安装部署
推荐使用 Docker Compose 进行一键部署,这是目前最为简便的云原生应用部署方式。
创建 docker-compose.yml 文件,内容如下:
services:
file-transfer-go:
image: matrixseven/file-transfer-go:latest
container_name: file-transfer-go
ports:
- 8080:8080
restart: unless-stopped
保存文件后,在终端中执行 docker-compose up -d 命令即可启动服务。
使用教程
服务启动后,在浏览器中访问 http://你的NAS_IP:8080 即可打开主界面。

界面清晰展示了三大核心功能:文件传输、文本消息和共享桌面。

1. 文件传输
点击“文件传输”进入功能页。你可以点击“选择文件”按钮,或直接将文件拖拽到上传区域。

支持一次性添加多个文件。添加完毕后,点击“生成取件码”。

系统会自动生成一个取件码和分享链接。接收方在浏览器中打开此链接即可。(在此过程中,发送方仍可继续添加文件)。

此时,我们用另一个浏览器窗口模拟接收端打开链接,即可看到待接收的文件列表。

提示:正常连接成功后,页面底部的连接状态应显示为“已连接 (2)”,表示两个对等端已通过WebRTC建立直连。

在接收端点击“开始传输”并选择“保存文件”,传输即开始。

发送端会实时显示每个文件的传输进度。

经测试,较大体积的文件也能稳定传输。

2. 文本传输
点击“文本消息”进入功能页。首先需要点击“创建房间”以建立一个文本分享会话。

创建成功后,将生成的房间链接分享给接收方。

双方连接成功后,发送方即可在输入框中键入文字或粘贴图片。

接收方将实时看到发送的内容。需要注意的是,此功能为单向广播,接收方无法回复。

3. 共享桌面
“共享桌面”功能允许实时分享屏幕,但需要服务端配置 HTTPS 协议,部署相对复杂,如无特殊需求可暂不尝试。

操作流程与文本传输类似:创建共享房间 -> 复制链接给观看者 -> 选择要共享的屏幕、窗口或浏览器标签页。

观看端打开链接后即可看到实时的屏幕画面,流畅度表现不错。

总结评价
file-transfer-go 作为一个轻量级的Go语言编写的P2P传输工具,在局域网环境下提供了一种非常便捷的文件分享方式,避免了使用U盘或配置SMB/NFS等网络共享协议的繁琐步骤。
需要注意:其核心是基于WebRTC的点对点传输,并非网盘,所有操作均要求发送与接收双方同时在线并保持连接。
综合推荐:⭐⭐⭐(非常适合局域网内的临时、快速文件分享场景)
使用体验:⭐⭐⭐(界面直观,功能明确,传输效率高)
部署难度:⭐(采用Docker部署,极为简单)