EMule_Mod

**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。

## 參見

* Gnutella
* BitTorrent
* Napster

## 參考資料

## 外部連結

* 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)
* 開放式目錄計劃中和 eMule 相關的內容

## 注釋與參考資料