aMule (简体中文)

From ArchWiki
Revision as of 11:12, 15 July 2012 by Cuihao (Talk | contribs)

Jump to: navigation, search

翻译状态: 本文是英文页面 AMule翻译,最后翻译时间:2012-07-15,点击这里可以查看翻译后英文页面的改动。

aMule是一个跨平台的eD2k和Kademlia网络客户端,类似于eMule,即电驴客户端。

安装

官方源提供了软件包amule。另外,AUR中的amule-dlpAUR软件包支持动态吸血保护(旧版本)。

amuled是aMule的后台守护进程。其前端有GTK的aMuleGUI、网页版的aMuleWeb、命令行的aMuleCmd。

配置

最简单的使用方式,命令行输入amule或直接点击系统菜单启动aMule即可。以下将把amule配置为系统级服务(守护进程)。

amule 守护进程(amuled)

创建配置文件

首先,需要创建一个用户来运行amule守护程序:

# useradd -m -d /srv/amule -s /bin/bash amule

然后,打开shell,登录用户amule,首次运行amuled来建立配置文件:

# su amule
$ amuled --ec-config

接下来,amule守护程序会请求输入一个临时的密码,随便输入什么都行(例如amule),然后按Template:Keypress停止amuled。

编辑配置文件

现在,我们要正确配置amuled,让其正常运行。 首先,为链接amuled的外部程序设置密码:

$ echo -n <这里是密码> | md5sum | cut -d ' ' -f 1

上述命令将密码加密输出。接下来,编辑配置文件,添加下列内容到[ExternalConnect]部分:

/srv/amule/.aMule/amule.conf
AcceptExternalConnections=1
ECPassword=<encrypted password>

创建开机自启动脚本

注意: 按说这些东西应该由amule软件包提供的,BT客户端transmission就是那样做的。

要开机启动amuled,需要手动建立一个守护进程脚本/etc/rc.d/amuled

# touch /etc/rc.d/amuled

文件内容如下,请自行复制:

#!/bin/bash
DAEMON=amuled
USER=amule

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
 start)
   stat_busy "Starting $DAEMON"
   su "$USER" -l -s /bin/sh -c "$(printf "%q -f>/dev/null" "/usr/bin/amuled" )"
   if [ $? = 0 ]; then
     add_daemon $DAEMON
     stat_done
   else
     stat_fail
     exit 1
   fi
   ;;
 stop)
   stat_busy "Stopping $DAEMON"
   killall --quiet --ignore-case "/usr/bin/amuled"
   if [ $? = 0 ]; then
     rm_daemon $DAEMON
     stat_done
   else
     stat_fail
     exit 1
   fi
   ;;
 restart|force-reload)
   $0 stop
   sleep 4 #1 is not enough
   $0 start
   ;;
 *)
   printf "Usage: %q {start|stop|restart|force-reload}\n" "$0" >&2
   exit 1
   ;;
esac

exit 0

添加可执行的权限:

# chmod 755 /etc/rc.d/amuled

编辑/etc/rc.conf,配置为开机启动:

DAEMONS=( ... network amuled ... )

amuleweb

注意: 较之amulegui,amuleweb功能单薄,输出的下载信息也少,而且经常要求输入密码(让浏览器记住密码会好一些)。基于以上原因,建议使用amulegui,并忽略本节。

创建配置文件

还是使用之前配置amuled时的那个新用户,启动amuleweb以初始化配置文件:

$ amuleweb --write-config --password=<这里是密码> --admin-pass=<这个是网页登录密码>

<这里是密码>处填写之前配置amuled使用的密码(未加密的),<这个是网页登录密码>处填写登录网页界面时输入的密码。

创建开机自启动脚本

创建/etc/rc.d/amuleweb

# touch /etc/rc.d/amuleweb

内容如下:

#!/bin/bash
DAEMON=amuleweb
USER=amule

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
 start)
   stat_busy "Starting $DAEMON"
   su "$USER" -l -s /bin/sh -c "$(printf "%q --quiet &" "/usr/bin/amuleweb" )"
   if [ $? = 0 ]; then
     add_daemon $DAEMON
     stat_done
   else
     stat_fail
     exit 1
   fi
   ;;
 stop)
   stat_busy "Stopping $DAEMON"
   killall --quiet --ignore-case "/usr/bin/amuleweb"
   if [ $? = 0 ]; then
     rm_daemon $DAEMON
     stat_done
   else
     stat_fail
     exit 1
   fi
   ;;
 restart|force-reload)
   $0 stop
   sleep 1
   $0 start
   ;;
 *)
   printf "Usage: %q {start|stop|restart|force-reload}\n" "$0" >&2
   exit 1
   ;;
esac

exit 0

添加可执行权限:

# chmod 755 /etc/rc.d/amuleweb

编辑/etc/rc.conf,配置开机启动:

DAEMONS=( ... network amuled amuleweb ... )
注意: amuleweb必须在amuled之后启动,否则amuleweb无法运行。
注意: 之后记得把用户amule的默认shell设置为/bin/false,这样别人就无法使用该用户启动shell了:编辑/etc/passwd,将用户amule项的/bin/bash替换为/bin/false(其他部分内容与示例可能有所区别,请不要随意改动):
amule:x:1001:1001::/srv/amule:/bin/false

使用

启动amuled、amuleweb(如果需要):

# rc.d start amuled
# rc.d start amuleweb

然后,可以访问地址http://127.0.0.1:4711链接amuleweb,或者使用`amulegui`或`amulecmd`控制amule。

小贴士: 如果默认获取KAD节点(nodes.dat)的地址无效,可以从如下地址获取: http://nodes-dat.com

更多信息,参见:Getting_Started at aMule wiki