V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bshu
V2EX  ›  分享创造

pp 直连 4.3 先发布, 5.0 继续难产中

  •  1
     
  •   bshu · 2020-09-13 11:48:27 +08:00 via Android · 5835 次点击
    这是一个创建于 1534 天前的主题,其中的信息可能已经有所发展或是发生改变。
    pp 直连 4.3 更新:

    1.增加文件推送功能,本地无需主动下载,挂机后,对方可以直接推送文件,并缓存在本地浏览器沙盒内。特别适合挂机收集文件
    2.优化底层传输模块,提高效率与稳定性,降低资源占用
    3.对于无法直连的情况,重写 http 中继模块,包括客户端与中继服务器端。中继服务器端已经独立出来,未来可开源,有条件的用户可以部署自己的中继服务器用于私密传输,甚至当作缓存云盘

    失望的是 5.0 继续难产中,5.0 的目标是大幅提升大数据传输速度,尤其达到超大文件的快速传输。由于无法突破浏览器本身能力支持的限制,迟迟无重大进展。为此花了很多时间研究 chromium 的源码,查找有无隐藏接口或配置参数,或者 hook 的方案,可惜效果不大。采用客户端的方式是可以突破浏览器的限制,但是与尽量便捷的目标又背道而驰了,纠结中。如果在这方面有研究的兄弟可以帮忙指点一下,多谢!

    https://www.ppzhilian.com
    23 条回复    2020-09-23 09:16:03 +08:00
    celerysoft
        1
    celerysoft  
       2020-09-13 11:50:10 +08:00
    很好用的工具,继续加油
    kurtrossel
        2
    kurtrossel  
       2020-09-13 12:15:49 +08:00
    加油,祝越做越好!
    klown
        3
    klown  
       2020-09-13 12:54:36 +08:00 via Android
    加油!
    cond0r
        4
    cond0r  
       2020-09-13 13:57:27 +08:00 via iPhone
    mega.nz 的下载似乎也是先缓存到浏览器 然后再保存到本地 看看他们的 js 呢
    bshu
        5
    bshu  
    OP
       2020-09-13 14:25:05 +08:00 via Android
    la9998372
        6
    la9998372  
       2020-09-13 14:27:27 +08:00
    好东西,加油!
    bshu
        7
    bshu  
    OP
       2020-09-13 14:29:38 +08:00 via Android
    @cond0r 浏览器缓存在新上线的 推送文件 功能里已经实现,采用的是用 indexeddb 模拟文件系统,可以保存文件到本地,这样保证系统安全与文件持久化。现在的难点在 webrtc 的 datachannel 的提速上,因为是单例,多开通道都效果有限
    native
        8
    native  
       2020-09-13 23:08:28 +08:00
    你这个需要中间服务器做媒介转换吗?
    bshu
        9
    bshu  
    OP
       2020-09-13 23:45:20 +08:00 via Android
    @native 局域网和可穿透直连网络不需要中间服务器转换,无法穿透的通过中继服务器实时透传。网站使用过程中连接的服务器是信令服务器,只负责建立双方连接,一点不涉及数据的传输
    guzzhao
        10
    guzzhao  
       2020-09-14 17:01:28 +08:00
    https://github.com/RobinLinus/snapdrop 这个项目 pp 直连类似
    bshu
        11
    bshu  
    OP
       2020-09-14 17:45:31 +08:00
    @guzzhao 恩,有几个类似的项目,都是采用 webrtc 实现文件传输。在做个项目之前尝试用过,只是不太稳定,而且很多情况下无法使用,所以就手撸了这个
    firefox12
        12
    firefox12  
       2020-09-14 21:24:58 +08:00
    但是大概率是打不通洞的,局域网里是很不错,但是那样基本没有实用价值。
    JackalZhao
        13
    JackalZhao  
       2020-09-15 02:52:00 +08:00 via Android
    只要打洞没问题,一切都好说。如果浏览器限制实在绕不开,可以考虑加做一个客户端。像是 Syncthing 那样,客户端是二进制(例如用 go 写,可以多平台编译),本身不带图形界面,而是自带 Web GUI,通过浏览器访问进行控制。
    bshu
        14
    bshu  
    OP
       2020-09-15 08:53:59 +08:00 via Android
    @JackalZhao 也一直在犹豫是否做客户端,当然客户端与浏览器是可以互联互通的,区别是客户端需要安装,好处是速度更快,资源占用更低
    JackalZhao
        15
    JackalZhao  
       2020-09-17 15:15:10 +08:00 via Android
    @bshu 那就做吧。网页端实现基本功能,进阶功能(例如传输大文件、指定文件保存位置、自动接收文件)放到客户端,网页端就可以作为宣传客户端的入口。我的建议是:如果要做客户端,就用 go 写,一次编写,全平台都能编译,不要写本地图形界面,就用 Web GUI,这样可以做到最广的跨平台支持。
    native
        16
    native  
       2020-09-17 20:05:30 +08:00
    @bshu 那中间作为信令服务器是你个人服务器吗?
    bshu
        17
    bshu  
    OP
       2020-09-17 20:22:01 +08:00
    @native 信令服务器现在是我租用的云主机,程序是在其他项目基础上修改而来,还没有独立出来。独立出来后可能会做成 docker,允许用户自己部署,然后在客户端指定信令服务器。
    bshu
        18
    bshu  
    OP
       2020-09-17 20:27:40 +08:00
    @JackalZhao 多谢你的建议,我还需要权衡一下。而且之前没有用过 go,还需要评估一下成本。用 electron/cordova 的话,最简单,但是还需要优化。
    mitong3269
        19
    mitong3269  
       2020-09-18 08:42:20 +08:00 via iPhone
    加油哦💪 网站在用 很好用
    JackalZhao
        20
    JackalZhao  
       2020-09-18 11:59:49 +08:00
    @bshu 其实以前就一直希望有这样的一个直连软件,电脑、笔记本、手机上各运行一个客户端,都指向同一个发现服务端,进行设备之间的直连,然后就可以共享剪切板、目录、硬件等,手机上有个文件想发到电脑上也更方便。PP 直连是目前最接近的。我提到使用 Go 开发,其实就是考虑了在手机上的运行,安卓手机有终端软件例如 Termux 可以运行 arm 架构编译的 Linux 二进制包( GUI 软件不行),典例就是 Cloudreve 和 Syncthing,都可以下载二进制包,运行,通过浏览器访问,cloudreve 和 syncthing 都是使用的 Go 开发,一套代码编译到所有平台上都可用,编译出的二进制包也都体积特别小巧,只有几 MB 。但切换语言的确成本也不小。
    bshu
        21
    bshu  
    OP
       2020-09-18 18:42:53 +08:00
    @JackalZhao 我也希望能达到所有设备可以互联互通,用浏览器确实有很多限制,后面肯定会有客户端,只是方案还没有定好。我测试在广域网内传输,因为家里的宽带上传速度只有 20 多 m,在局域网内,电脑网卡比较老,是百兆的,可以达到八九十 m,后面还需要一个更好的测试环境,测一下通过浏览器传数据的上限是多少,看是否适合超大文件传输
    ruihe
        22
    ruihe  
       2020-09-21 17:12:06 +08:00
    很好用的网站,感谢开发者
    zhuang0718
        23
    zhuang0718  
       2020-09-23 09:16:03 +08:00
    好网站~支持 ~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3122 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:04 · PVG 22:04 · LAX 06:04 · JFK 09:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.