【网盘那点事】 让百度网盘成为垃圾盘!

icy2003 程序 2020-04-28 18:31:10 1990 3条

本文给出一种弄死百度网盘的可行性办法

网盘秒传机制

很多网盘都有秒传功能,原理是对比本地文件和服务器上的 md5(或 sha1 之类的)值,假如发现 md5 相同,则直接在你的网盘空间里创建一个链接,用于指向服务器已存在的该文件,从而达到节省服务器空间成本和上传成本的目的。

本质上网盘只是给了你一个用于指向真实文件的链接,并且扣除你的网盘空间,让人感觉你的文件已经上传。

实际应用

  1. 可以通过上传一个文件是否秒传,知道你的文件是否在服务端有重复的。
  2. 上传一个你创建的私人文件(假设 100MB),由于是你创建的,因此这个世界上不可能有第二个一样的文件,所以上传的时候必定不是秒传,等传到网盘后,删除它,并且从网盘回收站里删除。再次上传,如果是秒传,则证明服务器保存了你的私人文件,如果没有秒传,则表示当最后一个文件链接被删除时,真实的文件也会被删除。
  3. 实测百度网盘会在最后一个文件链接删除时删除真实文件。

创建临时文件

既然百度限制下载速度,但是不限制上传速度,那么我们何不上传一些无意义的辣鸡文件来填满百度网盘,从而让百度网盘的服务器充斥着辣鸡文件呢?昂贵的硬盘维护费用?与我何干?

步骤如下:

  1. 创建无意义的临时文件。
  2. 上传至百度网盘,如果秒传,则放弃上传,如果不是秒传,则上传,并让那个文件永远留着。
  3. 召唤千万网友一起传文件。

windows 上有 fsutil 命令可以快速创建无意义的临时文件:

fsutil file createnew d:a.txt 1024

这样就会创建大小为 1KB 的临时文件 D:/a.txt,打开后会发现是无意义的字符,而且每次生成的内容都是一样的,意味着,同一条命令得到的文件是一样的。

计算过程

由于百度有 4G 上传限制,而我们的临时文件如果要 md5 不同,就需要大小不同,因此 md5 不同的一批文件能够占用的空间为:

56929-uivu55ycrn.png

计算可得为:9223372039002260000 字节,约等于 800 万 TB,假设每人网盘空间贡献 1TB,则需要 800 万勇士的参与(DNF 玩家?)。

按照阿里云的对象存储 OSS 来算:

26186-mzoftbcx05.png

由于百度网盘的文件不可能都是归档型(即几乎不使用),也考虑到百度要节约成本,就取中间数,则可知道这批无意义的临时文件需要让百度网盘承担:

16257-ambv61jihfq.png

即 6 亿/月!

呵呵~百度网盘你敢说不凉?

标签: windows

非特殊说明,本博所有文章均为博主原创。


已有 3 条评论


  1. icy2003
    icy2003 博主 2020-04-28 22:07:38

    fsutil file createnew d:a.txt 1024000002

  2. design
    design 2020-09-05 12:45:45

    开一年百度云会员,真香。你这样做你猜会不会被抓。本质上算得是破坏计算机罪了吧

    1. icy2003
      icy2003 博主 @design 2020-09-08 18:56:16

      其实我已经不用百度网盘了