AMule

来自Ubuntu中文
Cat650留言 | 贡献2011年7月2日 (六) 11:34的版本 →‎网络kad
跳到导航跳到搜索

联系我:一般还是使用站内短信通知比较快。 [1]

cat650@163.com

aMule简介

aMule是基于wxWidget的跨平台(官方的说法是all-platform,全平台)ed2k/kad客户端,和Windows下的eMule类似,容易上手。

相关链接:

安装

安装有两种选择。一是安装Ubuntu软件仓库里的amule,一是编译安装amule-dlp。

鉴于中国的ed2k/kad网络环境,这里还是建议大家编译amule-dlp。常有人反映aMule的下载速度不如eMule,其实就是因为没有DLP

从Ubuntu软件仓库安装

简单安装(好处在于卸载时比较干净)

sudo apt-get install amule

完整安装

sudo apt-get install amule amule-daemon amule-utils amule-gnome-support

编译安装amule-dlp

首先到aMule官网下载aMule-2.2.6的源代码

wget http://www.amule.org/files/download.php?file=189

DLP的项目页下载最新的amule-dlp源代码补丁。目前最新的是[2]

wget http://forum.ubuntu.org.cn/download/file.php?id=95575

解压源代码,并应用DLP补丁

tar -xf aMule-2.2.6.tar.bz2
gunzip aMule-2.2.6-DLP3904-BillEnh03.patch.gz
cd aMule-2.2.6/
patch -p0 < ../aMule-2.2.6-DLP3904-BillEnh03.patch

安装编译环境,满足依赖关系

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

配置源代码

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

如果没有出现错误,可以继续下一步

编译

make

编译需要较长时间。如果用的是双核的CPU,可以用make -j2来充分利用两个核心。

安装

sudo make install

如果以后需要卸载,就是

cd aMule-2.2.6/
sudo make uninstall

配置

安装完成后,aMule需要进行配置才能很好地工作。

移植eMule的配置

可以直接从eMule的config目录复制过来的文件有

addresses.dat、clients.met、cryptkey.dat、emfriends.met、key_index.dat、known.met、known2.met、preferences.dat、server.met 

其他的不要乱复制。

直接把以上文件复制到~/.aMule目录。若目录不存在,先创建。

这些文件移植后可以保持Credit System的积分。

运行aMule,aMule的启动器位于主菜单的“Internet” - “aMule”

设置

点击工具栏上的“设置”,弹出“设置”窗口。

  1. “常规”选项卡
    • “昵称”可以自己定一个。这里不推荐添加[VeryCD]标签。余下的可以根据自己的需要配置。
  2. “连接”选项卡
    1. “带宽限制”可根据自己的网络设定。“上传”宜设置为( 上传带宽 - 下载带宽 * 0.2 ),“下载”宜设置为 ( 下载带宽 - 上传带宽 * 0.2 )。
    2. TCP端口、UDP端口最好不要用默认的,可以随便填个1025到65536的整数,当然,不能和其他服务的端口冲突。
    3. UPnP:如果没有NAT网关,就不要使用此选项。
    4. 除了UPnP,其他几个复选框都可以打上,连接限制就不要改了
  3. “目录”选项卡
    • 注意临时目录和传入目录要放在同一个分区。
  4. “服务器”选项卡
    • 选上“启用优先级系统”、“连接时启用只能低ID检测”、“安全连接”、“只自动连接到静态服务器列表里的服务器(如果没有手动添加服务器则不要选这项,否则无法自动连接服务器,因为默认服务器都是动态的)”、“设置用户输入的服务器为高优先级”。
    • 其他选项全部不选
  5. “文件”选项卡
    • 没什么好说的
  6. “安全”选项卡
    • “为传出的连接使用模糊协议”和“安全用户验证”一定要选
  7. “接口”、“统计”、“代理”、“过滤”选项卡
    • 没什么好说
  8. “远程控制”选项卡
    • 选上“接受远程连接”,并指定一个密码。同时,“监听IP”设置为127.0.0.1,端口不要改。这些设置是用来方便控制amuled(即守护进程)
  9. “在线统计”和“高级”选项卡
    • 不必修改
  10. “事件”选项卡
    1. 这里要较多配置,才能实现下载完弹出提示。首先在终端执行sudo apt-get install libnotify-bin。
    2. “事件类型” - “下载已完成”,勾上那两个复选框。在两个输入框输入 notify-send -i 'amule' aMule 下载完成:%NAME
  11. 好了,现在点“确认”。

网络kad

默认安装后,kad网络大多失效,处于无法连接状态。这里推荐一个kad

http://upd.emule-security.org/nodes.dat

在“网络”,“kad”中进行替换。

如果这个失效,请访问这个地址查看最新的kad

http://emulefans.com/emule-kad-node-dat/

网络eD2k

服务器列表

大家要把前面的多于的地址去掉,正常的地址应该为

http://ed2k.im/server.met


Firefox中启动aMule

firefox下about:config

  • 新建一个Boolean,名字为 network.protocol-handler.external.ed2k,值为true
  • 新建一个String,名字为 network.protocol-handler.app.ed2k,在我的系统中,值为/usr/bin/ed2k。也许在你的系统中就是/usr/bin/ed2k.amule或者 ed2k.amule了,视情况!
    前两个步骤一样,重点是接下来...
  • 安装"amule-utils"套件,因为要用到其中的/usr/bin/ed2k程式,接着点选ed2k的连结,如果跑出询问关联的视窗,记住不要使用默认的,点选其他程式,照着路径/usr/bin/ed2k找出ed2k的程式来使用.

注意:设置完后记得重启firefox生效。下载时,在firefox中点了链接后只是将下载链接加到下载列表里,并不会自动打开amule,需要手动打开才开始下载。


感谢tjy同学,来源forum.ubuntu.org.cn/viewtopic.php


使用

让amule搜索资源

你是否知道,除了在

www.verycd.com

这个国内建的ed2k服务器上查找资源外,你还能直接在电骡中查找资源。

电骡在设计之初便是作为一种文件共享工具存在,但是国内软件业把它引入后就开始“阉割”

迅雷、旋风, NetTransport, Vagaa, TuoTu等,以自身发展目的限制或删除了这项功能。

抱怨到此为止,我们开始收拾技巧讲解:

在电驴网络(eDonkey 2000 Network,简称eD2k)上,所有用户共享的资源信息,包括文件名,文件Hash值等都被索引到eD2k服务器上,用户可以在eD2k服务器上查找自己需要的资源,我们通常称为eD2k搜索。在eMule(电骡)等客户端中搜索方式选择“全局(服务器)”或“服务器”,这两种方法都是在进行eD2k搜索。

但是有很多时候,我们会发现搜索中文所命名的资源的时候结果往往很少,这和搜索的原理有关。中文的组成方式不像英文等字母语言那样,是用空格隔开的一个个单词,所以例如那些我们熟知的网页搜索引擎在索引中文网页时,都需要对内容进行分词处理,中文分词技术属于自然语言处理技术范畴,也是一个非常复杂的研究领域,这已经不是目前常用的eD2k服务器端软件所能处理的。

电驴服务器搜索原理

现在我们来看目前最常用的电驴服务器(eDonkey server)端软件lugdunum eServer处理eD2k搜索的原理,由于电驴官方服务器端dServer年代久远,并且已经没有再被使用所以不再讨论。

eServer在处理搜索的时候有两种形式:关键词搜索和字符串搜索。

  • 关键词搜索(keyword search):即在文件名中寻找包含了此单词的文件,比如一个单词,“emule”,将会查找所有包含用分隔符所分割出来的独立单词“emule”的文件。
  • 字符串搜索(substring search):准确说是子字符串匹配,将会对文件名进行扫描,找出所有文件名中包含了所给字符串的文件,而不在乎是否是一个独立的单词,后面将说明。

现在我们来看eServer处理搜索时候所规定的特殊符号:

  • 分隔符:空格 . < > { } [ ] - _ 等一些特殊字符,他们都被电驴服务器当作关键词的分隔符进行处理,但是也有例外情况比如版本号,像"1.2.3",将会被视为一个完整的关键词。此外如果你需要强制搜索这些特殊字符则必须使用半角双引号""来进行转义。
  • 起始符(开始符):^ 起始符表示文件名称的开始,比如搜索“^emule”,我们会得到所有以“emule”为文件名开头的文件,例如“emule0.50a.zip”,而不会得到“[soft]emule0.50a.zip”这样的文件。
  • 通配符(万用字元):* 通配符用来代替任意个字符,可以是0个,1个或者多个,进行模糊的查找。值得说明的是电驴服务器不会在意*号的位置是在开头还是结尾,如果使用“*emule”或“emule*”来搜索,电驴服务器将会进行字符串搜索,将会扫描所有文件名中包含“emule”部分的文件,例如“kemule.zip”,“emulek.zip”等。

搜索中文命名文件

所以我们知道了,如果我们搜索“阿凡提”,那么我们只能搜索到那些文件名中使用了分隔符把“阿凡提”三个字分割成一个关键词的文件,比如:“[阿凡提.偷东西的驴].XviD.avi”这样的文件,我们无法找到文件名包含了诸如“聪明的阿凡提”或是“阿凡提的故事”这样的文件。这就是为什么很多人认为eD2k搜索中文不好用的原因。

找到原因了解决办法就很简单,

  • 一种方法是多用几种常见的名称叫法来搜索,比如分别使用“阿凡提”,“聪明的阿凡提”,“阿凡提的故事”来搜索三次。
  • 二是可以让电驴服务器来进行一次字符串搜索,我们可以加上通配符,比如搜索“*阿凡提”,这时候,eServer就会开始逐个寻找那些文件名里包含了“阿凡提”三个字的文件,好了,现在看看这次是不是搜索结果变多了!

电驴服务器搜索

此方法适合于所有使用了非单词组成的语言,中文,日文等命名的文件。

最后特别需要提醒的是进行字符串搜索会极大消耗电驴服务器的资源,而且会比进行关键词搜索慢很多,而且电驴服务器会在未完成搜索达到一定阈值的时候取消这次搜索,所以在可能的情况下,请尽量使用关键词搜索方式,而不要使用通配符,对于资源发布者来说,请尽量在文件命名时候使用分隔符突出资源名称的关键词,这样也能够方便大家。

本文参考了 lugdunummaster在eMule官方论坛讨论主题Light On Searching中的回帖。 台湾网友badcat在eMule EastShare官方论坛的主题帖[教學]eMule 的萬用字元搜尋 「*」方便多國語系搜尋 (2007-11-08 修)。

原文在:善用特殊符号搜索电驴网络中文资源

外部链接

官方站 电骡的大量实用教程