MLDonkey是一个GPL开源免费、跨平台(Linux、Solaris、Mac OS X、Windows 以及 MorphOS)、多协议的P2P共享软件。其支持包括eDonkey电驴协议在内的多种P2P协议,并能运行于类Unix/Linux、Mac OS X、Windows等操作系统。主要使用OCaml语言编写,,同时有些部分使用了一些C语言以及汇编语言的代码,从而保证了它的高效能。可接受Magnet URI,能搭配各种GUI。
软件简介
MLDonkey官方只提供了telnet和html两种接口。其实基于
web浏览器 的html管理方式是用的最多的图形接口,用它可以方便的在网页上管理mldonkey。此外还有一些以telnet为基础开发的图形前端,比如KMLdonkey和Sancho。
作为ED2K客户端,mldonkey的最大特色就是支持同时连接多服务器(
emule ,
amule 等都只能连接一个ed2k服务器),大大提高了可用源的数量。而不像其他我所用过的emule-mod那样只能连一个。因此,其速度可以快好几倍(可以很容易的达到带宽上限哦,是我所用过的最快的
电驴 )。另外,他还有众多图形界面(其本身只是一个命令行的东西),可以用浏览器控制(推荐),甚至telnet。而sancho是所有图形界面中最优秀的一个(基于java,功能最复杂,你一定有眩晕的感觉)。
MLDonkey支持各种下载协议,包括ed2k、bittorrent、http、ftp等等,而且在继续扩充。不过MlDonkey没有官方的简体中文版本。
安装方法
Linux用户可以通过所装发行版的源中获取mldonkey。
windows用户可在官方网站下载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 <用户组名>
: 添加用户组 <管理员> 服务器命令
1. vm : 列出已连接服务器
2. vma : 列出所有已知服务器
3. n [<端口>] : 添加服务器
4. server_banner : 打印编号为的服务器的旗帜(欢迎信息),其中由vm命令获得
5. servers <文件名> : 从一个server.met文件中添加服务器
6. c [] : 连接到更多服务器(或者连接到号服务器)
7. x : 断开与号服务器的连接
8. id : 列出本机在已连接服务器上的id
9. preferred : 设置/取消为首选服务器
10. bs [ ...] : 将所给ip加入服务器黑名单
11. bp
[ ...] : 将所给端口加入端口黑名单 12. rem [ ...] : 从服务器列表移除指定服务器 ('all'清空服务器列表)
13. remove_old_servers :移除几天没有连接上的服务器
搜索命令
1. s [特殊搜索参数] <查询内容> : 在所有网络上
搜索文件 * 特殊搜索参数(SpecialSearchArgs)
-minsize : 限制最小文件大小
-maxsize : 限制最大文件大小
-media : 限制文件类型
-Video : 指定为视频文件
-Audio : 指定为音频文件
-format : 指定为特定格式 <扩展名>
-title : 搜索标题(Mp3 tag搜索)
-album : 搜索专辑(Mp3 tag搜索)
-artist
: 搜索艺术家 (Mp3 tag搜索) -field
-not : “非”条件搜索
-and : “与”条件搜索
-or : “或”条件搜索
-without
2. xs : 扩展搜索以获得更多的搜索结果(向一些低优先级的服务器发送查询请求)
3. vs : 显示查询历史和结果统计
4. vr : 查看某此查询的详细结果,其中num由vs获得
5. view_custom_queries : 列出定义的自定义查询种类,如[Complex Search],[MP3 Search],[Movie Search],[Album Search]等
6. forget [ ...] : 丢弃指定编号搜索记录,num由vs获得
好友命令
1. friends : 列出所有好友的名称和好友编号
2. files : 列出指定标号的好友的共享文件
3. vfr : 列出所有好友的详细信息,friends命令的扩展,包括IP和积分等
4. gfr : 请求指定编号好友的共享文件列表,以便用files命令查看
5. friend_add
: 添加指定编号客户端 为好友,client_num可由downloaders和uploaders命令得到 6. friend_remove : 移除指定编号好友 (编号all清空好友列表)
7. message
: 向指定编号客户端 发送消息 下载命令
1. cancel : 取消指定编号的下载任务,用法同pause,另见confirm
2. confirm : 确认取消下载任务,当使用cancel取消下载任务后,需要用 confirm yes确认取消
3. d : 下载指定编号文件,编号可由s等搜索命令获得
4. dllink : 下载以ed2k、sig2dat、BT种子等链接形式给出的文件,比如ed2k打头的ed2k文件hash
5. dllinks : 下载指定文件中的所有url(允许有空行)
6. dd : 下载一个已知大小和md4-hash码的文件
7. http : 从一个http/ftp/ssh url下载文件(注:FTP尤其是SSH仍处于实验阶段)
8. mirror
: 给指定编号下载任务添加源(镜像 ),其中file_num由vd得到(这是迅雷 的强项) 9. merge : 这是条强大的命令。这条命令将不同协议(ed2k/BT/HTTP/FTP等)但文件相同的下载任务链接到一起(可以说是mirror的升级版),其中 file1是主文件,不能取消链接(注:这条命令仍处于实验阶段)
10. force_download : 强制重新下载一个已经下载的文件。用法是,先用d/dd/dlink等命令下载文件,mldonkey会提示该文件已经下载,此时键入此命令
11. vd [] : 不加参数将会列出所有处于下载队列中的下载任务信息,加上参数num则列出指定编号的下载任务
12. pause : 暂停指定编号下载任务,all暂停所有任务,编号由vd获得
13. resume : 恢复指定编号下载任务,用法同pause
14. tracker [...]:给指定编号的BT热任务添加tracker服务器
15. priority
[...] : 改变下载任务的优先级
17. commit : 将完成下载的文件从download文件夹移动到income文件夹,文件夹的具体位置在download.ini中设置
18. startbt : 开始一个BT下载任务
上传命令
1. compute_torrent : 为指定文件制作BT种子
2. nu
: 暂停上传m分钟。注:此命令受一个积分系统 控制(credit system),没上传1分钟,得到1点积分(最大300),每暂停上传1分钟消耗1点积分,所以每次暂停最多300分钟。 3. reshare : 从共享目录更新共享文件列表。(不过当前mldonkey会自动监视文件变化,这条命令很少用了)
4. reshare_torrents : 更新共享的种子列表
5. seeded_torrents : 列出所有共享的种子
6. shares : 列出所有共享目录
7. unshare : 将指定目录从共享目录中移除
全局控制命令
1. version : 打印mldonkey的版本
2. q : 退出当前的telnet会话
4. kill : 保存配置文件并关闭mldonkey
客户端 5. ! : 远程执行shell命令,如: ! halt
6. close_fds : 关闭所有文件,
清除文件 缓存,
释放磁盘空间 。
7. close_all_sockets : 关闭所有打开的sockets。这条命令主要作用是mldonkey在IP改变后(动态IP)快速恢复正常工作,而不是等待连接超时。
8. activity : 列出指定时间内的edonkey和overnet所有活动
用户配置命令
2. ansi : 如果设置成true,命令行将采用彩色显示文字,但是有些命令行并不支持(如windows的comandline),这时就需要将其设置成false
3. disable : 禁止指定编号的网络
4. enable : 激活指定编号的网络
5. html_mods : 切换web界面模式(两种)
6. html_mods_style [] : 不加参数则列出所有可用的web颜色风格及编号,加上编号参数则选择指定web界面的颜色风格(切换颜色风格后web界面自动变回第一种模式,应该是个bug)
7. html_theme : 选择web界面的主题
8. import
: 从指定目录导入edonkey官方客户端 的下载任务 9. port
: 改变ed2k端口,默认是4662,改变在重启core后生效 10. set : 设置某个选项的值
11. share
[] : 将指定目录以指定优先级共享,可选参数是共享策略。优先级越高,为此目录预留的上传槽越多。下面是预定义的共享策略:
13. urladd : 从url载入指定类型的文件,定义的kind如下
donkey服务器列表
增加rss同步频道. 其内容可由rss命令获得
Setup changes of the day
Information of the day in HTML format
edonkey的文件注释列表
IP to country mapping database
IP过滤列表 (ipfilter and guardian v2格式)
fasttrack结点列表
14. urlremove :从web_infos列表中移除url,web_infos列表由vwi命令查看
15. vo : 列出关键选项的值,如上传/下载限制速度,昵称,端口等
16. voo []: 列出所有可用选项,可选参数正则式作匹配条件,如voo *ED2K, voo *port
17. options []: 不加参数列出所有选项分类,如Header, main, interface, ed2k等,option 分类名 则列出指定分类下的选项
18. reset_md4 : 重置
客户端 的md4 hash(估计是被ban了才会用)
Overnet 命令
1. ov_boot
: 添加一个overnet结点 2. ov_boots : 列出所有overnet结点
3. ov_dump_bucket : 废弃指定序号索引桶,索引桶序号由ov_store得到,见ov_store(This is for development)
4. ov_dump_known_peers : dumps known_peers (This is for development)
5. ov_link : 从overnet网络下载一个以fha链接给出的文件(就像edonkey的ed2k链接一样)
6. ov_load : 从一个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 : 用指定url的ocl(overnet contact list)文件初始化
Kad(emlia)命令
2. kad_dump_bucket : 废弃指定序号索引桶,索引桶序号由ov_store得到 (This is for development)
3. kad_dump_known_peers : dumps known_peers (This is for development)
4. kad_link : 从kad网络下载一个以fha链接给出的文件
5. kad_load : 从一个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 : 用指定url的ocl文件初始化
恢复命令
1. import_temp
: 从eDonkey / eMule / lMule临时文件 目录导入未完成的下载, 2. scan_temp : 列出临时目录下的文件
3. recover_bytes [< file2_num2> ...] : 尝试修复指定的部分下载的文件(字节级别),未完成部分用非零字节填充(最好用verify_chunks进行校验),file_num由vd得到,见选项max_recover_gap。
4. recover_temp : 从指定目录恢复未完成的下载。这个命令的作用是恢复那些文件信息丢失(files.ini)但是下载数据还在的下载任务,重建文件信息。并且只能恢复文件中已经完成的块(chunck)。
5. verify_chunks : 按块(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是否被阻止
2. clear_log : 清空日志文件
3. close_log : 停止核心向日志文件写入信息
4. debug_client
[ ...] : 记录指定客户端 的行为到日志文件 5. debug_disk : 显示磁盘信息,如debug_bug /
6. debug_file : 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 : 将核心信息写入指定文件
14. mem_stats : 列出详细的内存信息
15. networks : 列出已经连接到的网络
16. open_log : 激活日志记录
17. test_recover : 显示指定文件中已经下载的段
18. use_poll : 用poll代替select, mldonkey应该使用poll,因为它更高效,而且没有1024文件描述长度限制
19. stdout : 恢复日志到标准输出流
未分类命令
1. vc
: 查看客户端 信息,num由downloaders和uploaders得到 * 第一个参数是定义了一个星期内此命令在那些天被执行(Sunday=0, Monday=1, Tuesday=2, ..., Saturday=6).
* 第一个参数是定义了一天内此命令在那些小时被执行(in 24-hour format 0 ... 24).
* 第三个参数是要执行的命令
3. vwi : 列出当前网络信息
4. gdremove : 移除存储图形化统计信息的文件
5. message_log : 显示已经记录到日志的消息(数秒内显示 )
6. preview : 预览指定文件,文件编号由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 : 已取消