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