标题：mlDonkey
简介
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
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 : 已取消