• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cmlanche
V2EX  ›  程序员

vibe 了一个月,做了一个网页对网页的公网局域网传输

  •  
  •   cmlanche ·
    cmlanche · 2 days ago · 1985 views

    花了一个月,用 ai 做了一个网页对网页的公网局域网传输,地址是:xiachuan.net,文件传输完全走局域网,只是协调传输走需要公网协调,比较神奇的是,传统局域网传输需要安装客户端,而我们不需要。相比很多客户端提供网页传输,大多需要输入 ip+端口,而我们都是用一个公网 https 网页就行,不过前提需要登录。

    当然我们也用 flutter 做了跨平台客户端,客户端之间传输的话,支持断点续传,这个应该是目前市面上局域网传输领域的唯一一个吧(可能有别的我不知道,目前我知道的 localsend 、flix 、闪电藤等都不支持)。断点传输最大的好处就是,大文件传输中断的时候,重试后会从断点处开始传,而不是从头传,加入 5G 的文件,快传完了,因为某些原因中断,那么又要重头传,那就太恶心了。。。

    还有一点就是比较重要的,就是能够解决单向网络问题,单向网络的意思是 A 和 B 可以连,但 B 和 A 不能连,比如一端防火墙阻挡了,还有一种常见情况是路由的上下游,如电脑连猫,手机连 WiFi ,像这类问题,目前市面上大多数都解决不了。我们提供的方案是:B 既然不能和 A 连,那么就让 B 请求 A 去连 B ,我称之为“反向拉取”

    别的就不多介绍了,可以看网站,很详细了

    10 replies    2026-05-22 22:35:49 +08:00
    sentinelK
        1
    sentinelK  
       2 days ago   ❤️ 5
    这种东西不开源没人敢用的
    collery
        2
    collery  
       2 days ago
    @sentinelK hahha
    microscopec
        3
    microscopec  
       2 days ago
    localsend.org/zh-CN 免费开源的
    zzxCNCZ
        4
    zzxCNCZ  
       2 days ago
    这玩意之前不是有过好多类似的开源项目
    boy666
        5
    boy666  
       2 days ago
    大概率没人付费使用,公网的局域网传输,听着就矛盾..
    teaguexiao
        6
    teaguexiao  
       2 days ago
    断点续传这个确实是痛点,大文件传到 99% 断了就是最气人的场景。vibe 一个月出来的东西能把这个问题解决就很值,开不开源无所谓。
    zengyufei
        7
    zengyufei  
       2 days ago
    我做了一个 AB 对等传输,基于双离线 mTLS 认证,A 生成 mTLS 总包 A ,在 B 上传总包 A, B 也生成 mTLS 总包 B ,在 A 上传总包 B ,材料各自拿到手了,AB 节点开始第一次交互,A 节点发起握手 B ,成功则以这次 mTLS 证书作为长期证书。

    可以对等交互(公网、局域网),可以单向传输。

    假设 A 内网,B 公网,A 能发送消息或文件给 B ,直连的没问题。如果 B 要发送消息或文件给 A ,因为 A 和 B 存在心跳,所以 A 过来查询心跳,会被告知有文件要拉取,这时候 A 会下载 B 给的文件。
    zengyufei
        8
    zengyufei  
       2 days ago
    为了更安全,mTLS 保护的每个请求,都是端到端加密,每个请求都要密封,密封参数有 AES-GCM 密钥和正文 body ,body 用 AES-GCM 加密,对端接收用参数 AES-GCM 密钥解密,AES-GCM 密钥用 RSA 非对称加密了,RSA 什么时候交换了?总包里面除了 mTLS 证书,其实还有 RSA 公钥。通道 mTLS ,RSA 加密 AES 钥匙,AES 加密参数,落地解密,接口层拿到是明文。分片传输是密文落盘,合并时解密合并最终完整文件落盘。
    zengyufei
        9
    zengyufei  
       2 days ago
    使用方便重要还是安全重要,安全重要还是性能重要,我选择安全最重要,性能确实慢,这套打法用在公网运维服务器上一点问题都没有,对于运维来说性能不重要。还做了 web 界面和 cli 方便二开。
    fstab
        10
    fstab  
       2 days ago
    @teaguexiao #6 并不是痛点吧,2 个 QQ 内网、外网在线传输都支持断点续传,内网直接满速。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6037 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 03:32 · PVG 11:32 · LAX 20:32 · JFK 23:32
    ♥ Do have faith in what you're doing.