複製鏈接
請複製以下鏈接發送給好友

mlDonkey

鎖定
MLDonkey是一個GPL開源免費、跨平台(Linux、Solaris、Mac OS X、Windows 以及 MorphOS)、多協議的P2P共享軟件。其支持包括eDonkey電驢協議在內的多種P2P協議,並能運行於類Unix/Linux、Mac OS X、Windows等操作系統。主要使用OCaml語言編寫,,同時有些部分使用了一些C語言以及彙編語言的代碼,從而保證了它的高效能。可接受Magnet URI,能搭配各種GUI。
MLDonkey最早只支持eDonkey2000協議(ED2K),後來逐步加入了overnet、kad、BT、HTTP、FTP等協議的支持。
外文名
MLDonkey
編程語言
OCaml
國    籍
法國
現任維護者
MLDonkey開發小組

mlDonkey軟件簡介

MLDonkey的Web接口 MLDonkey的Web接口
MLDonkey官方只提供了telnet和html兩 [1]  種接口。其實基於web瀏覽器的html管理方式是用的最多的圖形接口,用它可以方便的在網頁上管理mldonkey。此外還有一些以telnet為基礎開發的圖形前端,比如KMLdonkey和Sancho。 [2] 
作為ED2K客户端,mldonkey的最大特色就是支持同時連接多服務器(emuleamule等都只能連接一個ed2k服務器),大大提高了可用源的數量。而不像其他我所用過的emule-mod那樣只能連一個。因此,其速度可以快好幾倍(可以很容易的達到帶寬上限哦,是我所用過的最快的電驢)。另外,他還有眾多圖形界面(其本身只是一個命令行的東西),可以用瀏覽器控制(推薦),甚至telnet。而sancho是所有圖形界面中最優秀的一個(基於java,功能最複雜,你一定有眩暈的感覺)。
MLDonkey支持各種下載協議,包括ed2k、bittorrent、http、ftp等等,而且在繼續擴充。不過MlDonkey沒有官方的簡體中文版本。

mlDonkey安裝方法

Linux用户可以通過所裝發行版的源中獲取mldonkey。
windows用户可在官方網站下載mldonkey。

mlDonkey命令手冊

MLDonkey 以簡單的命令為特色。大多數mldonkey的接口,例如telnet、web管理界面、其他gui的console標籤(比如sancho),都提供了用命令控制mldonkey的方法。這些命令不但方便,有時候也是唯一的方法來控制一些mldonley的高級特性。
mldonkey有很多可用的命令,有些可能不為人知。這個手冊旨在較詳細地説明mldonkey中的常用命令的用法。
注:< > : 必要參數,[< >] : 可選參數,< 1 | 2 > : 二選一的參數。提到的mldonkey選項見選項手冊。
用户命令
1. auth <用户名> <密碼>: 用户登錄
2. useradd <用户名> <密碼> [<郵箱>] : 添加新mldonkey用户/更改用户密碼
3. userdel <用户名> : 刪除一個mldonkey用户
4. users : 列出所有用户和用户組
5. whoami : 列出所有已登錄用户
用户組命令
1. groupadd <用户組名> <admin: true|false> : 添加用户組 <管理員>
服務器命令
1. vm : 列出已連接服務器
2. vma : 列出所有已知服務器
3. n <ip地址> [<端口>] : 添加服務器
4. server_banner <num> : 打印編號為<num>的服務器的旗幟(歡迎信息),其中<num>由vm命令獲得
5. servers <文件名> : 從一個server.met文件中添加服務器
6. c [<num>] : 連接到更多服務器(或者連接到<num>號服務器)
7. x <num> : 斷開與<num>號服務器的連接
8. id : 列出本機在已連接服務器上的id
9. preferred <true/false> <ip> : 設置/取消<ip>為首選服務器
10. bs <ip1> [<ip2> ...] : 將所給ip加入服務器黑名單
11. bp <port1> [<port2> ...] : 將所給端口加入端口黑名單
12. rem <serv1> [<serv2> ...] : 從服務器列表移除指定服務器 ('all'清空服務器列表)
13. remove_old_servers :移除幾天沒有連接上的服務器
搜索命令
1. s [特殊搜索參數] <查詢內容> : 在所有網絡上搜索文件
* 特殊搜索參數(SpecialSearchArgs)
-minsize <size> : 限制最小文件大小
-maxsize <size> : 限制最大文件大小
-media <Video|Audio|...> : 限制文件類型
-Video : 指定為視頻文件
-Audio : 指定為音頻文件
-format <format> : 指定為特定格式 <擴展名>
-title <word in title> : 搜索標題(Mp3 tag搜索)
-album <word in album> : 搜索專輯(Mp3 tag搜索)
-artist <word in artist> : 搜索藝術家(Mp3 tag搜索)
-field <field> <fieldvalue>
-not <word> : “非”條件搜索
-and <word> : “與”條件搜索
-or <word> : “或”條件搜索
-without
2. xs : 擴展搜索以獲得更多的搜索結果(向一些低優先級的服務器發送查詢請求)
3. vs : 顯示查詢歷史和結果統計
4. vr <num> : 查看某此查詢的詳細結果,其中num由vs獲得
5. view_custom_queries : 列出定義的自定義查詢種類,如[Complex Search],[MP3 Search],[Movie Search],[Album Search]等
6. forget <num1> [<num2> ...] : 丟棄指定編號搜索記錄,num由vs獲得
好友命令
1. friends : 列出所有好友的名稱和好友編號
2. files <client num> : 列出指定標號的好友的共享文件
3. vfr : 列出所有好友的詳細信息,friends命令的擴展,包括IP和積分等
4. gfr <friend_num> : 請求指定編號好友的共享文件列表,以便用files命令查看
5. friend_add <client_num> : 添加指定編號客户端為好友,client_num可由downloaders和uploaders命令得到
6. friend_remove <client_num> : 移除指定編號好友 (編號all清空好友列表)
7. message <client num> <msg> : 向指定編號客户端發送消息
下載命令
1. cancel <num> : 取消指定編號的下載任務,用法同pause,另見confirm
2. confirm <yes|no|what> : 確認取消下載任務,當使用cancel取消下載任務後,需要用 confirm yes確認取消
3. d <num> : 下載指定編號文件,編號可由s等搜索命令獲得
4. dllink <link> : 下載以ed2k、sig2dat、BT種子等鏈接形式給出的文件,比如ed2k打頭的ed2k文件hash
5. dllinks <file> : 下載指定文件中的所有url(允許有空行)
6. dd <size> <md4> : 下載一個已知大小和md4-hash碼的文件
7. http <url> : 從一個http/ftp/ssh url下載文件(注:FTP尤其是SSH仍處於實驗階段)
8. mirror <file_num> <url> : 給指定編號下載任務添加源(鏡像),其中file_num由vd得到(這是迅雷的強項)
9. merge <file num1> <file num2> : 這是條強大的命令。這條命令將不同協議(ed2k/BT/HTTP/FTP等)但文件相同的下載任務鏈接到一起(可以説是mirror的升級版),其中 file1是主文件,不能取消鏈接(注:這條命令仍處於實驗階段)
10. force_download : 強制重新下載一個已經下載的文件。用法是,先用d/dd/dlink等命令下載文件,mldonkey會提示該文件已經下載,此時鍵入此命令
11. vd [<num>] : 不加參數將會列出所有處於下載隊列中的下載任務信息,加上參數num則列出指定編號的下載任務
12. pause <num> : 暫停指定編號下載任務,all暫停所有任務,編號由vd獲得
13. resume <num> : 恢復指定編號下載任務,用法同pause
14. tracker <num> <url> [<url>...]:給指定編號的BT熱任務添加tracker服務器
15. priority <priority> <file_num1> [<file_num2>...] : 改變下載任務的優先級
16. rename <num> "<new name>" : 重命名一個已經完成下載的文件
17. commit : 將完成下載的文件從download文件夾移動到income文件夾,文件夾的具體位置在download.ini中設置
18. startbt <URL|file> : 開始一個BT下載任務
上傳命令
1. compute_torrent <filename> <comment> : 為指定文件製作BT種子
2. nu <m> : 暫停上傳m分鐘。注:此命令受一個積分系統控制(credit system),沒上傳1分鐘,得到1點積分(最大300),每暫停上傳1分鐘消耗1點積分,所以每次暫停最多300分鐘。
3. reshare : 從共享目錄更新共享文件列表。(不過當前mldonkey會自動監視文件變化,這條命令很少用了)
4. reshare_torrents : 更新共享的種子列表
5. seeded_torrents : 列出所有共享的種子
6. shares : 列出所有共享目錄
7. unshare <dirname> : 將指定目錄從共享目錄中移除
全局控制命令
1. version : 打印mldonkey的版本
2. q : 退出當前的telnet會話
3. save <"options"|"sources"|"backup"> : 保存當前的選項(通常不用手動執行這條命令,mldonkey會每save_options_delay秒自動保存)
4. kill : 保存配置文件並關閉mldonkey客户端
5. ! <command> : 遠程執行shell命令,如: ! halt
6. close_fds : 關閉所有文件,清除文件緩存,釋放磁盤空間
7. close_all_sockets : 關閉所有打開的sockets。這條命令主要作用是mldonkey在IP改變後(動態IP)快速恢復正常工作,而不是等待連接超時。
8. activity <minutes> : 列出指定時間內的edonkey和overnet所有活動
用户配置命令
1. alias : 自定義命令,如: "alias ca cancel all",使得 "ca" 等於"cancel all"
2. ansi <bool> : 如果設置成true,命令行將採用彩色顯示文字,但是有些命令行並不支持(如windows的comandline),這時就需要將其設置成false
3. disable <num> : 禁止指定編號的網絡
4. enable <num> : 激活指定編號的網絡
5. html_mods : 切換web界面模式(兩種)
6. html_mods_style [<style_num>] : 不加參數則列出所有可用的web顏色風格及編號,加上編號參數則選擇指定web界面的顏色風格(切換顏色風格後web界面自動變回第一種模式,應該是個bug)
7. html_theme <theme> : 選擇web界面的主題
8. import <dirname> : 從指定目錄導入edonkey官方客户端的下載任務
9. port <port> : 改變ed2k端口,默認是4662,改變在重啓core後生效
10. set <option_name> <option_value> : 設置某個選項的值
11. share<priority> <dir> [<strategy>] : 將指定目錄以指定優先級共享,可選參數是共享策略。優先級越高,為此目錄預留的上傳槽越多。下面是預定義的共享策略:
"all_files": 共享所有文件,包括子目錄(默認)
"only_directory": 共享所有文件,不包括子目錄
"incoming_files":設置目錄為默認文件下載目錄,共享文件不包括子目錄
"incoming_directories": 設置目錄為默認文件夾下載目錄,例如多文件的BT任務。共享文件不包括子目錄
12. unalias : 刪除由alias設置的自定義命令,如: "unalias ca"
13. urladd <kind> <url> : 從url載入指定類型的文件,定義的kind如下
<server.met> donkey服務器列表
<rss> 增加rss同步頻道. 其內容可由rss命令獲得
<motd.conf> Setup changes of the day
<motd.html> Information of the day in HTML format
<comments.met> edonkey的文件註釋列表
<contact.dat> Overnet網絡結點列表
<ocl> Overnet網絡結點
<kad> kad網絡結點
<geoip.dat> IP to country mapping database
<guarding.p2p> IP過濾列表 (ipfilter and guardian v2格式)
<nodes.gzip> fasttrack結點列表
14. urlremove <url> :從web_infos列表中移除url,web_infos列表由vwi命令查看
15. vo : 列出關鍵選項的值,如上傳/下載限制速度,暱稱,端口等
16. voo [<regexp | num>]: 列出所有可用選項,可選參數正則式作匹配條件,如voo *ED2K, voo *port
17. options [<section>]: 不加參數列出所有選項分類,如Header, main, interface, ed2k等,option 分類名 則列出指定分類下的選項
18. reset_md4 : 重置客户端的md4 hash(估計是被ban了才會用)
Overnet 命令
1. ov_boot <ip> <port> : 添加一個overnet結點
2. ov_boots : 列出所有overnet結點
3. ov_dump_bucket <bucket_nr> : 廢棄指定序號索引桶,索引桶序號由ov_store得到,見ov_store(This is for development)
4. ov_dump_known_peers : dumps known_peers (This is for development)
5. ov_link <fhalink> : 從overnet網絡下載一個以fha鏈接給出的文件(就像edonkey的ed2k鏈接一樣)
6. ov_load <filename> : 從一個contact.dat文件中增加overnet結點
7. ov_md4 : 得到客户端在Overnet網絡中的md4 hash碼
8. ov_send_udp : 通過udp向ov網絡中的指定客户端發送消息
9. ov_store : 顯示在本客户端上索引的關鍵字和文件(overnet是純p2p的網絡,沒有服務器,所以每個客户端都要存儲一笑部分網絡信息)
10. ov_view_stats_cmds : 顯示overnet的狀態(一堆正則式,調試用命令)
11. ov_web <urls> : 用指定url的ocl(overnet contact list)文件初始化
Kad(emlia)命令
1. kad_boot <ip> <port> : 添加一個kad結點
2. kad_dump_bucket <bucket_nr> : 廢棄指定序號索引桶,索引桶序號由ov_store得到 (This is for development)
3. kad_dump_known_peers : dumps known_peers (This is for development)
4. kad_link <fhalink> : 從kad網絡下載一個以fha鏈接給出的文件
5. kad_load <filename> : 從一個contact.dat文件中增加kad結點
6. kad_md4 : 得到客户端在kad網絡中的md4 hash碼
7. kad_send_udp : 通過udp向kad網絡中的指定客户端發送消息(消息是16進制的)
8. kad_store : 顯示在本客户端上索引的關鍵字和文件(見ov_store)
9. kad_view_stats_cmds : 顯示Kad網絡的狀態
10. kad_web <urls> : 用指定url的ocl文件初始化
恢復命令
1. import_temp <temp_dir> : 從eDonkey / eMule / lMule臨時文件目錄導入未完成的下載,
2. scan_temp : 列出臨時目錄下的文件
3. recover_bytes <file_num1> [< file2_num2> ...] : 嘗試修復指定的部分下載的文件(字節級別),未完成部分用非零字節填充(最好用verify_chunks進行校驗),file_num由vd得到,見選項max_recover_gap。
4. recover_temp : 從指定目錄恢復未完成的下載。這個命令的作用是恢復那些文件信息丟失(files.ini)但是下載數據還在的下載任務,重建文件信息。並且只能恢復文件中已經完成的塊(chunck)。
5. verify_chunks <num> : 按塊(chunk)檢查文件的正確性,num由vd獲得
狀態及統計命令
1. block_list : 列出被mldonkey阻止ip段,分成網絡和本地兩個列表
2. buildinfo : 顯示mldonkey核心的版本信息
3. bw_stats : 顯示上傳/下載速度,共享文件數,上傳槽/下載槽數
4. cs : 顯示按按ed2k客户端軟件分類的ed2k上傳/下載統計表
5. csbt : 顯示按BT客户端軟件分類的BT上傳/下載統計表
6. csm : 顯示按eMule MODs分類的ed2k上傳/下載統計表(emule_mods_count = true)
7. client_stats : 顯示按按ed2k客户端軟件分類的成功連接數/文件請求/上傳/下載/阻止數統計
8. client_stats_bt : 顯示按按BT客户端軟件分類的成功連接數/文件請求/上傳/下載/阻止數統計
9. diskinfo : 顯示mldonkey磁盤信息,列出下載/共享/臨時文件夾信息
10. downloaders : 列出當前正在從哪些客户下載數據
11. gdstats : 顯示圖形化的統計信息(只在web界面可用)
12. kad_boots : 列出kad網絡結點信息
13. kad_buckets : 顯示kad索引桶信息
14. kad_stats : 顯示kad網絡狀態
15. links : 列出所有共享文件的ed2k鏈接
16. ov_buckets : 顯示Oernet索引桶信息
17. ov_stats : 顯示Overnet網絡狀態
18. runinfo : 顯示mldonkey的運行信息,包括用户/網絡種/DNS/系統信息
19. sources : 顯示下載文件的源的統計信息
20. sysinfo : 列出mldonkey的core build, runtime, disk, Port信息,見buildinfo, runinfo, diskinfo和portinfo
21. upstats : 上傳統計信息,顯示所有共享文件,並按請求數高低排序
22. reset_stats : 重置此次會話的統計信息
23. stats : 顯示所有網絡的傳輸狀態
24. torrents : 列出服務器上所有BT種子文件
25. uploaders : 列出當前正在上傳給哪些客户數據
26. uptime : 核心運行時間統計
27. vu : 顯示當前的上傳積分,關於上傳積分見nu(上傳命令)
28. portinfo : 列出mldonkey的端口使用情況
調試及測試命令
這些命令可能會在沒有通知的情況下被取消或改變. 使用的時候請注意 ;
1. block_test <ip> : 測試指定ip是否被阻止
2. clear_log : 清空日誌文件
3. close_log : 停止核心向日志文件寫入信息
4. debug_client <client num1> [<client num2> ...] : 記錄指定客户端的行為到日誌文件
5. debug_disk <disk> : 顯示磁盤信息,如debug_bug /
6. debug_file <client nums> : debug file state
7. debug_fileinfo : 顯示文件或文件夾信息,如debug_fileinfo /home
8. debug_rlimit : debug command, god konws...
9. debug_socks : for debugging only
10. dump_heap : dump heap for debug
11. dump_reliability : 列出用reliable_sources算法得到的可信任源及其ip
12. log : 將當前的日誌信息打印到終端中
13. log_file <file> : 將核心信息寫入指定文件
14. mem_stats : 列出詳細的內存信息
15. networks : 列出已經連接到的網絡
16. open_log : 激活日誌記錄
17. test_recover <num> : 顯示指定文件中已經下載的段
18. use_poll <bool> : 用poll代替select, mldonkey應該使用poll,因為它更高效,而且沒有1024文件描述長度限制
19. stdout <true|false> : 恢復日誌到標準輸出流
未分類命令
1. vc <num> : 查看客户端信息,num由downloaders和uploaders得到
2. calendar_add <hour> "<command>" : 添加命令到任務計劃,此命令將被儲存到download.ini,並且在每天的指定hour執行。如:calendar_add 8 "set max_upload_rate 10" 附download.ini的儲存內容,可由vcal命令得到:calendar = [ ([0;1;...;6;], [0;1;...;23;], "command1" ); ([0;1;...;6;], [0;1;...;23;], "command2" ); ... ]
* 第一個參數是定義了一個星期內此命令在那些天被執行(Sunday=0, Monday=1, Tuesday=2, ..., Saturday=6).
* 第一個參數是定義了一天內此命令在那些小時被執行(in 24-hour format 0 ... 24).
* 第三個參數是要執行的命令
3. vwi : 列出當前網絡信息
4. gdremove : 移除存儲圖形化統計信息的文件
5. message_log : 顯示已經記錄到日誌的消息(數秒內顯示 )
6. preview <file number> : 預覽指定文件,文件編號由vd得到
7. reload_messages : 重新載入消息文件
8. rm_old_torrents : 移除所有舊的BT種子文件
9. rss : 列出所有訂閲的rss種子,見urladd
10. vcal : 打印計劃的任務,見calendar_add命令
舊版命令
1. add_user : 改為useradd
2. remove_user : 改為userdel
3. add_url : 改為urladd
4. commit_to : 已取消
5. set_brothers : 已取消
參考資料