HowTo mlDonkey
aus C't-Server Wiki, der freien Wissensdatenbank
(Unterschied zwischen Versionen)
Version vom 07:22, 27. Feb 2006 Melwood (Diskussion | Beiträge) Einrichten ← Previous diff |
Aktuelle Version 83.135.217.34 (Diskussion | Beiträge) Einrichten |
||
Zeile 42: | Zeile 42: | ||
status() { | status() { | ||
- | PID=`ps ax -o "pid user command" | egrep -m 1 \{3\}./mlnet | awk {'print $1'}` | + | PID=`ps ax -o "pid user command" | egrep -m mldonkey | awk {'print $1'}` |
if [ $PID ];then | if [ $PID ];then | ||
if [ `ps -p $PID | wc -l` -eq 2 ]; then | if [ `ps -p $PID | wc -l` -eq 2 ]; then |
Aktuelle Version
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 |