- eMule Fans 电骡爱好者 - https://www.emulefans.com -

让aMule For Linux支持DLP的源码补丁 v3903

作者:greensea [1]
原文:gsea.com.cn [2]cnbeta.com [3]
该文使用CC-by-nc-sa 2.5 cn [4]进行许可。
更多帖子参见forum.ubuntu.org.cn上的:这里 [5]这里 [6]
googlecode上的libantixunlei项目 [7]

Linux下一直没有能支持DLP的电驴客户端,为了避免被吸血,一直以来只好使用wine来运行Windows下支持DLP的电驴客户端,或者是忍受被吸血的痛苦。现在广大Linux用户可以不在为被吸血而头疼了,aMule的DLP源码补丁可以让aMule支持反吸血。不过稍显麻烦的是,aMule没有提供接口,所以DLP是直接编译到aMule里面去的,也就是说想要让aMule用上DLP的话,还得重新编译aMule。目前aMule的源码补丁使用的是官方的DLP39版本。

aMule没有提供接口的功能,于是就直接修改其源码将DLP编译进去。但是这样做会导致DLP升级困难啊……不管了,这种事情以后再说,反正也不是什么难事,我已经把DLP中的几个函数统一成一个函数了,不过这样也就不支持自定义需要屏蔽的对象了。

DLP39版本,从源码中看到,Xunlei和TUOTU已在其列,但似乎没有发现某哇嘎嘎,记得其特征应该是eMule 0.47c和3-5长度的随机用户名,可能对哇嘎嘎的判断写在那个逻辑比较复杂的我没有仔细看的函数里面了。

DLP源码是满眼的MFC数据类型,为了能在Linux下编译出DLP,我把数据类型都定义成了Linux下面的等同的数据类型,并找了一个CString类库,还修改了DLP源码的部分地方,才总算成功地在Linux下把DLP编译出来。

接下来是补丁地址,最后是效果截图,第二图重点看右边靠下的蓝字。(注:以下aMule版本均为最新的2.2.6 For Linux,DLP版本为v39官方版,补丁版本为v3903)

aMule (Linux) DLP支持的源码补丁 [8]

已经打上DLP支持补丁的源码 [9]

更新:
aMule (Linux) DLP支持的源码补丁 v3904 [10]

GoogleCode上的libantixunlei反迅雷项目页:
http://code.google.com/p/libantixunlei/ [7]

支持DLP的aMule截图 [11]

支持DLP的aMule截图 [12]