HowTo mlDonkey

aus C't-Server Wiki, der freien Wissensdatenbank

Inhaltsverzeichnis

mlDonkey Einrichten

Einrichten

  • Einen neuen User "mldonkey" anlegen. Dieser User braucht eine Shell, sonst funktioniert später der automatische Start von mldonkey beim Hochfahren des Servers nicht!
  • Ein Core-Binary von http://download.berlios.de/pub/mldonkey/spiralvoice/ runterladen.
  • Dieses Core-Binary in ein temporäres Verzeichnis entpacken.
  • Im Homeverzeichnis des Users "mldonkey" den Ordner "donkey" anlegen.
  • Die Datei "mlnet" vom temporären Verzeichnis nach /home/mldonkey/donkey/ kopieren.
  • Mit chown -R mldonkey:users /home/mldonkey den Besitz der Dateien und Verzeichnisse auf den User mldonkey übertragen.
  • Jetzt das folgende Start-Script unter /etc/init.d/mldonkey speichern:
#!/bin/sh
#
# MLDonkey start/stop script
#
# DESCRIPTION:
#   Script for starting, stopping and restarting
#   MLDonkey as a daemon.
#
# REQUIRES:
#   - bash, ps, wc, grep, awk and netcat.
#
# USAGE:
#   - run "/etc/init.d/MLDonkey start"   (to start)
#   - run "/etc/init.d/MLDonkey stop"   (to stop)
#   - run "/etc/init.d/MLDonkey restart"   (to restart)
#
 
## BEGIN USER CONFIGURATION ##
#
# Set running directory and username (not root).
MLDONKEYDIR=/home/mldonkey/donkey
USERNAME=mldonkey
#
# Set Netcat's (TCP/IP swiss army knife) filename - usually "nc" or "netcat"
   NETCAT=nc
#
## END USER CONFIGURATION ##
 
status() {
PID=`ps ax -o "pid user command" | egrep -m mldonkey | awk {'print $1'}`
if [ $PID ];then
        if [ `ps -p $PID | wc -l` -eq 2 ]; then
                echo "mldonkey (pid $PID) running..."
                return 1
        else
                echo "Stale PID"
        fi
fi
echo "mldonkey is stopped"
return 0
}
 
start() {
# see if there is a mldonkey running
status &> /dev/null
if [ $? = 0 ]; then
   echo "Starting mldonkey:"
   cd $MLDONKEYDIR
   # Run MLDonkey
   su $USERNAME -c "./mlnet > /dev/null 2>&1 &"
fi
return 0
}
 
stop() {
status &> /dev/null
if [ $? = 1 ]; then
   echo "Stopping mldonkey:"
   cd $MLDONKEYDIR
   bash -c "$NETCAT 127.0.0.1 4000 <<STOPHERE
      close_fds
      kill
      STOPHERE" &> /dev/null
   sleep 10
   return 0
fi
return 1
}
 
case "$1" in
   'status')
      status ;;
   'start')
      start ;;
   'stop')
      stop ;;
   'restart')
      stop
      start ;;
   *)
      echo "usage $0 start|stop|restart"
      exit 1 ;;
esac
 
exit $?
##-- eof 
  • Das Script auführbar machen: chmod 755 /etc/init.d/mldonkey.
  • Mit apt-get install netcat den Befehl netcat installieren.
  • Script testen mit:
/etc/init.d/mldonkey start
/etc/init.d/mldonkey status
/etc/init.d/mldonkey stop
/etc/init.d/mldonkey status

Wenn alles funktioniert:

  • Mit update-rc.d mldonkey defaults das Startscript in den Bootvorgang einbinden.
  • Jetzt die Datei /home/mldonkey/donkey/downloads.ini bearbeiten.
allowed_ips = ["127.0.0.1";]

Hier z.B.

allowed_ips = ["127.0.0.1"; "192.168.1.255";]

eintragen, dadurch dürfen alle Rechner im Netzt auf den mldonkey zugreifen.

Wenn mit ein GUI wie z.B. Sancho (http://sancho-gui.sourceforge.net) benutzen will dann noch folgendes ändern:

(* Ask for GUI start *)
ask_for_gui = false

ändern in

(* Ask for GUI start *)
ask_for_gui = true
  • Jetzt noch im IPCop die richtigen Ports öffnen (bitte nur für die Protokolle, die man später auch im mldonkey aktivieren will):
Dienst Art Port
eDonkey TCP 4662
eDonkey UDP 4662+4=4666
eDonkey (chat) UDP 4665
Overnet TCP beliebig
Overnet UDP wie TCP
Gnutella TCP 6346
Gnutella2 TCP 6346(6347)
Gnutella2 UDP 6346(6347)
BitTorrent TCP 6882 (6881-6889)
Fasttrack TCP 1214
OpenNap TCP 6699
Direct Connect TCP 4444
Direct Connect UDP 4444
Soulssek TCP 2234

Weblinks

Autor(en)

Melwood