mlDonkey

mlDonkey

MLDonkey 是一個開源的,免費的多協定P2P伺服器程式。支持eDonkey2000協定(ED2K)、overnet、kad、BT、HTTP、FTP等協定,並能在Linux、Solaris、Mac OS X、Windows 以及 MorphOS下運行。

簡介

MLDonkey 是一個開源的,免費的多協定P2P伺服器程式。
MLDonkey最早只支持eDonkey2000協定(ED2K),後來逐步加入了overnet、kad、BT、HTTP、FTP等協定的支持,並能在Linux、Solaris、Mac OS X、Windows 以及 MORPHOS下運行。 它使用OCaml語言編寫,同時有些部分使用了一些C語言以及彙編語言的代碼,從而保證了它的高效能。
MLDonkey官方只提供了telnet和html兩種接口。其實基於web瀏覽器的html管理方式是用的最多的圖形接口,用它可以方便的在網頁上管理mldonkey。此外還有一些以telnet為基礎開發的圖形前端,比如KMLdonkey和Sancho。
作為ED2K客戶端,mldonkey的最大特色就是支持同時連線多伺服器(emule,amule等都只能連線一個ed2k伺服器),大大提高了可用源的數量。
優點:實在太強大了,支持各種下載協議,包括ed2k、bittorrent、http、ftp……,而且在繼續擴充。
我主要說一下ed2k功能,它有一個最最奇特的地方就是,可以同時連線任意多個emule伺服器,而不像其他我所用過的emule-mod那樣只能連一個。因此,其速度可以快好幾倍(可以很容易的達到頻寬上限喔,是我所用過的最快的電驢)。另外,他還有眾多圖形界面(其本身只是一個命令行的東西),可以用瀏覽器控制(推薦),甚至telnet。而sancho是所有圖形界面中最優秀的一個(基於java,功能最複雜,你一定有眩暈的感覺)。
缺點:那就是設定有些複雜,而且都是英文的,但有一個比較好的設計就是,把滑鼠移到每個選項上會有英文提示。

安裝MLDonkey

Linux用戶可以通過所裝發行版的源中獲取mldonkey
windows用戶可在下面頁面下載mldonkey,其中Eclon for win32實際上就是mldonley+sancho
http://SourceForge.net/project/showfiles.php?group_id=153459

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> ...] : 從伺服器列表移除指定伺服器 (&#039;all&#039;清空伺服器列表)
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 : 已取消

相關詞條

相關搜尋

熱門詞條

聯絡我們