V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
neurocomputing
V2EX  ›  程序员

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

  •  2
     
  •   neurocomputing · 2023-12-10 09:42:50 +08:00 · 2586 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    我的文件飞传工具

    相比于 Deershare 有几个增强:

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

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

    12 条回复    2024-01-22 15:35:47 +08:00
    Kaiyuan
        1
    Kaiyuan  
       2023-12-10 10:55:00 +08:00 via Android   ❤️ 1
    不如顺手做个 WebRTC 的内网穿透?
    DOLLOR
        2
    DOLLOR  
       2023-12-10 11:02:24 +08:00 via Android   ❤️ 1
    这个轮子有人做过,可以参考别人的实现
    客户端:
    https://github.com/peers/peerjs
    握手服务器:
    https://github.com/peers/peerjs-server
    Puteulanus
        3
    Puteulanus  
       2023-12-10 11:39:58 +08:00
    看起来不错,赞
    leokun
        4
    leokun  
       2023-12-10 18:35:51 +08:00
    体验了一下,效果很好
    nnikolaatteslaa
        5
    nnikolaatteslaa  
       2023-12-11 01:49:39 +08:00   ❤️ 1
    发现一个问题
    不支持端到端加密

    作者可以参考一下
    https://wormhole.app/
    源代码
    https://github.com/SocketDev/wormhole-crypto
    neurocomputing
        6
    neurocomputing  
    OP
       2023-12-11 09:35:42 +08:00
    @nnikolaatteslaa WebRTC 本身已经加过密了
    neurocomputing
        7
    neurocomputing  
    OP
       2023-12-11 09:36:11 +08:00
    @Kaiyuan under consideration
    xunandotme
        8
    xunandotme  
       2023-12-11 14:01:12 +08:00   ❤️ 1
    这个能备案的?
    neurocomputing
        9
    neurocomputing  
    OP
       2023-12-11 14:06:45 +08:00
    @xunandotme 一个只能自己发给自己的工具还需要走什么手续?
    neurocomputing
        10
    neurocomputing  
    OP
       2023-12-11 19:01:55 +08:00
    @DOLLOR 是的,我也用的这个包
    nnikolaatteslaa
        11
    nnikolaatteslaa  
       2023-12-11 22:11:58 +08:00
    @neurocomputing 这绝对不是端到端加密
    neurocomputing
        12
    neurocomputing  
    OP
       324 天前
    @nnikolaatteslaa 这很重要?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3109 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:47 · PVG 12:47 · LAX 20:47 · JFK 23:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.