BitComet(比特彗星)的padding(累赘)文件让您出离愤怒了吗?
为BitComet的垃圾padding文件而出离愤怒的人所写的Q&A。
本篇将教您如何“劝说”BitComet(比特彗星)0.85或以上版本的用户放弃使用『文件按分块大小对齐』的垃圾功能。
(本文所称的BitComet表示0.85或以上版本)
BitComet引入了一个叫做『文件按分块大小对齐』的功能,该功能只会浪费我们宝贵的上传带宽和磁盘空间而已。
那么究竟什么是padding(累赘)文件?我们能不能忽略它们?它们对我们的网络和硬盘带来了怎样的影响?以及改我们如何应对呢?
且听我细细道来。
1、什么是“分块”?
一个torrent资源,通常包含多个可供下载的文件,这些文件的数据被视为一个连续的整体,并且被等分为许多数据分块,每个数据块的大小就是用户在制作torrent时所选择的分块大小。
torrent制作工具为每个分块计算散列,并将计算结果保存到torrent文件中。torrent客户端每下载一个分块,就会计算它的散列,并与torrent文件中的值做比较,相同的话就表明该分块正确无误。
2、BitComet产生的padding文件究竟是怎么来的?
用BitComet制作torrent时,会看到一个叫做『文件按分块大小对齐』的功能。使用该功能时,BitComet会为每个文件添加累赘,使得每个文件与其累赘加起来正好能被分成整数个分块。几乎每个文件都会附加一个累赘。
3、非BitComet用户可以忽略那些padding文件吗?
不可能!很可惜,即使用户在打开torrent时,选择不下载那些累赘文件,你的客户端还是会下载那些累赘文件的。
如前所述,散列的计算是以分块为单位的,因为每个文件的最后一个分块包含了附加的累赘,又注意到对一个不完整的分块是无法进行校验的,所以不论你做,非BitComet客户端还是会下载那些累赘的。
4、为什么BitComet不需要下载padding文件?
因为BitComet知道产生累赘的算法,因此它不需要下载,而是直接计算出累赘,从而节省其用户的下载带宽,并在BitComet用户之间节省上传带宽。但是,这对非BitComet用户是极其不公平的!
5、其他BT客户端会支持这种padding文件,不去下载它们吗?
不太可能。BitComet加入累赘文件,目的是为了方便HTTP/FTP混合下载,而并非为了BT下载功能。反而很不幸地,这些累赘只会对BT网络带来损害——增加torrent文件的大小、浪费网络带宽和磁盘空间、增加非BitComet用户文件管理上的负担。其实,这项功能对于非BitComet用户而言就是垃圾产生器。
6、我们这些非BitComet用户有没有办法反击?或者说能不能“劝说”BitComet用户放弃使用『文件按分块大小对齐』,就如同那些padding劝说大家使用BitComet一样?
能!我们有办法!实际上,BitComet的累赘避免机制是有缺陷、有安全漏洞的——有道是聪明反被聪明误,不公平的行径最终还是会付出代价的!
大家看仔细了:
首先,创建一个文本文档,在里面写一些信息,然后重命名为“_____padding_file_0_[注释]____”([注释]可以是任何你想说的话),要注意没有.txt后缀名。最后,在您制作torrent的时候,记得包含该文件就行了。
同时,请在torrent发布页或者torrent的注释中明确指出:“请勿使用BitComet0.85或以上版本下载,否则后果自负!”。
我通常采用类似“_____padding_file_0_请建议身边的人停止使用BitComet0.85或以上版本中的[文件安分块大小对齐],请将此文件包含在您的torrent中____”的文件名,并在其中包含更详细的建议。
7、这种做法是如何其作用的?
这种做法是基于这样一个事实:BitComet会忽略我们创建的文档,它会将其当作累赘,而不会下载(极不公平!)。
因为我们创建的文档的内容不太可能和BitComet产生的累赘的内容相同,而BitComet又铁定不会获取该文件,于是它永远也无法通过校验、永远也无法完成下载。尽管对于BitComet用户而言,数据的完整性几乎不会受到影响,但这是我们发出的一个警告!
8、这样做合法吗?
当然合法!我们制作的torrent文件在格式上完全合法,完全可以下载。只要BT客户端不忽略任何数据(本来就不应该忽略任何数据),那么就一定能够下载完成。BitComet因为自己的bug,永远无法下载完成,那也是它自己的问题,需要它自己去修正。
9、为什么我会写这篇技术文章?
我和很多朋友都不是BitComet的用户,而很多用户仍然坚持使用低版本的BitComet。但是,我们看到了越来越多的torrent里包含了无数的累赘,这让我们非常恼火——删了吧,无法通过校验、也无法做种,而删不删都会出现极大的浪费(特别是珍贵的上传带宽)。有人抱怨17GB的画册中竟然出现了大于500M的累赘。我在BitComet官方论坛也提了建议,可惜没有得到任何答复。真是太可恶了!不尊重我们非BitComet用户,那也别想得到我们的尊重!我们受够了BitComet的流氓行径!我们决定反击!
[ 本帖最后由 Fuzzier 于 2007-8-18 18:24 编辑 ]