A petición popular: guía de mldonkey multiusuario

Muchas gracias a todos los visitantes de la guía Mac Mini Media Center. Como ha habido peticiones de ayuda para configurar el famoso Mldonkey, no puedo por menos que describir cómo es mi instalación. Ojo, es la más sencilla; los que quieren optimizar “al megahertzio”, compilan su propio ejecutable, pero yo soy demasiado vago y he metido la versión 2.9.2 precompilada.

(Nota: El simbolillo “~” representa el directorio de usuario en sistemas *nix.)

Comenzamos:

1) Descargar el paquete “mldonkey-2.9.?.shared.-Darwin.tar.bz2″ de .

2) Descomprimirlo de manera que nos quede instalado en /Applications/mldonkey-distrib-2.9.?

3) Ahora ponemos el ojo en “/Applications/mldonkey-distrib-2.9.?/mlnet”, porque ese es nuestro ejecutable.

4) Lo arrancamos en una ventana de terminal, para ir haciendo pruebas: tecleamos “/Applications/mldonkey-distrib-2.9.?/mlnet”.

5) En teoría ya funciona. Conectamos con un navegador: http://127.0.0.1:4080 .

6) Hacemos visibles los directorios ocultos de OSX con

7) Creamos un directorio específico de descargas para cada usuario:

~/.mldonkey/incoming/files/juanidir
~/.mldonkey/incoming/files/paquidir
~/.mldonkey/incoming/directories/juanidir/
~/.mldonkey/incoming/directories/paquidir

8) Ahora falta compartir estas carpetas de descarga que hemos creado (o las explicadas más abajo, en el punto 14). Con Leopard se utiliza “Preferencias/Compartir” y con Tiger .

9) Ya lo podemos usar. Ahora toca personalizar. Si queremos un setup multiusuario, hacemos lo siguiente (iremos metiendo comandos en el ventanuco superior):

Añadimos usuarios con su clave, y grupos:
useradd paqui paqui123
useradd juani juani123
useradd admin admin123
groupadd grupopaqui admin:false
groupadd grupojuani admin:false>

Asignamos usuarios a grupos:
usergroupadd paqui grupopaqui
usergroupadd juani grupojuani

Y ponemos el grupo “default”:
userdgroup paqui grupopaqui
userdgroup juani grupojuani

Para borrar el que había y era común:
usergroupdel paqui mldonkey
usergroupdel juani mldonkey

Cada usuario tiene su directorio de descarga:
usercommit paqui paquidir
usercommit juani juanidir

10) Creamos los alias a estos directorios en un sitio accesible (por ejemplo ~/Películas) con Option+Command+Drag (Alt+Manzana+Arrastrar) o el comando “ln -s ~/.mldonkey/incoming/files/paquidir ~/Movies/linkapaqui”.

11) Rematamos cambiando algunas opciones, como las ip admitidas por el interfaz (allowed_ips) y los límites de velocidad de download/upload (max_hard_upload_rate, max_hard_download_rate). Tal vez queráis cambiar también los puertos de “edonkey” y “bittorrent” (en la pestaña “plugins”).

12) Creamos una aplicación de automator empleando “Script de Terminal” con el comando “/Applications/mldonkey-distrib-2.9.2/mlnet > /dev/null >2&1 &”. Abrimos preferencias de usuario y lo metemos como opción de arranque.

13) Si usar un navegador no resulta cómodo, podemos instalar

14) Apuesto a que habéis sufrido el problema de no poder borrar o mover archivos descargados porque todavía están en uso. Esto sucede porque mldonkey comparte automáticamente todos los archivos que deja en alguna carpeta de clase “incoming”. Alguno de vosotros matará el núcleo para poder mover a otro sitio los archivos. No hace falta.

Basta con poner en la propiedad “file_completed_cmd” dentro de la options/settings una ruta a un archivo de script, por ejemplo:

/Users/nombreusuario/.mldonkey/mover.sh

Este archivo será un script con posibilidad de ejecución (permisos “700″ al menos):

#!/bin/bash
PAT=”/Users/nombreusuario”
INCOMING=”.mldonkey/incoming”
USR1=”paquidir”
USR2=”juanidir”
DIR1=”paquiotrodir”
DIR2=”juaniotrodir”
cp -R $PAT/$INCOMING/$USR1/* $PAT/$DIR1
cp -R $PAT/$INCOMING/$USR2/* $PAT/$DIR2
rm -R $PAT/$INCOMING/$USR1/*
rm -R $PAT/$INCOMING/$USR2/*

Previamente deberemos haber creado ~/paquiotrodir  y  ~/juaniotrodir . De esta forma moveremos el contenido a un directorio que no está compartido por mldonkey ni, por tanto, sus archivos bloqueados por mlnet. El funcionamiento de este script está comprobado para Leopard.


15)
Una recomendación, si usáis el mac , y teniendo en cuenta que Leopard está un poco verde, es que programéis un reinicio diario de la máquina que refresque las conexiones de red. En el panel de preferencias/economizador existe la opción de fijar una hora de reinicio. Para que se tengan en cuenta estos ajustes, debemos cerrar sesión.

16) Para rizar el rizo, si queréis que al final del proceso se genere automáticamente un archivo de película AppleTV, podemos utilizar un script asociado a una Acción de Carpeta que lance una exportación de QuickTime Pro . Aquí os pongo el script, que además vigila la hora para hacer esto de madrugada.

on adding folder items to this_folder after receiving these_items
repeat with the_file in these_items
set currhour to (hours of (current date))
if ((currhour > 3) and (currhour < 22)) then
set volume 0
set new_file to the_file & "_appletv.m4v" as string
tell application "QuickTime Player"
open the_file
if (can export document 1 as iTunes) is true then
export document 1 to new_file as iTunes using settings "Movie to Apple TV"
close document 1
end if
end tell
set volume 50
end if
end repeat
tell application "QuickTime Player"
quit
end tell
set volume 50
end adding folder items to

Para añadirlas automáticamente a iTunes, podríamos poner algo como:

tell application “iTunes” add new_file to playlist “pelis_1″

(No he probado la adición a iTunes; no me gustaría saturar la librería).

Enjoy!

elFriki

Actualización: Añadidos los puntos 14, 15 y 16.


Martes, 22 de Enero de 2008

15 comentarios to “A petición popular: guía de mldonkey multiusuario”

  1. A Working Class Hero Comentario:

    Aún no la he leído (con lo que no sé si tendré dudas) pero desde ya mismo: ¡que dios te bendiga!

    Gracias tío.

  2. A Working Class Hero Comentario:

    Ahí va la primera (no podía tardar mucho, ¿no?): no me accede desde el navegador con al url http://127.0.0.1:4080/. He probado puertos a ojo y nada. ¿Es cosa del router? ¿Hay alguna utilidad para abrir puertos en Leopard (suponiendo que sea ése el problema)…

    Por esa misma regla de tres Sancho tampoco rula; dice que no encuentra ningún core.

    ¿Alguna sugerencia?

  3. elfriki Comentario:

    Para descartarlo, primero desactiva el firewall.
    Si no es eso, arranca el mlnet “a mano” en una terminal:

    /Applications/mldonkey-distrib-2.9.2/mlnet

    Seguro que te dice algo.
    Algo feo.

    Nota: 127.0.0.1 vale si arrancas el navegador en la misma máquina en la que corre el mlnet. Por si acaso.

  4. A Working Class Hero Comentario:

    Pues no, no parece que sean los puertos. He abierto uno TCP y otro UDP y nada, a menos que no esté haciendo algo del todo bien…

  5. A Working Class Hero Comentario:

    No, no dice nada feo:

    macbook-pro-de-daniel-belchi-gabarron:~ Daniel$ /Applications/mldonkey-distrib-2.9.3/mlnet
    2008/01/22 12:22:21 Starting MLDonkey 2.9.3 …
    2008/01/22 12:22:21 Language ES, locale UTF-8, ulimit for open files 256
    2008/01/22 12:22:21 MLDonkey is working in /Users/Daniel/.mldonkey

    2008/01/22 12:22:21 creating new MLDonkey base directory in /Users/Daniel/.mldonkey

    2008/01/22 12:22:21 Loading language resource mlnet_strings.es_ES.UTF-8
    2008/01/22 12:22:21 loaded language resource file
    2008/01/22 12:22:21 Resolving
    2008/01/22 12:22:21 Resolving
    2008/01/22 12:22:21 Logging in /Users/Daniel/.mldonkey/mlnet.log
    macbook-pro-de-daniel-belchi-gabarron:~ Daniel$

    ¿Ves? Pero luego no rula en el navegador. Por cierto, ¿cómo se desactiva el firewall en Leopard? No sabía que tuviera uno…

  6. A Working Class Hero Comentario:

    Pues sí, sí que lo tiene, vaya estupidez…, pero no, está abierto a todo el muy notas, así que no sé por qué puede ser…

  7. elfriki Comentario:

    Vamos a echar un ojo a

    Users/Daniel/.mldonkey/downloads.ini

    A ver qué tienes en http_port=

    También comprueba si funciona:

    telnet 127.0.0.1 4000

    Nota: Editar “Users/userl/.mldonkey/downloads.ini” es PODEROSO para lo bueno y para lo malo.

  8. A Working Class Hero Comentario:

    Mmm…, no aparece el fichero downloads.ini dentro de la carpeta oculta .mldonkey, y lo he probado ejecutando primero mlnet y sin ejecutar.

    El telnet 127.0.0.1 4000 lo he probado de todas las maneras y tampoco, quiero decir, con telnet 127.0.0.1:4000, sin los :, en el terminal y en el navegador, y nada de nada.

    ¿A qué podría ser debido esto? ¿Quizá la versión 2.9.3 de MLDonkey?

  9. elfriki Comentario:

    El archivo downloads.ini es fundamental y se crea nada más realizar el primer arranque. Si no aparece, algo en tu instalación está muy podrido. Revisa permisos, el usuario con el que ejecutas, el propietario de la aplicación, filevault… No te puedo decir si el 2.9.3 está roto, pero el 2.9.2 va de miedo.

  10. A Working Class Hero Comentario:

    No sé si estará podrido o qué, pero la cuestión es que tampoco me rula la 2.9.2. ¿Podría ser por Leopard? Joder, no sé qué mierdas puede ser y me da mucha rabia…

  11. elfriki Comentario:

    Te garantizo que el 2.9.2 tira de maravilla con leopard. Empieza de cero y no cambies de usuario en el proceso.

  12. A Working Class Hero Comentario:

    He probado todo el proceso de nuevo con la versión 2.9.2 para Mac OS X, también la misma pero PPC (no me preguntes por qué), y nada de nada. No se crea el download.ini del que me hablabas y tampoco se carga el GUI en el navegador.

    ¿No tendrás alguna librería en particular? Ya no sé qué hacer…

  13. A Working Class Hero Comentario:

    ¡Ya está! Me cago en la puta santa, no entiendo una mierda para qué doy todos los permisos a mi usuario si luego el jodido Leopard hace caso omiso.

    A ver tío, si yo entro con el usuario Daniel Belchí Gabarrón y sobre el archivo mlnet me otorgo los permisos de leer y escribir, ¿por qué ha sido necesario otorgar esos mismos permisos a los usuarios “staff” y “everyone” para que entonces rule? Se me pasa por la cabeza que al ejecutarlo desde el terminal, Leopard no sabe que soy Daniel y por ende no me dejaba ejecutar el core, pero sigue sin tener sentido si entro en el sistema como Daniel. ¿Tienes una respuesta a esto, tío?

    Por cierto, ¿qué es un alias en Leopard? Joder, me gustaría aprender un poco más de todo esto. ¿Conoces alguna guía o semejante que trate estos temas por Internet?

    En fin, elFriki, que sietemil gracias por tu ayuda, al final lo he conseguido (yo lo sabía, pero me desesperaba no saber cuándo).

    Un abrazo hombre.

    P. D.: Al final me he quedao con la 2.9.3 :)

  14. elFriki » Blog Archive » Mac Mini Media Center Comentario:

    […] He añadido este post ampliando un poco la información.

  15. jcb Comentario:

    primero, enhorabuena, eres cojonudo. En segundo lugar, y aun sin probarlo, en el tema que comentas para que te deja mover los archivos, al crear tu mover.sh, no se te han olvidad los directorios files y directories dentro de incoming? Porque yo, como t dices mas arriba, cree carpetas con el nombre del usuario dentro de dichos directorios y éstos no aparecen en tu mover.sh (todo esto lo hablo desde la teoria de la programación, repito que aun no lo he probado, espero no meter la pata demasiado). Sigue así, pedazo mákina.

Dejar un comentario


Cerrar
Enviar por Correo