eD2k連結

維基百科,自由的百科全書
前往: 導覽搜尋

eD2k連結是一種超連結,用於指示在eDonkey網路上儲存的檔案。包括eDonkey2000eMuleMLDonkeyaMule等在內的許多使用了eDonkey檔案分享協定的客戶端軟體,都可以用eD2k連結來管理網路上的檔案。

瀏覽器可以識別eD2k連結,並遞交到eMule、eDonkey2000或其他的eD2k軟體中進行傳輸。eD2k連結是最早被引入P2P檔案網路的連結之一。Magnet連結現在也與eD2k連結類似,但Magnet連結不僅限於eD2k Hash,而是可以使用其他的Hash,諸如SHAMD5等。

這些Hash碼,主要用於確保相同的檔案在網路上具有的相同的唯一標識,即使這些檔案儲存在不同的地方或擁有不同的名字。它透過使用該檔案的Hash函式(雜湊函式)來計算其校驗和Checksum)。

eD2k連結和很多URI協定一樣,可以被網路瀏覽器配置為自動關聯處理。安裝某些eD2k軟體時,「ed2k://」協定可能被自動註冊。於是在瀏覽器中點選檔案的eD2k連結時,就能自動開啟eD2k軟體並進行此檔案的下載。

連結格式[編輯]

eD2k連結的大致格式形如:

ed2k://|<型別>|<其他資訊>|/[1]

使用「|」分隔開各個區域。

注釋:

  • ed2k://:協定處理方法。指明該協定是eD2k協定
  • <型別>:連結型別。有三種:file(檔案)、server(伺服器)、serverlist(伺服器列表)。
  • <其他資訊>:具體的其他資訊。

檔案連結[編輯]

  • 典型的、基礎的eD2k檔案連結只包含必要的三樣資訊:檔案名、檔案大小、檔案的eD2k Hash。形如:
ed2k://|file|<檔案名>|<檔案大小>|<檔案Hash>|/

以下是大小為2868871位元組(約2.7MB)的官方eMule v0.49c zip壓縮包的eD2k連結的例子[2]

ed2k://|file|eMule0.49c.zip|2868871|0F88EEFA9D8AD3F43DABAC9982D2450C|/
  • eD2k連結也可以包含一個或多個來源的IP位址與埠,形如:
ed2k://|file|<檔案名>|<檔案大小>|<檔案Hash>|/|sources,<IP:埠>|/

例如:

ed2k://|file|eMule0.49c.zip|2868871|0F88EEFA9D8AD3F43DABAC9982D2450C|/|sources,202.89.123.6:4662|/
  • 在eMule中,eD2k連結也可以包含根Hash(Root Hash)值。根Hash提供了一個可靠的值用於AICH(高階智慧損壞處理),在傳輸的檔案失真壞或錯誤時進行糾正恢復。包含根Hash的eD2k連結形如:
ed2k://|file|<檔案名>|<檔案大小>|<檔案Hash>|h=<根Hash>|/

例如:

ed2k://|file|eMule0.49c.zip|2868871|0F88EEFA9D8AD3F43DABAC9982D2450C|h=SQ7LUTYUSMDBP2TVE2M7T6VUBLU324KF|/
  • 完整的Hashset可以確保檔案的正確,也可幫助發行新的與罕見的檔案。包含Hashset的eD2k連結形如:
ed2k://|file|<檔案名>|<檔案大小>|<檔案Hash>|p=<Hash Set>|/
  • 帶主機的eD2k連結形如:
ed2k://|file|<檔案名>|<檔案大小>|<檔案Hash>|/|sources,<主機名:埠>|/
  • eMule也可相容帶HTTP來源的eD2k連結,形如:
ed2k://|file|<檔案名>|<檔案大小>|<檔案Hash>|s=<檔案的HTTP位址>|/

伺服器連結[編輯]

eDonkey伺服器的eD2k連結和檔案的eD2k連結類似,它可以指示一個eDonkey伺服器位址,格式形如:

ed2k://|server|<IP>|<埠>|/

例如:

ed2k://|server|207.44.222.51|4242|/[3]

伺服器列表連結[編輯]

伺服器列表連結,用於從一個固定的HTTP位址添加server.met伺服器列表檔案。格式形如:

ed2k://|serverlist|<HTTP位址>|/

<HTTP位址>:server.met檔案的HTTP位址。[4]

Kad節點列表連結[編輯]

Kad節點列表連結,用於從一個固定的HTTP位址添加nodes.dat Kad節點檔案。格式形如:

ed2k://|nodeslist|<HTTP位址>|/

<HTTP位址>:nodes.dat檔案的HTTP位址。[5]

好友連結[編輯]

好友連結,根據用戶Hash來添加好友。格式形如:

ed2k://|friend|<用戶名>|<用戶Hash>|/

官方eMule不支援eD2k好友連結添加好友功能,僅Xtreme及Xtreme的Mods(如ScarAngelMephisto等)、CN Mod等部分eMule Mods支援此功能。

eD2k Hash[編輯]

eD2k Hash 演算法是一種MD4演算法的變體。其函式是一個MD4 Hash列表(MD4 Hash List)的MD4根Hash,但與MD4 Hash的結果不同:

檔案資料被分割成多個9500KBchunks塊(9728000位元組或大約9.28MB)和剩餘的一個chunk。每個chunk都要計算128-bit MD4 校驗和。如果檔案長度正好是9500KB的整倍數,剩餘的大小為0的chunk依然存在於Hash列表的末尾。將這些chunk的MD4校驗和按順序聯合起來,並使用MD4計算Hash,可得到eD2k Hash。對於僅由一個chunk組成的檔案(即檔案大小小於9500KB),MD4和eD2k Hash是完全相同的。[6]

這種方法可以直接將Hash列表與原eD2k Hash進行驗證,而無需使用檔案塊來驗證。

參見[編輯]

參考資料與注釋[編輯]

外部連結[編輯]

eMule官方網站上的幫助[編輯]