作者:greensea
原文:gsea.com.cn与cnbeta.com
该文使用CC-by-nc-sa 2.5 cn进行许可。
更多帖子参见forum.ubuntu.org.cn上的:这里和这里
googlecode上的libantixunlei项目。
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支持的源码补丁 v3904
GoogleCode上的libantixunlei反迅雷项目页:
http://code.google.com/p/libantixunlei/
11条评论隐藏
尽管可能存在不完善的地方,不过能制作出来已经很不错
牛人,支持一个 😀
在中国,Linux和mac用户终于有能用的电驴了,。。。
感动
IED2K和中國驢都訪問不了了。。。。
@fdhh
ieD2k因为换服务器所以暂时不能访问,不过现在似乎OK了
中国驴是机房的问题,估计也很快会解决
这个是个大好消息阿…….可惜我现在不能P2P…天天只能上上网页了….
几天不来,又有新鲜重磅好消息啊。
希望AMULE越来越好,能够提供更多的扩展接口! 😀
有编译好的mac版的吗?
我不会编译啊……
有没有编译好的for mss的版本?
@歪歪儿
您不是自己编译了一个吗。。。这里 真是卧虎藏龙
支持DLP的aMule截图 图挂了……
Compiling RemoteConnect.cpp
ECMuleSocket.cpp: In member function ‘virtual int CECMuleSocket::InternalGetLastError()’:
ECMuleSocket.cpp:136:8: error: ‘wxSOCKET_DUMMY’ was not declared in this scope
case wxSOCKET_DUMMY:
^
make[7]: *** [ECMuleSocket.o] Error 1
make[7]: *** Waiting for unfinished jobs….
make[6]: *** [all] Error 2
make[5]: *** [all-recursive] Error 1
make[4]: *** [all] Error 2
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
… 为嘛会有”未声明”错误orz… 😥