type
Post
status
Published
date
Dec 12, 2025
slug
trans
summary
tags
工具
category
技术分享
icon
password
安全、快速、简单的点对点文件传输解决方案 - 无需注册,即传即用

✨ 核心功能[端到端数据传输完全基于WebRTC的P2P直连
- 📁 文件传输 - 支持多文件同时传输
- 📝 文字传输 - 快速分享文本内容
- 🖥️ 桌面共享 - 实时屏幕共享
- 🔗 连接状态同步 - 实时连接状态UI同步
- 🔒 端到端加密 - 数据传输安全,服务器不存储文件
- 📱 响应式设计 - 完美适配手机、平板、电脑
- 🖥️ 多平台支持 - 支持linux/macos/win 单文件部署
Docker 部署
方法一:使用 Docker Compose(推荐)
方法二:直接使用 Docker 镜像
部署提示
- Docker Compose 方式会自动处理依赖和网络配置
- 服务启动后访问
http://localhost:8080
- 可以通过修改
docker-compose.yml自定义端口
二进制部署
下载预编译版本
前往 GitHub Releases 页面 下载对应系统的二进制包
支持的平台:
- Linux (AMD64/ARM64)
- Windows (AMD64)
- macOS (AMD64/ARM64)
启动服务
下载后直接运行可执行文件即可:
注意事项
- 首次运行可能需要防火墙授权
- 默认端口为 8080,可通过参数修改
- 建议在生产环境使用 systemd 等进程管理工具
自行构建
环境要求
- Go 1.21 或更高版本
- Node.js 18 或更高版本
- Git
构建步骤
构建注意事项
- 确保网络畅通,需要下载 Go 模块和 npm 包
- 首次构建可能需要较长时间
- 构建脚本会自动处理前后端的编译和打包
桌面共享权限问题
移动端无法共享桌面?
移动端限制
这是移动端浏览器的限制,WebRTC 没有在移动浏览器端实现获取桌面视频流的功能,所以这个能力无法在移动浏览器端实现。
解决方案:请使用桌面设备进行屏幕共享。
PC 端无法共享桌面?
HTTPS 要求
如果是自行部署,无论是部署在局域网/公网,如果要实现桌面分享,需要必须保证服务访问地址是 TLS 加密,也就是
https 方式访问。localhost地址可以直接分享桌面
- 其他地址需要配置反向代理(如 nginx)启用 HTTPS
- 这是浏览器的安全限制,直接 IP 无法分享桌面
临时解决方案
如果一定要用 IP+端口 的方式进行桌面分享,可以在浏览器设置中:
- 打开浏览器设置
- 搜索 WebRTC 相关设置
- 开启
Anonymize local IPs exposed by WebRTC
- 设置为
Enabled状态
端口配置
修改服务端口
以 Linux 为例,将服务绑定到 18080 端口:
./file-transfer-server-linux-amd64 -port 18080Docker 端口映射
使用 Docker 时修改端口映射:
docker run -d -p 18080:8080 matrixseven/file-transfer-go:latest端口选择建议
- 避免使用系统保留端口(1-1024)
- 确保选择的端口未被其他服务占用
- 防火墙需要开放对应端口
- 建议使用 8080, 3000, 8000 等常用端口
安全内网部署
实验性功能
以下方案理论可行,但未经充分验证,请在测试环境中验证后再用于生产。
内网部署方案
1. 部署内网 DNS 服务
配置内网域名解析,避免直接使用 IP 地址访问
2. 配置 STUN/TURN 服务
部署内网 STUN/TURN 服务器,处理 NAT 穿透
3. 更新服务配置
在应用设置中配置自定义 STUN/TURN 服务器地址
STUN/TURN 服务器推荐
- Coturn:开源 TURN/STUN 服务器
- Janus:WebRTC 网关,包含 STUN/TURN 功能
- 自建方案:基于 Docker 快速部署
配置提示
在应用的 设置 页面中,可以添加自定义 ICE 服务器:
- STUN 服务器格式:
stun:your-server.local:3478
- TURN 服务器格式:
turn:your-server.local:3478
- TURN 服务器需要用户名和密码认证
数据传输机制
传输方式
✓ 点对点传输
通过 WebRTC 建立直接连接,数据不经过服务器
✓ 中继传输
当直连失败时,通过 TURN 服务器中继数据
传输流程
1建立信令连接
通过 WebSocket 服务器交换连接信息
2NAT 穿透
使用 STUN 服务器检测网络环境,尝试直连
3数据传输
建立 P2P 连接后直接传输,或通过 TURN 中继
隐私保护
- 所有文件数据通过点对点传输,服务器不存储任何文件内容
- 房间码具有时效性,连接断开后自动失效
- 支持端到端加密,确保传输安全
- 即使使用 TURN 中继,数据也是加密传输的
- 作者:Choi
- 链接:http://preview.tangly1024.com/article/trans
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

