作者: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… 😥