没想到拖了这么久,当初顶的小目标终于实现了! 文件传输/桌面共享 已经都支持了!!!! 撒花~ 撒花~ 撒花~
项目起因是因为要经常传一些文件到 win 服务,下载网盘啥的好麻烦,又要登录又要先下载客户端,也想了解下 webrtc 技术。摸着需求就开始过河了!!
终于这个上个周末把 UI 一些状态 桌面共享 文件传输 ack 都加上了。
项目后端 Go 前端是 react nextjs GO server 只作为信令转发,p2p 建立后传数据文本/共享桌面/文件都不会经过服务器,安全!隐私!
本项目和 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 和端口。 打洞友好程度:最低,穿透难度最大。
![]() |
1
blankmiss 3 天前
如果是公司局域网呢 是不是可以直接打通
|
2
zhhbstudio 3 天前
先 star 一个
|
4
molika OP @zhhbstudio 感谢老哥的鼓励嘿嘿
|
5
yuanxing008 3 天前
op 解决了传统 RTC 打洞服务和信令服务在企业防火墙中被拦截的问题吗?
|
6
XhivaW 3 天前
先 star 一个+1
回头试试 看能不能战胜奇安信 |
![]() |
7
sssxyd 3 天前
star 一个,桌面共享还是蛮有用的
|
![]() |
8
yh7gdiaYW 3 天前
试了下手机向 PC 传文件很好用,已 star 。提个建议,取件码用 6 位数字太简单了
|
![]() |
9
andyskaura 3 天前
有个类似的,大家伙儿可以体验一下 https://explorer.kuraa.cc/#/
|
![]() |
10
vfs 3 天前
诚信请教: 国内打洞成功的概率有多大?
|
11
capric 3 天前
|
13
molika OP @yuanxing008 p2p 被封啥,是没法建立链接的
|
![]() |
18
woshi233 3 天前
试了下感觉不错,已 Star✨
|
![]() |
19
deepseek 3 天前
|
22
NessajCN 3 天前
我也写过,甚至也是用的 webrtc
但最后还是用回 kde connect |
25
yangggg 3 天前
别的不说,这界面是真漂亮
|
![]() |
26
zhoublackcat 3 天前
能不能固定配对设备呢,每次输入取件码,比较麻烦
|
![]() |
28
kehuai 3 天前
有啥快捷键么,全屏了,没法退出了-
下一步是不是做成远控了 哈哈哈 |
![]() |
29
wangtian2020 3 天前
网页版 rustdesk
|
31
wsseo 3 天前
纯内网无法用吧?开始的信令怎么交互?
|
![]() |
32
Rorysky 3 天前
太厉害了,项目难度高
|
33
yuanxing008 3 天前
@molika 之前在前司做视频会议的产品的时候,是通过企业防火墙预授权指定打洞端口来建连的,没想到这么多年过去了 RTC 的弊端还是没有得到改善
|
34
fffq 3 天前
一个人搞的?
|
![]() |
35
superychen 3 天前
win11 上 vmware 虚拟机 ubuntu24.04 ,nat 模式网络,在虚拟机上运行程序,开启桌面共享,win11 访问,无法建立连接
|
36
Vintingb 3 天前
提个建议,stun 服务器可以用户自行输入
|
41
molika OP @superychen 可以 chrome://webrtc-internals 看一下
|
42
molika OP @yuanxing008 感觉这个难以改善
|
43
molika OP @zhoublackcat 服务器没有任何存储逻辑,做不到这些
|
47
molika OP @wangtian2020 rustdesk 难道 100% 我的难度 0.001%
|
48
a852695 3 天前
和 CuteHttpFileServer/chfs 功能有点像,不过好像 chfs 并不是 P2P ,是一个 HTTP Server 服务器,平时会用这个软件的 webda 功能,映射到本地 PC 的网络磁盘,存取文件会非常方便。
http://iscute.cn/chfs 如果软件能带上 webdav 就更方便通用了 |
49
wsseo 3 天前
信令服务器是什么,stun 服务器是什么
|
50
dufzh 3 天前
牛啊,STAR 学习一下
|
51
midraos 3 天前
局域网内大概率无法连接,偶尔能连接成功
|
52
thomaspaine 3 天前
局域网支持组播吗?
|
53
Eddiegaao 3 天前
不懂技术,单纯用户角度来说,传输速度有点慢...
|
![]() |
54
96 3 天前
太棒了,这样的聚合服务真的很需要,还可以自己部署。给个⭐
|
55
rcj6056 3 天前
好奇你是怎么添加的图片在这个帖子里面的 ~
|
![]() |
56
surbomfla 2 天前
已 star ,共享桌面支持 远程操控吗?
|
57
tavimori 2 天前
企业内网用应该还是需要企业内网的 STUN 服务器吧。
|
![]() |
58
Jasonfly 2 天前
先 star 一下,晚上试试
|
59
molika OP @wsseo 信令服务器是 是 用来交换 ICE 打洞数据的。 也是就是这个开源程序的 server UI 上的 ws 链接的服务器。STUN 服务器的主要作用是帮助位于 NAT 网络(网络地址转换)后面的设备发现其公共 IP 地址和端口号,以便在设备之间建立直接的 P2P 通信。
|
65
molika OP @thomaspaine 不支持
|
66
kevin249 2 天前
先 star 后再用
|
![]() |
67
ahjsrhj 2 天前
感谢分享, 很好用
提个意见, 取件码可否屏蔽掉 O 和 0 第一次出现很容易搞混不知道是哪个 |
![]() |
68
SnowHall 2 天前
可以的,就喜欢这样开箱即用的产品,必须 star ,很棒!
|
![]() |
69
InDom 2 天前
东西很棒, 是我一直想要的东西!感谢.
给几个非专业意见, 楼主可以自行判断需求是否合理且可实现. 可以先创建房间, 后选择文件, 比如我通过 https://transfer.52python.cn/#{roomId} 打开, 就默认是这个房间. 或者打开页面就创建一个临时房间, 手机扫码就直接进入房间. 如果两个(或多个)设备都打开了同一个 roomId 则相互显示对方的设备名. 我可以直接拖拽文件到对应的设备后两个设备直接联通发送文件(或文本). 有文件投递给自己时直接弹窗要求保存即可. 页面效果可以参考 https://drop.fydeos.com/ 不过他们是局域网发现, 和楼主实现的功能还不一样. 也许还可以把他们这个局域网自动发现也搞出来(后话). |
![]() |
70
vfxx 2 天前
很好的产品, 同运营商打洞成功
|
71
Raw778 2 天前
局域网传文件,如果中途中断了,就无法重连了。
|
![]() |
72
yufeng0681 2 天前
做成个集群项目,走商业流程呢?
1 、 服务器大家都可以建立, 注册到你定义的网络 [等做大了,可以考虑做有门槛的服务器网络] 2 、作为服务器,提供的是信令服务,建立 P2P 打动成功 [让各种情况下的终端机都能 P2P 连接,包括 IPV6] 3 、服务器辅助建立数据通道成功收取一次费用(比如 2 分钱一次) 4 、终端机做成 SDK 和业务代码(当例子用),让第三方参考开发点对点类的应用: 4.1 、视频通话 4.2 、远程协助 4.3 、私家数字花园 5 、 你就赚管理系统的费用,服务器提供者赚建立数据通道的费用,消费者支付点对点应用的钱,第三方应用开发赚消费者的钱 [这块可以先开发成扣费模式, 给消费者 10 块钱的信用抵扣钱,用于发展真正有需求的用户,有黏性的用户] |
73
kfpenn 2 天前
前端时间也做过 p2p ,用的 libp2p ,网络环境太复杂了,打洞是个问题
|
74
deplives 2 天前
佬,是不是太强了
|
![]() |
75
Lemonadeccc 2 天前
做 webrtc 的很少,你很厉害
|
76
honkew 2 天前
我也做了一个
https://record.rw2.cc/ |
![]() |
77
zhangk23 2 天前
赞
|
![]() |
78
lizhenda 2 天前
做的很好,试用了下很方便!
|
79
peerless 2 天前
谢谢分享
|
![]() |
80
MYDB 2 天前 via iPhone
可惜我是一刀切禁用了浏览器的 udp
|
81
hexiaowu1993 2 天前
大佬,真的强!
|
![]() |
82
Bo0 2 天前
已 star
可能是网络问题,RTC 始终未连接。小白会一脸懵,建议加解决引导。 另外不知道是否支持非局域网,手机关了 WiFi ,也是 RTC 未连接。 |
87
molika OP @yufeng0681 感谢您的建议, 说实话 自己的小需求,顺带学习一下 没想这么多,直接就开始干了,么想到大家对这个东西热度竟然这么高。
|
89
molika OP 哇偶 不错 这个房间里面互相打洞吗
|
![]() |
92
Livid MOD PRO |
![]() |
96
iamtsm 23 小时 36 分钟前
|
![]() |
98
hongchends1 21 小时 10 分钟前
666
|