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；可製作寫有即時上傳、下載數據等資料的在線簽名圖片。
- 友好的圖形使用者界面；外觀功能可自定義更改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中文名的爭議

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