练手之作, 基于 WebRTC 的文件飞传工具

153 天前
 neurocomputing

前一段儿看到 file.pizza 感觉挺有意思,瞅了瞅它的代码,大概是 WebRTC+Webtorrent 做的,于是对 WebRTC 产生了好奇

搜了搜类似的 product,国内也有 deershare 这种基于 WebRTC 的文件传递工具

相比起微信的文件传输工具,这一类 WebRTC 的工具可以不经服务器转发,网速取决于两端直连带宽;也可以没有文件大小限制。

经过了一周的协议学习和开发过程,终于自己手搓出了一个类似的工具,地址是:

我的文件飞传工具

相比于 Deershare 有几个增强:

  1. 部署了一台 TURN 服务器,在至少一端位于 NAT4 背后的时候进行流量转发。(虽然带宽并不大)
  2. 一个发送端可以连续或同时向多个接收端发送,即发送端不断连,文件码不失效
  3. 发送端在连接后可以增加或减少被分享的文件

毕竟非专业码农,前端开发得比较粗糙,欢迎大家拍砖哈

2263 次点击
所在节点    程序员
12 条回复
Kaiyuan
153 天前
不如顺手做个 WebRTC 的内网穿透?
DOLLOR
153 天前
这个轮子有人做过,可以参考别人的实现
客户端:
https://github.com/peers/peerjs
握手服务器:
https://github.com/peers/peerjs-server
Puteulanus
153 天前
看起来不错,赞
leokun
152 天前
体验了一下,效果很好
nnikolaatteslaa
152 天前
发现一个问题
不支持端到端加密

作者可以参考一下
https://wormhole.app/
源代码
https://github.com/SocketDev/wormhole-crypto
neurocomputing
152 天前
@nnikolaatteslaa WebRTC 本身已经加过密了
neurocomputing
152 天前
@Kaiyuan under consideration
xunandotme
151 天前
这个能备案的?
neurocomputing
151 天前
@xunandotme 一个只能自己发给自己的工具还需要走什么手续?
neurocomputing
151 天前
@DOLLOR 是的,我也用的这个包
nnikolaatteslaa
151 天前
@neurocomputing 这绝对不是端到端加密
neurocomputing
109 天前
@nnikolaatteslaa 这很重要?

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

https://www.v2ex.com/t/999077

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

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

© 2021 V2EX