V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wazon
V2EX  ›  宽带症候群

求一个大文件分享的方案

  •  
  •   wazon · 2022-02-10 01:40:29 +08:00 · 12069 次点击
    这是一个创建于 1018 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求:

    1. 远程分享压缩包,容量>40GB ,无需长期保存
    2. 希望尽可能降低接受方的麻烦(注册、安装、会员),为此发送方可以多花时间精力
    3. 希望下载速度>40Mbps ,即用两三个小时就能下完(收发方均在中国境内,运营商不定,不一定有 IPv6 )

    在满足需求的前提下,价格越便宜越好
    分享是低频的,可以假设为每月 0~2 次

    尝试:

    1. 网盘类:百度网盘的下载速度都懂,阿里云盘除需转存、对分享的格式也有限制,其他很多网盘的默认容量较小
    2. 云服务类:境外对象存储速度不太稳定,境内流量价格偏贵(主流原价 0.5 元 /GB )
    3. 自有宽带类:本人有公网 IPv4 的地方上传太慢,上传快的地方没有公网 IPv4

    出于方便接受方的考虑,楼主暂时在考虑七牛云( 0.26 元 /GB )
    下载一次的流量费用还可以接受,但万一被反复下载还是有“破产”风险

    另外还发现了奶牛快传这样的服务,感觉会员的价格有点偏贵

    想了解市面上对于这类需求是否存在一个更好的方案?

    第 1 条附言  ·  2022-02-10 18:14:52 +08:00
    看到很多人收藏,发现本帖在某种程度上已经变成大文件分享方案的综述了

    建议大家给对自己验证有用的楼层点“感谢回复者”,希望可以方便后人选择
    129 条回复    2024-02-07 09:26:17 +08:00
    1  2  
    wazon
        101
    wazon  
    OP
       2022-02-11 01:16:50 +08:00
    @angelshq 同一文件分享给两个人,我理解为两次分享。三大运营商的网络环境各异,晚高峰多个位置都拉跨也是很有可能的,除非有特殊线路。既然会放测试页面,那就期待到时候的表现。
    wazon
        102
    wazon  
    OP
       2022-02-11 01:28:28 +08:00
    @hbtech 在浏览器里拼接或者校验的脚本有开源的么
    wazon
        103
    wazon  
    OP
       2022-02-11 01:30:06 +08:00
    @hbtech 还有如果用户的系统盘太小会不会拼接失败?( https://web.dev/storage-for-the-web/#how-much
    documentzhangx66
        104
    documentzhangx66  
       2022-02-11 01:33:59 +08:00
    @wazon 你觉得你没碰到过,也许是你早就碰到过了,只是没验证,所以根本就不清楚是否发生了。

    反正以前我用 QQ 邮箱的文件中转站、百度网盘,都传过超大文件,都发生过前后文件 hash 不一致的问题。

    HTTPS 并不是解决这个问题的方法。

    RAR 格式压缩包的恢复记录能缓解,问题是,这增加了客户取回文件的学习成本、时间成本与经济成本,不符合你的需求。
    hbtech
        105
    hbtech  
       2022-02-11 01:44:27 +08:00
    @wazon #102 这个脚本的来源是从某网站上扒下来的,没有未经混淆的版本,混淆后的可以在 https://github.com/panghaibin/panghaibin/tree/gh-pages/cdrive 下载,将此目录所有文件下载即可

    #103 理论上如果用户的系统盘太小那的确可能失败,或许可以考虑分卷压缩再分开上传,不过这就又变得不方便了
    linzh
        106
    linzh  
       2022-02-11 01:58:50 +08:00
    点对点传输的话国内来说,直接把账号密码给过去是最好的选择。多注册个账号就多注册个呗,反正阿里这些免费又不限速。

    而直接能点击下载的就基本都要比较多的钱了,毕竟国内厂商普遍还是希望把用户流量绑到自己手上,不给别家做嫁妆。

    不考虑对象存储了,反正哪家都一样。云盘大致可以分为两类:国内云盘和国外云盘

    方便起见,国外云盘肯定是要直接能下载的,有
    OneDrive for business:有免费羊毛薅,速度一般特别是高峰期
    iCloud:免费 5G ,速度比 Onedrive 快,注意即使是云上贵州的通过 URL 分享也走的是境外网络,估计有审查的原因在,国内手机云盘就没有能分享的。而且云上贵州版有时还会抽风会下不下来,建议用国际区的号分享。

    国内:
    世纪互联,收费
    奶牛快传和文叔叔,收费

    反正基本上国内挺多都加钱可及的,只不过这类云盘也就下载不用登录一个优点了,其他方面都很 emmmm

    另外大文件下载很容易出错的,不论哪种方法都还是建议分卷压缩+添加恢复记录。除非快递
    wazon
        107
    wazon  
    OP
       2022-02-11 02:22:18 +08:00
    @documentzhangx66
    我在主帖中没有对数据一致性专门提出要求。不过某些情况下这确实可能成为问题,那也可以讨论一下

    网盘类的 hash 不一致是哪个环节出的问题不知道是否有研究?例如上传坏了,那 s3 上传有校验。如果云端存储坏了,那对象存储可有冗余。如果是客户端 P2P 分块组合坏了,那对象存储可以一路顺序下到底。如果确认是云端到用户 HTTPS 传输的问题,那出问题概率经验才比较好类推。

    你提出的方案:
    1.买一个超大带宽的服务器。
    服务器下载也可能出现不一致,相比对象存储有何优势?

    2.请程序员,帮你专门定制一款,一键下载 + 下载完自动验证 hash 的程序。
    我的需求是分享压缩包,隐含了对方已经有解压软件的条件。如果没有,那为了校验就要引入新的可执行文件。考虑到 RAR 有自解压程序,相比该方案,未见得有更高的学习成本、时间成本与经济成本。
    Marionic0723
        108
    Marionic0723  
       2022-02-11 09:19:34 +08:00
    @fastcache NAT444 也不一定不能打通吧,之前我家里宽带没公网( 100.74 开头),用 NAT 类型测试一样能测出全锥形 nat1 ,把路由器 upnp 开了就行,有一部分环境的对称型 nat4 就是路由器没设置好,以及光猫拨号,运营商就算是给的 NAT2 ,也会被活活加成 4
    维基百科上说“电信级 NAT 通常会阻止 ISP 客户使用端口映射”,我用的是电信,估计 IP 不缺,没公网的是两个人共用 1 个 IP ,运气好没被影响,移动宽带估计就不行了。
    ungrown
        109
    ungrown  
       2022-02-11 10:11:28 +08:00
    @wazon #107
    我还是要再啰嗦一次。

    还不行的话那就还是回到 wetransfer 、文叔叔之类的文件中转服务上,反正都支持匿名,找几个国内速度够快的就行。(奶牛快传现在必须得注册才能用了,不够方便,所以略过)。
    虽然单词中转分享的数据量只有 1 、2GB ,但是可以分卷啊,一个脚本的事情。上传下载也不用手动点网页,GitHub 上有个叫 transfer 的项目,命令行工具,支持多个这类服务的上传下载,wetransfer 、文叔叔也在支持列表上。
    写个脚本,这头把 40GB 分卷,然后上传到中转服务,把获取的链接保存到一个文本文件,然后把它发给对方,对方用另一个脚本把这些链接的分卷全部下载,然后本地拼接、解压缩。完事。

    这个方法不是挺好的么,我自己就在用类似的流程,只不过我的数据少还没必要分卷。
    你选这个方案,只要写两个稍微有一点点复杂的脚本就行,也不一定是脚本,反正拿你熟悉的语言写个小工具,撑死了 100 行左右的代码,然后就能愉快地使用了,根本不需要什么对象存储、CDN 、开设服务器之类的多余操作。
    cooljiang
        110
    cooljiang  
       2022-02-11 10:35:36 +08:00 via Android
    1.文件分卷压缩,放到阿里云盘
    2.注册阿里云国际站,套 cloudflare (带宽联盟,免流量费,只需要付出存储费用)
    wazon
        111
    wazon  
    OP
       2022-02-11 13:12:46 +08:00
    顺便一提,一键下载 + 下载完自动验证 hash 的程序也不复杂
    比如 PowerShell 可以这么写:

    $source = "https://wa-us-ping.vultr.com/vultr.com.100MB.bin"
    $destination = "100MB.bin"
    $CorrectMD5 = "2F282B84E7E608D5852449ED940BFC51"
    Start-BitsTransfer -Source $source -Destination $destination
    if((Get-FileHash $destination -Algorithm MD5).hash -ne $CorrectMD5)
    {"校验失败"}
    else
    {"校验无误"}
    pause

    当然报错后的处理还可以进一步完善。

    @hbtech 我之前说用命令行不方便,但受 @documentzhangx66 的启发,意识到直接发 bat 或者 ps1 让接收者打开其实也具有可行性,更不用说还可以进一步打包成可执行文件。虽然依旧比不上在浏览器直接下载,但也算是相对接近了。(暂时还没找到在浏览器就能完成下载后校验的现成方案)
    brMu
        112
    brMu  
       2022-02-11 13:44:02 +08:00
    还有就是阿里云盘自建 list 列表,对方用浏览器打开网址就能下载,不用登录,这要是还嫌麻烦就只能寄 U 盘了
    wazon
        113
    wazon  
    OP
       2022-02-11 14:52:15 +08:00
    @ungrown 不好意思,因为方案多,你提的刚刚才来得及尝试
    Wetransfer 是国外服务,我这里白天速度大约是 400KB/s
    文叔叔注册上传有总空间、每日分享流量限制,匿名上传似乎可以开多个无痕窗口绕过。注册下载用对方的流量,匿名下载需要花钱买流量券。但看文档,普通用户下载大文件的频率有限制( https://www.wenshushu.cn/help )。对于 40GB 多一点的文件,至少要拆分成 9 个分卷,需要四个多小时。而且可能需要接收方多次等待系统赠送下载次数后再下载。
    omghell
        114
    omghell  
       2022-02-11 15:39:13 +08:00
    试试看 阿里云 OSS
    xuelu520
        115
    xuelu520  
       2022-02-11 16:34:36 +08:00
    1:各大网盘,这个你得买 VIP ,不然下载速度上不去。
    2:自搭远程文件服务器或 OSS ,你需要熟悉搭建流程和告知上传和下载的流程。
    3:顺丰快递 U 盘,(推荐这个)。毕竟你上传一个 40G 的文件也要上传好久。
    libaokai
        116
    libaokai  
       2022-02-11 16:53:20 +08:00 via Android
    推荐个 hfs 软件 可以用 http 方式下载
    wazon
        117
    wazon  
    OP
       2022-02-11 18:57:05 +08:00
    刚刚发现群晖在公网打不通的情况下会自动切换到中继( xxx.cn3.quickconnect.cn ),这个转发是在境内的,速度可以达到 5MB/s
    jasongwqv
        118
    jasongwqv  
       2022-02-11 20:38:14 +08:00 via Android   ❤️ 1
    https://www.dreamlink.cloud
    用 ipfs ,纯浏览器,不需要额外软件
    makusuofute
        119
    makusuofute  
       2022-02-11 23:35:21 +08:00
    自己做种子给到迅雷离线 转成标准下载链接就完了。
    hbtech
        120
    hbtech  
       2022-02-14 19:51:23 +08:00
    @ruixue #2 这个网站目前因测速的人太多触发 rate limit ,暂时下线了

    ![Snipaste_2022-02-14_19-42-46.jpg]( https://s2.loli.net/2022/02/14/W4MoQZmDLS6NRac.jpg)

    毕竟是公益服务,世纪互联的 API 调用也是有限制的
    hbtech
        121
    hbtech  
       2022-02-14 19:57:59 +08:00
    ruixue
        122
    ruixue  
       2022-02-14 21:38:41 +08:00
    @hbtech 额,没想到会这样,V2 不能自行删帖,我试着联系一下站长看看能不能把#2 的链接隐藏一下吧 @Livid ,谢谢了
    ungrown
        123
    ungrown  
       2022-02-15 13:03:38 +08:00
    @wazon #113
    文叔叔我也不用,抱歉拿它当了例子。
    wetransfer 我这儿直连速度能到 MB/s ,用 transfer 命令行工具可以多开上传任务,所以并行速度能成倍提升。
    Superhackme
        124
    Superhackme  
       2022-02-16 15:16:40 +08:00
    我觉得无脑 OneDrive Business 即可
    自己注册一个 E5 管理
    分配一个账户
    文件直接上传 ( 250GB 以内单文件直接上传)
    对方下载直接用 IDM
    基本跑满带宽 家用 1000M 速度 120M 每秒+ 最慢也有 5M+的速度
    低成本并且低难度
    ruixue
        125
    ruixue  
       2022-02-16 23:35:27 +08:00   ❤️ 1
    @hbtech 已和#2 链接的维护者取得联系,流量过大的情况目前看来应该不会持续太长时间,过一段时间应该就能恢复了
    ruixue
        126
    ruixue  
       2022-02-16 23:38:01 +08:00   ❤️ 1
    @ruixue 转发一下他对这个问题的看法

    > 小麦云链本质上是世纪互联 API 套皮,不知道他们是怎么赚回成本的。世纪互联的优势在于国内外访问都很快(国外走 Azure CDN )。如果需要较大文件长时间保存并分享,SharePoint 含 OneDrive (国际)与世纪互联(国内)都是比较好的选择,价格高于国内其他企业网盘产品,但各项 API 都比较成熟好用。国内不少企业网盘都可以做到自己分享,下载的人免登录。不大的空间循环利用,也能达到发帖人的需求。
    > 再者就是免费的解决方案,其他回帖也提到了很多。奶牛被过度使用,现在已经要求上传者登录;文叔叔借下载券方式收费,小文件免费,大文件有时需要登录 /收取小额下载费用,也不满足发帖人的需求。国外的临时网盘符合发帖者需求,但不能保证国内访问的稳定性。以上优缺点还需自己取舍。
    > 巨大的文件不适合整个传输给别人,最好是分割成若干个大小合适的分卷,并且提供每一个分卷的哈希,以免一次传错、全盘重下。

    希望有所助益
    Gitss
        127
    Gitss  
       2022-02-17 08:59:39 +08:00 via Android
    按需下载 resilio 国内速度微力同步,只要同步的人数的够多 10 人以上基本上能跑满宽带。国内我测试的时候 resilio 速度断断续续的,微力能跑满,可能原因是协议原因不一样 运营商限制了 bt 协议流量。而且微力国内有中继。
    woc
        128
    woc  
       291 天前
    可以试试 https://woc.space
    woc
        129
    woc  
       291 天前
    @duke807 我就是奶牛创始人,确实没办法,必须要注册,我做了一个新的,https://woc.space
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2887 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:03 · PVG 17:03 · LAX 01:03 · JFK 04:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.