Chinaunix首页 | 论坛 | 博客
  • 博客访问: 728890
  • 博文数量: 39
  • 博客积分: 10290
  • 博客等级: 上将
  • 技术积分: 1500
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-16 15:05
文章分类
文章存档

2011年(15)

2010年(2)

2009年(8)

2008年(14)

我的朋友

分类: LINUX

2008-09-23 20:02:01

mldonkey支持比较多的下载协议,包括ed2k、BitTorrent、DC++等。mldonkey本身没有界面,是以后台服务(Daemon)的类型运行,可以通过命令行接口 (CLI) 完全控制。由于实现了服务与界面的分离,运行比较稳定。mldonkey支持三种配置方式:web方式、telnet方式和图形界面控制方式,推荐使用web方式,要登录web界面,在浏览器里输入就可以了。要登录telnet,可以在终端里输入telnet 4000即可。下面说一下mldonkey的安装与配置。

安装mldonkey

没什么特别的,mldonkey是open source的,安装方式也没有什么特殊的,就是经典的三个阶段就搞定了。所以没什么好说的,唉,真失败。

配置mldonkey

mldonkey的主要配置文件在用户Home目录的.mldonkey里面。其中download.ini是主要的配置文件。
下面是一些简单的配置说明:

  • client_name
    设置nickname,随便设置就可以了,不过一般设置为[CHN][VeryCD]xxxxxx,这个是emule的命名方式,冒充emule的用户,有些server需要特殊的nickname才可以连上。
  • shared_directories
    共享的文件夹路径在这里设置,默认[]就是不共享。
  • allow_browse_share
    是否容许别人浏览你共享的文件。
  • gui_port = 4001, http_port = 4080, telnet_port = 4000
    三种操控方式使用的端口,记得如果在这里修改了gui的端口,也要在gui的设置中同样更改。
  • allowed_ips = [”127.0.0.1″;]
    容许控制端联接的ip列表,可以使用简单的通配符如*和?。
  • max_hard_upload_rate, max_hard_download_rate
    最大上传速度和最大下载速度,根据自己的实际带宽,最大下载速度大于实际带宽就可以了。如果要限制传输速度,就设置这两个参数,0表示不限,单位是KB。
  • enable_bittorrent, enable_donkey, enable kademlia, enable_opennap…
    各种p2p协议,想使用的话就true,不想用就设置成false。一般需要启用enable_donkey和enable kademlia。
  • max_concurrent_downloads
    最大容许的同时下载线程,默认是60。
  • temp_directory, incoming_directoryauto_commit
    下载中未完成的文件存放路径和完成的文件存放的路径,auto_commit表示mldonkey会自动把下载完成的文件从temp_directory 移动到incoming_directory里面。 可以修改为自己想存储的路径,默认的路径是在隐藏目录下的,比较不方便查看。如果不想修改,就把~/.mldonkey下面的temp目录和incoming目录都干掉,然后建个链接。嘿嘿。
  • ED2K-force_client_high_id, ED2K- force_high_id
    设置为true,强制高ID。
  • ED2K-max_connected_servers:10。最多连接的服务器数目,设置为10就可以了,最后只会稳定在几个,我的一般在4、5个。
  • max_indirect_connections:这个范围是30-70,如果你想要更多的连接,可以修改高一点。
  • max_opened_connections:这个最大可以到924,理由同上。
  • ask_for_gui
    启动时询问是否开启mldonkey_gui,如果觉得这个对话框很烦就设置成false,以后可以自己手动运行mldonkey_gui。
  • start_gui
    是否自动运行gui界面。

解决的问题

1、导入amule/emule的临时文件:web方式是在地址栏里输入命令:import_temp ,telnet方式是在命令行里输入import_temp ,其中<>里的内容是你的amule/emule temp文件夹的绝对路径。
2、中文乱码问题:要设置用来启动mldonkey的用户的环境变量,LANG和LC_ALL都设置为zh_CN.UTF-8就可以了。然后观察mldonkey的启动信息或者看log看看是不是用的这个locale,如果是,那就基本ok了。如果不是,那就改呗。看看下面的启动脚本就明了了。
3、手动加上mldonkey的启动脚本,这样可以开机自动运行了。

偶的脚本备忘一下:

KILL=/bin/kill
KILL_OPT=-9
command="/usr/local/bin/mlnet"

stop_service()
{
    pid_of_mlnet=`pidof mlnet`
    $KILL $KILL_OPT  $pid_of_mlnet
   
    pid_of_mlnet=`pidof mlnet`
    if [ $pid_of_mlnet ]; then
    echo "unable to stop mlnet.try do it mannually."
    else
    echo DONE
    fi
}

start_service()
{
  rm -f $mlnet_cfg_home/*.tmp 2>/dev/null
  rm -f $mlnet_cfg_home/mlnet.log 2>/dev/null
  rm -f $mlnet_cfg_home/*.pid 2>/dev/null

    mlnet_logcommand="-log_file ${mlnet_logfile}"

  if [ "x${mlnet_user}" = "x$(whoami)" ]; then
    echo a
    eval "${command} \
        ${mlnet_logcommand} \
        ${mlnet_flags} \
        >> ${mlnet_logfile} 2>&1 &"
  else
    echo b
    su -l ${mlnet_user} -c "LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 ${command} \
        ${mlnet_logcommand} \
        ${mlnet_flags} \
        >> ${mlnet_logfile} 2>&1 &"
  fi
}


case $1 in

'start')
    start_service
    ;;

'stop')
    stop_service
    ;;

'restart')
    stop_service
    start_service
    ;;

*)
    echo "$0:  usage:  $0 {start|stop|restart}"
    ;;
esac

凑合用用吧。呵呵。
阅读(2287) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~