通过WebRTC实现局域网p2p文件传输功能(新版)

项目介绍
之前曾经有过一次想实现这个功能,但是问题很多就烂尾了,见通过 WebRTC 实现局域网 p2p 文件传输功能,最近突然想到了解决办法,于是真正的完成了这个功能。
项目已经上传github ,持续维护中。
这里要注意下,该项目仅仅实现了可以在简单的局域网中(单层局域网)中的文件传输功能,不能实现跨层级的局域网和外网文件传输功能,所以并没有使用到 STUN 和 TURN 服务器,只使用了 websocket 服务器来交换必要的信息然后建立 WebRTC 连接。
部署
如果只是简单的部署,直接看github 的 README.md 就可以了。
你可以部署在专用服务器上,也可以部署在自己的电脑上,
如果你想让服务跟随系统启动,也可以自己去把这个服务添加到系统启动项中。
部署在 linux 服务器上
传统做法是将项目部署在专用的 linux 服务器(这里特指 ubuntu)上,一般是将其添加为服务,然后跟随系统启动。
首先进入你的用户根目录,然后 clone 项目
1 | # 进入你的用户根目录,然后clone项目 |
然后需要在你的服务器上添加一个服务,进入目录 /etc/systemd/system 创建服务配置文件 _sendByWebRTC.service_,填写以下内容:
1 | [Unit] |
创建好服务配置文件后,还需要去开放端口 60888 和 60999,
最后启动这个服务。
1 | # 刷新服务列表 |
运行成功后,在局域网中任何一台设备上访问 http://你部署项目的局域网地址:60888 就可以使用了。
部署在 windows 服务器上
如果你没有专用服务器,或者你在你的局域网中没有权限访问服务器,那么可以将项目部署在自己的电脑上,局域网中的其他设备同样可以访问。
首先随便找个地方新建一个目录,这里假设目录是 _C:\yourFolder_,打开 cmd,然后 clone 项目
1 | # 进入你创建的目录,然后clone项目 |
紧跟着上面的操作,为了创建 windows 服务,需要在项目根目录下创建一个 start.bat 文件,内容如下:
1 | @echo off |
然后重新打开一个 cmd,一定要用 管理员权限打开,否则会出现权限不足的错误。执行下面的命令来创建服务。
创建服务后,还需要去开放端口 60888 和 60999。
1 | # 创建服务 |
运行成功后,在局域网中任何一台设备上访问 http://你部署项目的局域网地址:60888 就可以使用了。
- 标题: 通过WebRTC实现局域网p2p文件传输功能(新版)
- 作者: 木头的喵喵拖孩
- 创建于: 2025-12-29 15:52:51
- 更新于: 2025-12-31 14:36:37
- 链接: https://blog.xx-xx.top/2025/12/29/通过WebRTC实现局域网p2p文件传输功能(新版)/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。