查看“AMule”的源代码
来自Ubuntu中文
←
AMule
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
联系我:一般还是使用站内短信通知比较快。 [http://forum.ubuntu.org.cn/ucp.php?i=pm&mode=compose&u=171468] cat650@163.com ==aMule简介== aMule是基于wxWidget的跨平台(官方的说法是all-platform,全平台)ed2k/kad客户端,和Windows下的eMule类似,容易上手。 相关链接: *[http://www.amule.org/ aMule官网] *[http://forum.ubuntu.org.cn/viewtopic.php?f=73&t=232845 论坛中的DLP维护帖] *[http://code.google.com/p/amule-dlp/ DLP的项目页] *[http://emulefans.com/ 可以在这里找到许多技术参数] ==安装== 安装有两种选择。一是安装Ubuntu软件仓库里的amule,一是编译安装amule-dlp。 鉴于中国的ed2k/kad网络环境,这里还是建议大家编译amule-dlp。常有人反映aMule的下载速度不如eMule,其实就是因为没有DLP ===从Ubuntu软件仓库安装=== 简单安装(好处在于卸载时比较干净) sudo apt-get install amule 完整安装 <pre>sudo apt-get install amule amule-daemon amule-utils amule-gnome-support</pre> ===编译安装amule-dlp=== DLP是什么?它是一个屏蔽吸血骡插件。 *我们从电骡网络下载东西,依靠的是别人的上传。整个网络而言,上传和下载量一定是相等的。 *为了促进网络公平,电骡采用了评分制度。让那些无私上传量最大的用户优先获得下载权力。 *在国内出现了一些变种软件,如迅雷、旋风等“吸血骡”。它们只下载不上传,并且更改评级为最高,抢占下载资源。而认真上传的老实用户,则被它们挤到一边很难获得下载资源,上传也因没有获得资源而受影响。这种吸血行为最终导致网络资源的枯竭。 *国内最麻烦的就是迅雷。它的使用量目前是最大的,最欺骗用户。它使用一个专用的内部网络仅供迅雷用户使用,迅雷用户下载的东西并没有上传给提供者,而是被拦截在这个网络里。渐渐的,迅雷把公共资源变为公司内部资源以此谋取利益(比如vip制度)。 这个插件就是剔除这些流氓软件,禁止它们从你这获得你的上传。使你的爱心上传真正到达那些无私分享者手中。 首先到[http://www.amule.org/ aMule官网]下载aMule-2.2.6的源代码,如果无法下载可在浏览器里面输入wget后面地址下载保存。 <pre>wget http://www.amule.org/files/download.php?file=189</pre> 到[http://code.google.com/p/amule-dlp/ DLP的项目页]下载最新的amule-dlp源代码补丁。目前最新的是[http://amule-dlp.googlecode.com/files/aMule-2.2.6-DLP4101.tar.bz2] <pre>wget http://forum.ubuntu.org.cn/download/file.php?id=95575</pre> '''解压源代码''',并应用DLP补丁 <pre>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</pre> '''安装编译环境''',满足依赖关系 <pre>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 </pre> '''配置源代码''' <pre>./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</pre> 如果没有出现错误,可以继续下一步 '''编译''' <pre>make</pre> 编译需要较长时间。如果用的是双核的CPU,可以用make -j2来充分利用两个核心。 在编译“wxcasframe.cpp”的时候有可能会出现错误,为C++兼容性问题,到该源代码文件中将 wxFont::wxFont 改成 wxFont 即可。 '''安装''' <pre>sudo make install</pre> 如果以后需要卸载,就是 <pre>cd aMule-2.2.6/ sudo make uninstall</pre> ==配置== 安装完成后,aMule需要进行配置才能很好地工作。 ===移植eMule的配置=== 可以直接从eMule的config目录复制过来的文件有 <pre>addresses.dat、clients.met、cryptkey.dat、emfriends.met、key_index.dat、known.met、known2.met、preferences.dat、server.met </pre> 其他的不要乱复制。 直接把以上文件复制到~/.aMule目录。若目录不存在,先创建。 这些文件移植后可以保持Credit System的积分。 运行aMule,aMule的启动器位于主菜单的“Internet” - “aMule” ===设置=== 点击工具栏上的“设置”,弹出“设置”窗口。 #“常规”选项卡 #*“昵称”可以自己定一个。这里不推荐添加''[VeryCD]''标签。余下的可以根据自己的需要配置。 #“连接”选项卡 ##“带宽限制”可根据自己的网络设定。“上传”宜设置为( 上传带宽 - 下载带宽 * 0.2 ),“下载”宜设置为 ( 下载带宽 - 上传带宽 * 0.2 )。 ##TCP端口、UDP端口最好不要用默认的,可以随便填个1025到65536的整数,当然,不能和其他服务的端口冲突。 ##UPnP:如果没有NAT网关(路由器拨号上网属于此类),如直接拨号上网的,就不要使用此选项。开启,可以在内部网络状态下获得高ID。 ##除了UPnP,其他几个复选框都可以打上,连接限制就不要改了 #“目录”选项卡 #*注意临时目录和传入目录要放在同一个分区。 #“服务器”选项卡 #*选上“启用优先级系统”、“连接时启用只能低ID检测”、“安全连接”、“只自动连接到静态服务器列表里的服务器(如果没有手动添加服务器则不要选这项,否则无法自动连接服务器,因为默认服务器都是动态的)”、“设置用户输入的服务器为高优先级”。 #*其他选项全部不选 #“文件”选项卡 #*没什么好说的 #“安全”选项卡 #*“为传出的连接使用模糊协议”和“安全用户验证”一定要选 #“接口”、“统计”、“代理”、“过滤”选项卡 #*没什么好说 #“远程控制”选项卡 #*选上“接受远程连接”,并指定一个密码。同时,“监听IP”设置为127.0.0.1,端口不要改。这些设置是用来方便控制amuled(即守护进程) #“在线统计”和“高级”选项卡 #*不必修改 #“事件”选项卡 ##这里要较多配置,才能实现下载完弹出提示。首先在终端执行sudo apt-get install libnotify-bin。 ##“事件类型” - “下载已完成”,勾上那两个复选框。在两个输入框输入 notify-send -i 'amule' aMule 下载完成:%NAME #好了,现在点“确认”。 ===网络kad=== 默认安装后,kad网络大多失效,处于无法连接状态。这里推荐一个kad http://upd.emule-security.org/nodes.dat 在“网络”,“kad”中进行替换。 如果这个失效,请访问这个地址查看最新的kad http://emulefans.com/emule-kad-node-dat/ ===网络eD2k=== [http://emulefans.com/news/plugin/server-list/ 服务器列表] 大家要把前面的多于的地址去掉,正常的地址应该为 http://ed2k.im/server.met === Firefox中启动aMule === firefox3.0以后的版本应该这么办: firefox下about:config<br> 新建布尔项:network.protocol-handler.expose.ed2k 值:false 以下适用firefox3.0以前的版本 firefox下about:config * 新建一个Boolean,名字为 network.protocol-handler.external.ed2k,值为true<br> * 新建一个String,名字为 network.protocol-handler.app.ed2k,在我的系统中,值为/usr/bin/ed2k。也许在你的系统中就是/usr/bin/ed2k.amule或者 ed2k.amule了,视情况!<br> 前两个步骤一样,重点是接下来...<br> * 安装"amule-utils"套件,因为要用到其中的/usr/bin/ed2k程式,接着点选ed2k的连结,如果跑出询问关联的视窗,记住不要使用默认的,点选其他程式,照着路径/usr/bin/ed2k找出ed2k的程式来使用. 注意:设置完后记得重启firefox生效。下载时,在firefox中点了链接后只是将下载链接加到下载列表里,并不会自动打开amule,需要手动打开才开始下载。 ---- 感谢tjy同学,来源[http://forum.ubuntu.org.cn/viewtopic.php?f=73&t=164376 forum.ubuntu.org.cn/viewtopic.php]<br> 感谢weive同学,来源[http://forum.ubuntu.org.cn/viewtopic.php?t=178299]<br> ==使用== emule等,使用的资源搜索方式下载。一开始很忙,甚至为0,可当在线时间长了以后下载就快了。 下载需要排队,也就是说要排到你了才能开始下。那些心急的朋友往往在刚要排到的时候换服务器,或关闭软件。 服务器(它只是用来搜索资源的)只要一个就行了,如果你下的文件不在这个服务器上,它会向其它服务器发送请求的。所以不用当心,服务器除了连接速度外,其它没有影响。 === 让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官方论坛讨论主题[http://forum.emule-project.net/index.php?showtopic=120087 Light On Searching]中的回帖。 台湾网友badcat在eMule EastShare官方论坛的主题帖[http://www.eastshare.tw/viewthread.php?tid=45826 [教學]eMule 的萬用字元搜尋 「*」方便多國語系搜尋 (2007-11-08 修)。] 原文在:[http://www.uralhan.com/filesharing/emule/ed2k-search-chinese/ 善用特殊符号搜索电驴网络中文资源] === 给共享资源写评价、论等级 === 电骡所有的资源都可以进行评价,划分等级。 你可以把那些花了很长时间,结果名副其实、张冠李戴、内藏病毒的资源,评价为极差。其它人就不会再被祸害。 *共享文件标签 *共享文件,右键,添加注释 === 来源管理 === 双击一个下载在展开的来源列表中的大小一栏里可以看到这个来源的获取途径。 在下载资源,右键,扩展选择中我们可以看到A4AF,这是什么意思呢 他是指:交换来源 如果某个文件很重要,需要很快下载下来。你把所有A4AF指向它就行了。 扩展阅读:http://emulefans.com/source-management/ === 图标含义 === http://emulefans.com/icons/ === 进度条颜色 === 传输栏中的每一个下载进度条都使用了不同的颜色来表示当前文件的某部分是否可以获得及其下载进度。 (扁平样式)(圆滑样式) *黑色部分表示你已经获得了该文件段 *红色表示在所有已知的来源中都缺失该部分的文件段。 *不同深浅的蓝色象征着该文件段的可用来源数量,蓝色越深,表示拥有该文件段的来源越多。 *黄色代表正在下载中的部分。 *顶部细小的绿色进度条显示的是该文件的总下载进度。 (扁平样式)(圆滑样式) 一个完全绿色的进度条表示这个下载已经完成 (扁平样式)(圆滑样式) 一个深红色或者深蓝色的进度条代表这个下载已停止或已暂停。 如果你展开一个下载则可以看到每一个来源相应的进度条。 查看全部的来源可以双击一个下载(或单击,依赖于选项-> 显示中的设定)。以下为不同颜色所代表的不同含义: (扁平样式)(圆滑样式) *黑色部分表示你已经获得了该文件段 *蓝色表示你需要下载的文件段 *银色表示此来源同样缺失该部分 *绿色表示你正在下载的部分 *黄色代表等待中的文件段 (已经请求) 已得到文件段 此状态条显示在上传队列中那些支持该功能的客户那里,显示的是这个客户正在下载的文件的进度。 *黑色表示他已经完成下载的部分 *银色表示他缺失的部分 *绿色表示正在上传给他的部分 *黄色代表他等待中的文件段 (他已经请求) 已共享文件的可用性 每一个已共享文件都在状态条里显示了不同部分在其他来源那里的可用性,颜色所表示的含义与进度条类似。 *红色表示在所有已知的客户都缺失该部分的文件段 *不同深浅的蓝色表示不同部分在所有已知客户中不同程度的拥有量 有图片的链接:http://emulefans.com/colors-of-the-progress-bar/ === 来源数量 === 在进度条后面显示的四个数值 xx/yy+aa (zz) 代表了该文件的来源数量,并且表示了以下信息。 *xx - 可用的来源数量 *yy - 全部来源数量 *+ aa - 已请求另外一个文件的来源数量(只有当高级模式控制被开启的情况下显示) *zz - 正在进行传输的来源数量 === 查看他人共享文件夹 === 在设置里面我们可以设置:我们的共享文件夹能让什么人查看。 当我们是别人的朋友(别人共享文件夹设置为:朋友可见),或别人设置共享文件夹为所有人可见。那么我们就能查看。 *到有用户的页面:如下载、消息 *右键,查看共享文件夹。(如果你没有朋友,隐藏文件夹标识为:否的,大多都可以查看) *搜索页面。如果该用户返回了文件信息,在这里就能看到 == 外部链接== [http://www.amule.org/ 官方站] [[Category:下载]] [[Category:软件编译]] [http://emulefans.com 电骡的大量实用教程]
返回
AMule
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息