EMule

eMule是一个自由开源的P2P文件共享软件，基于eDonkey2000的eDonkey网络，遵循GNU通用公共许可证协议发布，运行于Windows下。eMule中文名称在大陆用户中有争议，根据eMule官方网站的简体中文版说法，“eMule”译为“电骡”，其名称也来源于骡。

eMule于2002年5月开始开发。与之前的eDonkey2000客户端相比，eMule能够连接eDonkey和Kad两个网络，有较快的下载损坏数据恢复功能，有奖励频繁上传的用户的积分系统。另外，eMule以zlib压缩格式传输数据以节约带宽。

eMule使用了MFC，并用VC++进行编译。由于eMule是开源的，所以其代码基础也被Linux平台下的客户端xMule和跨平台客户端aMule、JMule所使用。同时eMule也衍生出了很多修改版，见eMule Mod(s)。

很长时间以来eMule都是SourceForge网站上的下载量最多的软件。截止2009年9月，官方eMule在SourceForge上的下载点击数已超过5亿。

## 历史

2002年5月13日，本名Hendrik Breitkreuz（亨德里克·布雷特克鲁兹）的Merkur，不满意当时的eDonkey2000客户端，并且相信自己能做出更出色的P2P软件，于是便着手开发了一款新的P2P共享软件。他招募了一些程序员，并凝聚共识成为一个工作团队；他们的目标是将eDonkey的优点保留下来，加入新的功能，并使图形界面变得更好。

eMule软件源码最初于2002年7月6日发布在SourceForge。

eMule软件最初于2002年8月4日发布，初始版本号为0.05a。积分系统于2002年9月14日在0.19a版中加入。eMule官方网站 emule-project.net于2002年12月8日启用。

eMule 0.40加入了对Kad网络的支持。该网络使用Kademlia协议，它与eDonkey网络不同，不依赖中央服务器，而是使用了分散式杂凑表计算系统。搜索更改为以unicode搜索，这使得用户可以搜索非拉丁字符。同时，也可以搜索到eDonkey网络上的未完成文件的来源。此版还加入了一个损坏来源列表，能够自动向列表中加入连接失败的IP地址，在一段时间内将不再向此地址进行连接。

eMule 0.46b加入“eMule收藏集”功能，可以将许多eD2k链接发布为一个收藏集来下载。

2007年开始，一些ISP对一些P2P端口使用了带宽限制。于是eMule 0.47b相应地加入了模糊协议，它能够在eMule第一次运行时自动地随机选择两个端口。

现在的eMule较为稳定，不再像以前那样频繁更新。现在的更新间隔约为6个月以上甚至一年。目前eMule的最新版本为2019年5月27日发布的0.51d。

## 主要功能

以下是官方eMule的主要功能，它们也被大多数eMule Mods所继承。

- 支持43种语言界面。
- 可连接eD2k和Kad双网络，也可通过来源交换功能获得其他来源。
- 排队机制和上传积分系统鼓励用户共享并上传给他人资源，且维系网络的公平。
- 每个下载的文件在下载期间和结束时都会自动检查是否有损坏数据，以确保文件的正确性，如有损坏，智能损坏控制功能可快速修复损坏的文件段。
- 自动优先权及来源管理系统允许用户一次下载许多个资源而无须监视它们；下载时可指定类别以组织和管理文件。
- 预览功能允许用户在下载完成之前查看用户的视频文件。
- 可通过Web界面功能远程查看与控制eMule；可制作写有即时上传、下载数据等资料的在线签名图片。

<image>

- 友好的图形用户界面；外观功能可自定义更改eMule界面图标；可查看详细的数据统计信息与统计图，0.50a后可查看Kad节点的连接状况图像。
- 提供了多个搜索方式，其中包含：服务器搜索（本地和全局）、基于Web搜索（Jigle和Filedonkey）及Kad网络搜索；搜索时允许使用布林。
- 使用信息及好友系统，用户能传送讯息到其他的eMule客户端，并可加为好友；能在好友列表中看到好友是否在线；另内含IRC客户端。
- 可自动屏蔽小部分发送请求过多的侵略性客户端；可过滤含有某些字眼的客户端讯息。
- 从0.47b版之后支持模糊协定，开始对ISP的流量限制提出了解决方案。
- IP地址过滤（IPFilter）：eMule可使用外部提供的IP地址黑名单来拒绝和一些危险的地址联系。主要用于屏蔽虚假／间谍服务器（可能是致力于维护版权的机构用于收集信息进行法律诉讼）、恶意IP、带有木马/间谍软件的攻击性IP、黑客等不安全的IP地址。使用最广泛的是R3Qu13M定期制作的IPFilter（有时也称Pawcio IPFilter）。另外还有IPFilter有英国民间网络安全组织B.I.S.S（Bluetack Internet Security Solutions）提供的多种IPFilter或Blocklist等等。
- 可将网页浏览器上的各种eD2k链接由浏览器传至eMule进行处理，包括文件、服务器、服务器列表、Kad节点列表、好友的链接。0.50a增加了搜索关键词的eD2k链接。
- ed2k表达式：电骡使用ed2k表达式与文件HASH值（注意与根HASH区分，二者完全不同）可以在服务器搜索这个文件，如ed2k::E8C636D0C0486378BF61E6A3000D0FB7可在服务器检索到emule0.50a的压缩包，其中ed2k::为搜索表达式，E8C636D0C0486378BF61E6A3000D0FB7是emule0.50a压缩包的HASH值。（注：KAD不支持此功能）

## 官方的部分声明

在eMule的官方网站主页上写道：“eMule是完全免费的，它也决不包含广告、间谍和流氓软件。我们之所以创造eMule是为了快乐和知识，而不是为了金钱。”从而表明eMule的非商业性质。在eMule官方论坛规则中也写明了禁止出现非法的ed2k链接下载。这很可能是eMule团队未像eDonkey2000那样遭到RIAA或其他组织的大规模控诉的一部分原因。

另外，eMule团队也订立了相关规则，以避免eMule浪费带宽与加重服务器负担，同时声明eMule不会支持除Ed2K与Kad以外的任何其他P2P网络。

## 主要优势与问题

### 优势

- eDonkey网络上用户众多，能更好地找到稀有的资源文件，保持文件来源时间也较长。来源交换功能也允许用户从其他服务器与Kad获得更广泛的来源。
- 共享、搜索文件较方便：可直接在eMule软件中搜索eDonkey网络；直接放在共享文件夹下即可共享。不需要类似BitTorrent的种子文件。
- 拥有eD2k Hash验证和AICH损坏文件智能恢复，保证了最终下载的文件将和上传者上传的文件完全一致。AICH全名Advanced Intelligent Corruption Handling（高级智能型损坏处理），是智能型损坏处理（Intelligent Corruption Handling）的加强版。AICH是文件共享软体（eMule,aMule）使用的一种用以确保文件在网络传输时没有错误的方法。万一错误发生，称为“损坏”，AICH运算法以最小的额外重新下载资料量来修正这个损坏。

### 问题

- eMule可能推动了一些违反当地法律的色情、盗版文件的传播。
- eMule是非盈利自由开源软件，由它衍生修改的软件中，出现了一些商业牟利下载软件、广告软件、恶意软件、间谍软件、违反GPL的闭源软件以及不按照积分规则上下载的“吸血驴（Leecher）”等，也出现了一些假称eMule官方的网站，从而引发了一些问题与网上的讨论。

### 滴流槽

官方称做Trickle-slot状态，指在下载队列或上传队列中，处于灰色的上传通道或下载通道。滴流槽形成原因：电骡客户的下载或上传未满，但不足以支持一个完整通道；不同ISP供应商之间的问题，如中国的网络服务供应商电信，网通，教育网等之间互联出口过小；不同国家之间的网络状态，emule是一个在全球拥有大量用户的p2p软件，因此在下载/上传时，往往会和数个甚至数十个国家的用户相互传输数据，由于各种原因，导致滴流槽形成；另外，ISP对emule的封锁，防火墙，防火长城等，也可能是形成滴流槽的原因之一。

## eMule中文名的争议

<image>

eMule的中文名存在争议。eMule官方网站的简体中文版首页（于2006年翻译完毕）写明了“eMule”中文名称为“电骡”，且eMule官方网站的英文原版首页同样指出了“eMule”一词来源于“Mule（骡）”。根据语义，eMule软件使用的网络协议以及该协议的原创软件“eDonkey2000”（或“eDonkey”，缩写“eD2k”）名称应该翻译成“电驴”，“eMule”应该翻译成“电骡”。

另一方面，大陆一家浏览量较大的eDonkey网络资源分享网站VeryCD.com的持有公司上海维西（VeryCD）公司开发的两款eD2k软件——eMule VeryCD Mod（2003年起开发）和easyMule（2007年起开发）之中，eMule VeryCD Mod的官方网站emule.org.cn的域名、标题、文字内容等都有自称eMule官方网站的嫌疑。而在现在的VeryCD.com网站上也有多处将带“电驴”、“eMule”、“eMule官方网站”、“电驴（eMule）软件”字眼的链接指向eMule VeryCD Mod的官方网站或easyMule官方网站的行为。VeryCD.com上的资源下载页标题也直接称其为“VeryCD电驴下载”。VeryCD公司于2005年在大陆尝试申请注册“电驴”、“eMule”等商标，但至今未通过商标局审批，公司老板黄一孟认为未通过“原因可能是已经成为通用名词”。但是公司依然在约2007年开始开发easyMule后，公开地在软件中文界面上、网站上与宣传中给easyMule使用了“电驴”名称，不少用户认为这也是一种明显的混淆。easyMule删减了从eD2k服务器和Kad网络搜索的功能，仅能通过其私有搜索网络搜索VeryCD网站上索引的资源的链接。有自称普通“电驴爱好者”的人士在一个dianlv.com网站上提供可搜索eDonkey网络的easyMule，并自称“电驴破解版”。但最终被网友发现该网站属于VeryCD公司所有，并指出eMule无需破解。

一般认为，比较正式的称呼是按eMule官方网站简体中文版所述将“eMule”翻译成“电骡”，按语义将“eDonkey”翻译成“电驴”。而在谈论时，“电驴”有可能也会指eMule及其Mods。VeryCD公司及其easyMule软件的“电驴”名称则为该公司单方面宣传指认。

## eMule Mod

eMule是一个开源的项目，这使得它拥有很多在其源码基础上修改添加而开发出的eMule修改版，一般称之为“eMule Mod(s)”。不少eMule Mod在官方eMule的基础上添加了一些功能，参见eD2k软件比较。

使用较广且官方论坛认可的eMule Mod主要有：

- eMule Osp Mod。基于官方版本的Mod，实现了边下边播放。官方网站
- eMule Xtreme Mod。原作者为x-man，现由zz_fly开发，有原创的DLP与NAFC网络状态实时监控、SLS来源储存、文件强力发布等功能。项目主页
- eMule ScarAngel Mod。基于Xtreme的Mod。官方网站
- eMule Mephisto Mod。基于ScarAngel的Mod。官方网站
- eMule X-Ray Mod。项目主页
- eMule MorphXT Mod。较早的eMule Mod之一，有文件强力发布功能。官方网站
- eMule MagicAngel Mod。基于MorphXT的Mod。项目主页
- eMule StulleMule Mod。基于MorphXT的Mod，开发者Stulle。官方网站
- eMule NeoMule Mod。较早的eMule Mod之一，功能较多。官方论坛
- eMule ZZUL Mod。有不少衍生作品。
- eMule AcKroNiC Mod。
- eMule Sivka Mod。
- eMule Pawcio Mod。

此外，台湾/中国大陆程序员开发的Mods还有：

- eMule EastShare Mod。基于MorphXT的Mod。台湾程序员开发，中文名“伊丝雪儿”。官方网站
- eMule X Mod。基于Xtreme的Mod，大陆程序员开发。旨在改善细节。官方网站
- eMule CN Mod。中国驴论坛开发的Mod。有上传量的统计，排名公布在中国驴网站上，称为“驴榜”。官方网站
- eMule VeryCD Mod。上海维西（VeryCD）公司开发的Mod。搜索时有关键字过滤。官方网站
- easyMule。VeryCD公司开发的另一款Mod。自称“电驴”。搜索时有关键字过滤，在1.1.13版后确认去除eD2k服务器和Kad搜寻功能，只能搜寻VeryCD站索引的内容。Strict DLP Chinese（SDC）将其视为吸血驴。官方网站
- eMule eXcalibur Mod。基于旧版VeryCD Mod，去掉了关键字过滤等不妥功能，大陆程序员开发。最后版本发布页

### 吸血驴

根据eMule官方对所有Mod的要求，未公布源代码与更新日志、同mod或同地区用户加分、伪装、频繁向服务器发送信息，以及其他一些违反公平的行为都是不符合要求的。在eMule广泛使用之后，出现了不少不符合要求的Mods，也有另一些非eMule Mods的eD2k软件，由于上传下载比过低、滥发请求等原因而使其他用户不满。通常把这些不良eD2k软件称为“吸血驴”（Leecher，中文也可称吸血骡）。广义的吸血驴可泛指所有有不良行为的eD2k软件。但是不同人群对于吸血驴的具体定义有所不同，比如Xtreme的动态反吸血驴保护（DLP）和MorphXT的反吸血功能差别就较大。

对于吸血驴，官方eMule除了IP地址过滤（IPFilter）、垃圾信息和攻击型客户端过滤功能之外，无法检测出更多不良eD2k软件。考虑到吸血驴用户的增多，一些eMule Mods的作者为其Mod增加了反吸血驴功能，其中使用最广的是Xman于2005年为Xtreme开发出的动态反吸血驴保护，用于辅助eMule检测并屏蔽吸血驴，从Xtreme的4.5版开始使用，Xtreme的DLP库也被认为是官方DLP库，至今一直在更新。目前支持DLP且默认使用官方DLP库的有Xtreme、MagicAngel、ScarAngel、Mephisto、X-Ray、StulleMule、NeoMule（非完全）、CN、DreaMule等Mod。

## 外部链接

- Official forum
- Official IRC network (MindForge)
- eMule Protocol Specification by Danny Bickson and Yoram Kulbak from Hebrew University of Jerusalem
- Glasnost test eMule traffic shaping (Max Planck Institute for Software Systems)
- Computers/Software/Internet/Clients/File_Sharing/Overnet_and_eDonkey/

## 基本资料

- 日语原文：eMule
- 编程语言：C++
- 操作系统：Windows
- 语言：多种语言（43种）
- 类型：P2P文件共享
- 许可协议：GNU通用公共许可证
- 网站： www.emule-project.net