Email: pacolinux arroba aldarias punto es
Con Linux Debian. En Valencia (España)
El documento tiene version .html, y .pdf, cambiando en el navegador la parte final podrás acceder a ambos.
Este documento es de libre reproducción siempre que se cite su fuente.
Realizado con:
LATEX
Mldonkey, "multi-networks file-sharing client" Es un sistema de compartir archivos de multired.
Es un programa p2p.
Redes a las que accede: Soulseek, Donkey, FileTP, Fasttrack, G2, Gnutella, Open Napster, Direct Connect.
El cliente (navegador web, kmldonkey, telnet) no funciona, sino tenemos el servidor en marcha (mlnet).
apt-get install mldonkey-server mldonkey-gui kmldoneky
Para lanzarlo:
mkdir /home/paco/mldonkey cd /home/paco/mldonkey mlnet &
Hay que bajarse este fichero:
mldonkey-2.5.11.tar.gz
De aquí:
http://savannah.nongnu.org/download/mldonkey/
mkir /soft/ml
cd /soft/ml
tar zxf mldonkey-2.5.11.tar.gz
apt-get install m4 zlibc zlib1g zlib1g-dev
Do you want this script to try to download and install ocaml LOCALLY in mldonkey directory ? Yes
mkdir /home/paco/ml/
cp /soft/ml/mldonkey-2.5.11/mlnet /home/paco/ml/
cd /home/paco/ml/
nice -19 ./mlnet
Copiar los ficheros: friends.ini, files.ini and shared_files_new.ini a la carpeta de trabajo.
Mas información aqui: http://mldonkey.berlios.de/modules.php?name=Wiki&pagename=Clean
Una vez arrancado el servidor entraremos para la gestión de usuarios.
Entramos al servidor: telnet 127.0.0.1 4000
Esto añade el usuario pepe:
useradd pepe passpepe
Le damos contraseña al usuario admin que es el de administración (y que trae por defecto) de mldonkey.
useradd admin nueva_pass
Kmldonkey permite ver lo q se esta bajando y controlar la velocidad de mldonkey
Instalarlo, desde consola como root:
apt-get install kmldonkey
Ejecutarlo:
kmldonkey
Número de servidores max_connected_servers = 3
Ip que pueden conectarse: allowed_ips = [ "127.0.0.1" "255.255.255.255";] Velocidad máxima de upload: max_hard_upload_rate = 5 Velocidad máxima de download: max_hard_download_rate = 15 Permite conectarse a la red opennap: enable_opennap = true Directorio temporal de fichero mientras se esta bajando: temp_directory = "/wine/mp3/temp/" Directorio donde se guardan los ficheros ya bajados: incoming_directory = "/wine/mp3/ok/"
#!/bin/sh MOVIE_PLAYER=mplayer REAL_PLAYER=realplayer AUDIO_PLAYER=xmms SHELL=${SHELL:-/bin/sh} PAGER=${PAGER:-less} XTERM=${XTERM:-xterm} #hack DISPLAY=${DISPLAY:-:0.0} export DISPLAY echo Local File is "$1" echo Pseudo file name is "$2" echo Detected format is "$(file -b $1)" case "$(echo $2|tr A-Z a-z)" in *.avi | *.divx | *.ogm | *.mpg | *.mpeg) exec $MOVIE_PLAYER "$1" & ;; *.rm | *.ram) exec $REAL_PLAYER "$1" & ;; *.mp3 | *.ogg | *.wav) exec $AUDIO_PLAYER "$1" & ;; *.zip) exec $XTERM -T "$2" -e $SHELL -c "unzip -v '$1' 2>&1 | $PAGER" & ;; *.rar) exec $XTERM -T "$2" -e $SHELL -c "unrar v '$1' 2>&1 | $PAGER" & ;; *.ace) exec $XTERM -T "$2" -e $SHELL -c "unace v '$1' 2>&1 | $PAGER" & ;; *) exec $XTERM -T "$2" -e $PAGER "$1" & ;; esac
# Por Paco Aldarias. v.1.2 06.09.2007 #! /bin/bash # Acceso usu="miusu" pass="mispass" # Velocidad lentoup=1 lentodown=50 rapidoup=100 rapidodown=15 #******************** function exportar # Ejemplo: dllink ed2k://|file|02-Roma_2.avi|474486784|F1DCFAB73A68F1126AFFDC4E1788B295|/ { >ml.export #Cogemos los numero de fichero num=$(echo -e "auth $usu $pass \n vd\nq" | nc 127.0.0.1 4000 | grep "\[D" | awk '{print $2}' | cut -d"]" -f1) for i in $(echo $num);do a=$(echo -e "auth $usu $pass \n vd $i \nq" | nc 127.0.0.1 4000 | grep ed2k | cut -c 10-) b=$(echo -e "auth $usu $pass \n vd $i \nq" | nc 127.0.0.1 4000 | awk '/Probable/ {print $3}') c=$(echo -e "auth $usu $pass \n vd $i \nq" | nc 127.0.0.1 4000 | awk '/Total/ {print $2}') echo "ed2k://|file|$b|$c|$a|/" >> ml.export done echo fichero generado: ml.export cat ml.export } #******************** function importar { for i in $(cat ml.export);do echo -e "auth $usu $pass \n dllink $i \n q" | nc 127.0.0.1 4000 done } #********************* function cancelar { echo -e "auth $usu $pass\n cancel $1 \n" | nc 127.0.0.1 4000 } #********************* function conectar { echo -e "auth $usu $pass\n ? \n" | nc 127.0.0.1 4000 } #********************* function help { echo -e "auth $usu $pass\n longhelp \nq" | nc 127.0.0.1 4000 } #********************* function comando { echo -e "auth $usu $pass \n $1 \n q" | nc 127.0.0.1 4000 } #********************* function link { echo "telnet 127.0.0.1 4000" echo "auth $usu $pass" echo "dllink fichero" echo -e "auth $usu $pass \n dllink $1 \n q" | nc 127.0.0.1 4000 } #**************************** function velocidad { echo "****************************" case "$1" in start) echo "DOWN: $rapidodown UP: $rapidoup" echo -e "auth $usu $pass\n \ set max_hard_download_rate $rapidodown \n \ set max_hard_upload_rate $rapidoup \n \ q \ " | nc 127.0.0.1 4000 \ ;; stop) echo "DOWN: $lentodown UP: $lentoup" echo -e "auth $usu $pass\n \ set max_hard_download_rate $lentodown \n \ set max_hard_upload_rate $lentoup \n \ q \ " | nc 127.0.0.1 4000 ;; *) echo "Uso: rate.sh start|stop" exit 1 ;; esac } #******************************** function arranque { case "$1" in "stop") killall mlnet ;; "start") cd /home/paco/.mldonkey/ mlnet & ;; *) echo "$0 arranque start|stop" exit 1 ;; esac } #*************************** function borrar { echo -e "auth $usu $pass \n cancel $1 \n confirm yes \n q" | nc 127.0.0.1 4000 } #*************************** function descargas { echo -e "auth $usu $pass \n vd\nq" | nc 127.0.0.1 4000 } #*************************** function propiedades { echo -e "auth $usu $pass \n vd $1 \nq" | nc 127.0.0.1 4000 } #********************* function opciones { echo "Valores:" echo "RAPIDO. DOWN: $rapidodown UP: $rapidoup" echo "LENTO. DOWN: $lentodown UP: $lentoup" echo "opciones:" echo "0. Salir" echo "h. Ayuda de comandos" echo "a. Arranque start/stop" echo "v. start/stop. Velocidad start/stop " echo "d. Descargas" echo "l. Link ed2k://" echo "c comando. Comando directo" echo "p num. Ver propiedades fichero" echo "b num. Borra fichero" echo "t. Conectar" echo "e. Exportar" echo "i. Importar" } #**************** MAIN case "$1" in 0) exit ;; b) borrar $2 ;; p) propiedades $2 ;; t) conectar ;; a) arranque $2 ;; v) velocidad $2 ;; d) descargas ;; h) help ;; c) comando $2 ;; l) link "$2" ;; e) exportar ;; i) importar ;; *) echo "SINTASIS: $0 opcion valor" opciones exit 1 ;; esac
Los carácteres extraños va entre comillas:
dllink "sdflfk()().torrent"
Si el fichero semilla esta en una carpeta:
dllink /usr/local/mldonkey/torrent/seeded/******.torrent
dllink xxxxxxx.ed2k
ssh -v -L4001:127.0.0.1:4001 usuario@Mimaquina.no-ip.com
Sacaría la lista (vd) de ficheros que estamos descargando y la metería en el fichero descargas.txt. La q (quit) es para salir del mldonkey y volver a la línea de comandos:
echo -e "vd\nq" | nc 127.0.0.1 4000 > descargas.txt
Para que me muestre los ficheros de los que en ese preciso momento estoy bajando efectivamente algo:
alias bajadas_donkey='echo -e "vd\nq" | nc 127.0.0.1 4000 | grep "^.\[34m\[D"'
Con eso no hace falta apagar mldonkey, cuando uno necesita más o menos velocidad.
Desde consola como root, escribir:
nano rate.sh
#! /bin/bash case "$1" in start) echo -e "auth admin mipassword\n set max_hard_download_rate 50 \n set max_hard_upload_rate 7 \n q " | nc 127.0.0.1 4000 ;; stop) echo -e "auth admin mipassword\n set max_hard_download_rate 5 \n set max_hard_upload_rate 3 \n q " | nc 127.0.0.1 4000 ;; *) echo "Uso: rate.sh start|stop" exit 1 ;; esac
Darle permisos de ejecución:
chmod 700 rate.sh
Ejecutarlo:
./rate.sh start
Ejecutarlo:
./rate.sh stop
Entrar desde consola con telnet: telnet localhost 4000
Poner estas ordenes:
set allowed_ips 192.168.1.88 save
Cuando no conecta a los servidores debemos pasarle la lista
telnet localhost 4000 servers /ruta/server.met
#! /bin/bash #++++++++++ cambiar esto # Acceso usu="misuario" pass="miscontrasenya" # Velocidad lentoup=1 lentodown=50 rapidoup=100 rapidodown=15 #++++++++++ fin cambiar esto #********************* function cancelar { echo -e "auth $usu $pass\n cancel $1 \n" | nc 127.0.0.1 4000 } #********************* function conectar { echo -e "auth $usu $pass\n ? \n" | nc 127.0.0.1 4000 } #********************* function help { echo -e "auth $usu $pass\n longhelp \nq" | nc 127.0.0.1 4000 } #********************* function comando { echo -e "auth $usu $pass \n $1 \n q" | nc 127.0.0.1 4000 } #********************* function link { echo "telnet 127.0.0.1 4000" echo "auth $usu $pass" echo "dllink fichero" echo -e "auth $usu $pass \n dllink $1 \n q" | nc 127.0.0.1 4000 } #**************************** function velocidad { echo "****************************" case "$1" in start) echo "DOWN: $rapidodown UP: $rapidoup" echo -e "auth $usu $pass\n \ set max_hard_download_rate $rapidodown \n \ set max_hard_upload_rate $rapidoup \n \ q \ " | nc 127.0.0.1 4000 \ ;; stop) echo "DOWN: $lentodown UP: $lentoup" echo -e "auth $usu $pass\n \ set max_hard_download_rate $lentodown \n \ set max_hard_upload_rate $lentoup \n \ q \ " | nc 127.0.0.1 4000 ;; *) echo "Uso: rate.sh start|stop" exit 1 ;; esac } #******************************** function arranque { case "$1" in "stop") killall mlnet ;; "start") cd /home/paco/.mldonkey/ mlnet & ;; *) echo "$0 arranque start|stop" exit 1 ;; esac } #*************************** function borrar { echo -e "auth $usu $pass \n cancel $1 \n confirm yes \n q" | nc 127.0.0.1 4000 } #*************************** function descargas { echo -e "auth $usu $pass \n vd\nq" | nc 127.0.0.1 4000 } #*************************** function propiedades { echo -e "auth $usu $pass \n vd $1 \nq" | nc 127.0.0.1 4000 } #********************* function opciones { echo "Valores:" echo "RAPIDO. DOWN: $rapidodown UP: $rapidoup" echo "LENTO. DOWN: $lentodown UP: $lentoup" echo "opciones:" echo "0. Salir" echo "h. Ayuda de comandos" echo "a. Arranque start/stop" echo "v start/stop. Velocidad start/stop " echo "d. Descargas" echo "l. Link ed2k://" echo "c comando. Comando directo" echo "p num. Ver propiedades fichero" echo "b num. Borra fichero" echo "t. Conectar" } #**************** MAIN case "$1" in 0) exit ;; b) borrar $2 ;; p) propiedades $2 ;; t) conectar ;; a) arranque $2 ;; v) velocidad $2 ;; d) descargas ;; h) help ;; c) comando $2 ;; l) link "$2" ;; *) echo "SINTASIS: $0 opcion valor" opciones exit 1 ;; esac
Hay que rediguir los siguientes puertos:
2 192.168.2.2 TCP+UDP 6881-6882 DONKEY1 3 192.168.2.2 TCP+UDP 5235-5239 DONKEY2 4 192.168.2.2 TCP+UDP 4530 DONKEY3 5 192.168.2.2 TCP+UDP 10358 DONKEY4
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html mldonkey -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation -html_version 4.0
The translation was initiated by paco on 2009-08-24