Mldonkey(mldonkey.sourceforge.net)是一个支持多平台、多协议的p2p下载软件,它支持Linux/Unix/Windows平台,默认支持eDonkey、BitTorrent、FileTP(又称wget)、Fasttrack、Direct Connect协议,其中的FileTP可以下载http、ftp协议的文档。原来支持的Gnutella、Gnutella2、Open Napster、Soulseek、OpenFT现在已经默认放弃支持了。从其支持的协议看,更象是迅雷,而比迅雷更强大。
它的核心是命令行文件,可以通过Web界面、telnet界面、简单Wap界面和GUI界面来操作,刚一上手,多是用GUI界面,而支持mldonkey的GUI界面也有许多,最著名的一个就是Sancho,关于如何使用Sancho,请看zhuqin_83的这个帖子(viewtopic.php?t=42337)。
虽然可以直接下载现成的二进制文件,但我更主张自己编译,性能更好,也更稳定,至少原来我使用下载的二进制文件配合Sancho过程中居然出现了运行中找不到Core了的错误。而编译呢,最新版本莫过于用cvs下载源代码编译的了,这是直接下载的最新源代码。
注:cvs是个版本控制软件,我们只是用它来下载源代码和更新源代码、打补丁。
获取源代码
要想用cvs下载,先得安装它,默认Ubuntu是不安装的:
代码: 全选
sudo apt-get install ssh cvs
代码: 全选
sudo apt-get install autoconf
代码: 全选
cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/mldonkey co mldonkey
进入原来下载的mldonkey目录,从CVS更新:
代码: 全选
cd mldonkey
cvs -q -z3 up -dPA
代码: 全选
cd mldonkey
patch -p0 -E -s <.../your.patch
1、“.../your.patch ”是你的补丁文件的路径含文件名。
2、更新源代码、打补丁后都需要重新编译。
编译准备:
安装基本编译环境:
代码: 全选
sudo apt-get install gcc g++ libc-dev make
代码: 全选
sudo apt-get install zlib1g-dev libbz2-dev libgd2-noxpm-dev libmagic-dev libpthread-stubs0-dev libgtk2.0-dev libiconv-hook-dev librsvg2-dev libclthreads-dev
另外,Install.txt文件中提到还需要两个包ocaml和lablgtk,这既可以通过
代码: 全选
sudo apt-get install ocaml-nox ocaml-native-compilers
如果有网络,也可以通过先安装wget:
代码: 全选
sudo apt-get install wget
配置
前期工作做好了,现在我们准备编译了,建议采用如下参数:
代码: 全选
./configure --enable-batch --enable-pthread-lib
正确配置完,一般最后显示信息如下:
关于编译mldonkey自带的GUI界面,可以通过在configure时加一个参数 --enable-gui=newgui2来实现,编译后会在mldonkey目录中出现一个ml**gui(具体文件名记不清了)的文件,不过还是不推荐,自带的Gui比较简陋,也无法设置参数,还是使用Sancho的好,还有zhuqin_83做的中文界面呢。……
Building dependencies (if it blocks, try 'make depend' to see the problem)
Configuring MLDonkey 2.9.2.CVS - SCM: 2007-10-26 22:03:29 completed.
Network modules:
- eDonkey enabled (eMule SUI enabled)
- BitTorrent enabled
- FileTP (aka wget) enabled
- Fasttrack enabled
- Gnutella disabled - unmaintained
- Gnutella2 disabled - unmaintained
- Direct Connect enabled
- Open Napster disabled - currently not usable
- Soulseek disabled - currently not usable
- OpenFT disabled - currently not usable
Core features:
- zlib (required) enabled
- threads enabled
- bzip2 enabled
- iconv enabled
- libmagic enabled
- graphical stats enabled
- png support enabled
- jpg support enabled
Compilers:
- Ocaml version 3.10.0
- gcc version 4.1.3
- g++ version 4.1.3
Now execute 'make' to start compiling. Good luck!
To compile a static code execute: make mlnet.static
To produce a release tarball execute: make release.mlnet.static
To clean the build directory execute: make maintainerclean
Compiling CryptoPP.cc can take several minutes, on slow machines up to half an hour.
编译
然后,
代码: 全选
make
运行时可以在其所在目录输入命令
代码: 全选
./mlnet
就表明已经成功运行了。[dMain] Core started
要退出,只需要简单地按Ctrl+C中断这条命令就可以了。
以后如果不想每次都进入这个目录再执行./mlnet,可以将mlnet文件拷贝到系统路径如/usr/bin中:
代码: 全选
sudo cp mlnet /usr/bin
关联
在Firefox中还需要将ed2k协议与mlnet相关联,否则它不知道如何处理,也就是当你点击ed2k的链接时没有反应。
一方面,我们可以手动添加,具体请参考zhuqin_83的帖子,另一方面,我们也可以使用编译时产生的工具,当然我们得再编译一下:
在mldonkey源代码目录下,执行:
代码: 全选
make utils