无名阁

美好的生活需要用心记录

编译可加载动态DLP反吸血库的aMule-dlp

2011-10-7 笑看风云 linux知识

此文我是参考amule-dlp官方wiki和提问得到解答总结而得,浅显易懂,适合菜鸟使用,同时也给自己做一个备份。

amule-dlp项目主页:http://code.google.com/p/amule-dlp/(向项目组致敬)

准备工作:

安装分布式软件配置管理工具:
sudo apt-get install mercurial

安装依赖:
sudo apt-get install g++ binutils-dev libcrypto++-dev libgtk2.0-dev libgd2-xpm-dev libgeoip-dev libupnp3-dev zlib1g-dev libwxbase2.8-dev libwxgtk2.8-dev bison autoconf libtool

开始:
取出 amule-dlp 代码
由于是开发中的版本,动态加载的 amule-dlp 必须从版本库中取出。

hg clone https://amule-dlp.googlecode.com/hg/ amule-dlp

这样,您就在 amule-dlp 目录下获得了一个版本库的克隆。接下来您需要进入版本库目录。

cd amule-dlp

如果您已经有一个 amule-dlp 版本库的克隆,您可以在您的版本库目录中执行以下命令获取更新:

hg pull

接下来从版本库中检出 develop 分支。

hg update develop

编译amule-dlp:
首先cd到amule-dlp文件夹然后配置源代码
但由于 develop 是开发中的分支,我们强烈建议您在编译时打开调试功能。在配置源代码是推荐使用以下配置:

./configure --prefix=/usr/local --enable-debug --disable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-daemon --enable-amulecmd --disable-webserver --enable-alcc --enable-alc --enable-cas --enable-wxcas --enable-mmap

您可以根据需要修改这些配置。例如:

如果您不需要 uPnP 支持,可以把 --enable-upnp 改为 --disable-upnp
如果您需要 WebServer 支持,请把 --disable-webserver 改为 --enable-webserver

编译

make

如果您的计算机配置 双核 CPU, 那么您可以使用以下命令来充分利用 CPU 的运算能力。

make -j2

编译需要较长时间,所需时间因计算机的运算能力的不同而有差异。
安装

您需要 root 才能进行本步骤。

sudo make install

2. 编译安装antiLeech
取出 antiLeech 代码

antiLeech 代码同样需要从版本库取出。

hg clone http://antileech.amule-dlp.googlecode.com/hg amule-dlp-antileech

进入antileech代码目录。

cd amule-dlp-antileech

首先生成配置代码:

./autogen.sh

然后对源代码进行配置:

./configure

执行编译:

make

安装:

sudo make install

编译安装过程就这样结束了。
使用 amule-dlp
运行 aMule, 如果在主日志中会出现"Succeed loading antiLeech", 则说明动态加载的 amule-dlp 已经正常工作了。
在 aMule 的运行中,您可以按以下步骤动态地更换 antiLeech.
动态替换 antiLeech
首先把原来的 antiLeech.so 从安装位置删除或移除。然后把新的 antiLeech.so 复制到安装位置。当然,我们推荐您使用 sudo make uninstall 和 sudo make install 来完成这一过程。
警告:不要直接用新的 antiLeech.so 覆盖旧的版本,这样将会造成 amule-dlp 崩溃。
Warning: NEVER overwrite antiLeech.so with a newer version. It will cause amule-dlp to crash.
接下来将要让 amule-dlp 重新加载 antiLeech. 您可以通过 amule 的 DLP 设置对话框重新加载 antiLeech, 亦可使用 amulecmd 通过远程控制加载 antiLeech.
下面将详细介绍两种方法。
在 aMule 中

点击“设置”,进入 "DLP" 选项卡,点击“重新加载 antiLeech ”按钮。 amule-dlp 会弹出一个对话框来说明 antiLeech 是否成功加载。
通过 amulecmd 远程控制

首先确保您可以使用 amulecmd 连接上 amule 或 amuled. 在 amulecmd$ 提示符下执行以下命令:

reload antileech

如果成功加载了 antiLeech, amulecmd 会提示操作成功;否则 amulecmd 提示出现未知错误。要在出错时确定出错原因,请在 amulecmd$ 提示符使用以下命令查看 amule-dlp 的日志。

标签: amule

et_highlighter51

发表评论: