开源,肝爆了! 基于 WebRTC 端到端的桌面共享/文本传输/文字传输已经都达到了可用状态!撒花~

4 天前
 molika

没想到拖了这么久,当初顶的小目标终于实现了! 文件传输/桌面共享 已经都支持了!!!! 撒花~ 撒花~ 撒花~

项目起因是因为要经常传一些文件到 win 服务,下载网盘啥的好麻烦,又要登录又要先下载客户端,也想了解下 webrtc 技术。摸着需求就开始过河了!!

终于这个上个周末把 UI 一些状态 桌面共享 文件传输 ack 都加上了。

项目后端 Go 前端是 react nextjs GO server 只作为信令转发,p2p 建立后传数据文本/共享桌面/文件都不会经过服务器,安全!隐私!

开源地址 https://github.com/MatrixSeven/file-transfer-go

体验地址 https://transfer.52python.cn/

备注:

本项目和 server 不提供降级服务,p2p 建立失败,则无法传输任何数据。 p2p 的建立成功与否 取决于你的 nat 网络模型。

下面是 AI 提供的 nat 场景 ,大家可以参考:

NAT 类型主要分为以下四种,根据其对外部连接的限制程度不同,影响打洞的成功率:全锥形 NAT ( Full Cone NAT ) 特点:内部主机的 IP 和端口映射到固定的公网 IP 和端口,任何外部主机都可以通过该公网地址访问内部主机。 打洞友好程度:最高,易于穿透。

地址限制锥形 NAT ( Restricted Cone NAT ) 特点:只有内部主机主动向外部主机发送过数据包的外部 IP ,才能通过 NAT 的公网 IP 和端口访问内部主机。 打洞友好程度:较高,但需要先建立通信。

端口限制锥形 NAT ( Port Restricted Cone NAT ) 特点:进一步限制,只有内部主机主动向外部主机的特定 IP 和端口发送过数据包,外部主机才能从相同的 IP 和端口访问内部主机。 打洞友好程度:中等,需要精确的端口匹配。

对称 NAT ( Symmetric NAT ) 特点:每次与不同外部主机通信时,NAT 分配的公网端口都不同,映射关系严格依赖于目标 IP 和端口。 打洞友好程度:最低,穿透难度最大。

7039 次点击
所在节点    分享创造
101 条回复
molika
4 天前
@superychen 可以 chrome://webrtc-internals 看一下
molika
4 天前
@yuanxing008 感觉这个难以改善
molika
4 天前
@zhoublackcat 服务器没有任何存储逻辑,做不到这些
molika
4 天前
@kehuai f11 试一试?
molika
4 天前
@Rorysky 状态有点多。其他还好
molika
4 天前
@vfs 服务器上没有记录任何数据 而且我这个临时 demo 的数据量也不够。
molika
4 天前
@wangtian2020 rustdesk 难道 100% 我的难度 0.001%
a852695
4 天前
和 CuteHttpFileServer/chfs 功能有点像,不过好像 chfs 并不是 P2P ,是一个 HTTP Server 服务器,平时会用这个软件的 webda 功能,映射到本地 PC 的网络磁盘,存取文件会非常方便。

http://iscute.cn/chfs

如果软件能带上 webdav 就更方便通用了
wsseo
4 天前
信令服务器是什么,stun 服务器是什么
dufzh
4 天前
牛啊,STAR 学习一下
midraos
4 天前
局域网内大概率无法连接,偶尔能连接成功
thomaspaine
3 天前
局域网支持组播吗?
Eddiegaao
3 天前
不懂技术,单纯用户角度来说,传输速度有点慢...
96
3 天前
太棒了,这样的聚合服务真的很需要,还可以自己部署。给个⭐
rcj6056
3 天前
好奇你是怎么添加的图片在这个帖子里面的 ~
surbomfla
3 天前
已 star ,共享桌面支持 远程操控吗?
tavimori
3 天前
企业内网用应该还是需要企业内网的 STUN 服务器吧。
Jasonfly
3 天前
先 star 一下,晚上试试
molika
3 天前
@wsseo 信令服务器是 是 用来交换 ICE 打洞数据的。 也是就是这个开源程序的 server UI 上的 ws 链接的服务器。STUN 服务器的主要作用是帮助位于 NAT 网络(网络地址转换)后面的设备发现其公共 IP 地址和端口号,以便在设备之间建立直接的 P2P 通信。
molika
3 天前
@Eddiegaao 取决于你的两个设备带宽。 后面引入 RTT 会进一步优化传输速度

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1154676

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX