Hola, la idea es loca, pero calculo que posible.
Tengo una red Lan con 2 o mas equipos, es posible, de alguna forma, correr una unica instancia de emule y manipularla desde ambas PCs?
Te transcribo la respuesta de otro foro, así lo hice yo en su momento y funciona.
Este mismo post está dentro de una de las discusiones de este foro. Me pareció importante postearlo nuevamente aquí, puesto que algunos usuarios no leen todas las discusiones del foro. Espero les sea útil.
Ésta es la explicación de cómo hacer correr eMule como un servicio de servidor para una LAN y los respectivos clientes en las terminales.
¿Por qué instalar eMule como un servicio?
- Porque de esta manera eMule correrá en un sistema multiusuario sin necesidad de que ningún usuario se loguee (Windows XP no es presisamente un sistema multiusuario, pero para el caso sirve)
- Porque si eMule se cae por alguna razón, al estar ejecutándose como servicio se reiniciará automáticamente y continuará bajando sin problemas.
- Porque si queremos correr eMule en todas las terminales de nuestra LAN (o en más de una), al instalar normalmente el cliente p2p, como éstos priorizan la subida sobre la bajada, perderemos parte considerable del ancho de banda, haciendo más lenta la bajada en todas las terminales. Ejemplo: tenemos dos eMule instalados, uno en el server otro en una terminal. Tenemos además una conexión ADSL de 256kbs. Supongamos que hemos configurado ambos con un máximo de subida de 10 kBs (80kbs) y un máximo de bajada de 32 kBs (256kbs). Como el cliente prioriza la subida, tomará 20kBs (160kbs de los 256 que tenemos) para subir datos de cada terminal, dejándonos sólo un márgen de 12 kBs (96kbs) para bajar entre los dos eMule... o sea... en condiciones óptimas, no bajaremos en cada uno de los clientes instalados, a más de 6KBs y probablemente recibamos además una ID baja. (no soñemos, además, con navegar en internet a buena velocidad)
¿Cuáles son los requerimientos que esta instalación tiene?
Necesitamos tener eMule (0.42d o similar) ; un sistema Windows basado en arquitectura NT (Windows 2000, Windows XP, Windows Server 2003) y un montador de servicios, en este ejemplo usaremos Firedaemon de Sublime Solutions Pty Ltd. (pueden bajarlo de acá www.firedaemon.com/#downloads Es un archivo de unos 4,2MB)
¿Cómo instalamos y configuramos todo?
- Instalamos eMule (hay manuales de cómo hacerlo en este foro)
- Configuramos eMule (hay manuales de cómo hacerlo en este foro)
- Compartir el directorio "Incoming" de eMule para acceso desde la LAN (de allí recuperará cada usuario de terminal los archivos que haya bajado. Esto es así porque no todos los clientes eMule tienen soporte para agregar directorios "Temp" e "Incoming" en unidades físicas de LAN)
- Configurar el eMule Webserver (esto no es imprescindible pero si altamente conveniente, dando posibilidad a los usuarios de las terminales de la LAN, de acceder a la administración de sus bajadas [suspenderlas, cancelarlas, etc]. Sobre la configuración del webserver de eMule, el cumpa JuanjoK ha posteado una exelente explicación)
- Instalar el Firedaemon y configurar eMule como servicio
- Instalar en cada terminal el cliente para el servicio eMule (el cliente se llama "Linkcatcher" y está para bajarlo con la mulita. Les dejo el link ed2k ed2k_link_catcher.zip
- Tener ganas de darle con un caño a la mulita bajando de todas partes y subiendo de sólo una
Instalación del Firedaemon
Después que bajamos el programita lo instalamos (esto es igual que la instalación de cualquier software así que doy por sentado que sabrán cómo hacerlo) y lo iniciamos. Si tenemos corriendo el eMule debemos pararlo (no sólo desconectar la conexión de eMule sino parar el programa... cerrarlo) para iniciar su instalación como servicio.
En el menú "Service" del Firedaemon, elegimos "New" (el nuevo servicio puede ser configurado manualmente o bien importar un archivo xml con la configuración. Para "deswindowizar" la cosa, lo haremos manualmente)
Las opciones de configuración del nuevo servicio que estamos creando, son las siguientes:
Program
- Short Name: eMule
- Display Name: eMule
custom Prefix String - on/off: (no se preocupen por configurar esto, pueden dejarlo en blanco)
- Description: corriendo eMule como servicio
- console Application: off
- working Directory: (modifiquen según su sistema. Esto es un ejemplo) c:\Archivos de programa\eMule
- Exectable: (modifíquenlo si hace falta) c:\Archivos de progama\eMule\eMule.exe
- Parameters: (déjenlo en blanco)
- Start-up Time (msec): 3000 (este es el tiempo que demora desde que el sistema arranca hasta que carga el servicio. Está en milisegundos)
Settings
- Show window: normal
- Logon Account: (no pongan nada para que eMule corra con independencia de si un usuario se ha logueado en el sistema o no. O sea, aunque no haya nadie usando Windows y aunque estemos en la pantallita azul de logueo de usuarios... si pasaron los 3000 milisegundos... eMule empezará a bajar)
- Interact with Desktop: on
- Start-UP Mode: Automatic (pueden ponerlo en manual. En mi caso me resultó más cómodo porque luego de que corre el servicio, notaremos que eMule "no abre". No es que no abra, ya está corriendo, pero algunas de las versiones de eMule no podrán mostrarnos su propia interfaz en el escritorio. Conclusión, conviene arrancar eMule, luego cargar el servicio a mano desde el firedaemon)
- Upon Program Exit: Restart the Program
- Monitorin Interval (msec): 5000
- Graceful Shutdown: on
- Max Shuddown Delay (msec): 5000
Las demás opciones de instalación del servicio pueden ser ignoradas sin problemas. Clickeamos en "Install", luego en "Cancel" y el servicio eMule ya debería estar corriendo. Si no es así, usamos "net start eMule"
Instalación de Link Catcher [en el servidor de la LAN]
Extraemos ed2k_link_catcher_server_service.exe del zip y lo ponemos en el directorio de instalación de nuestro eMule (ejemplo c:\Archivos de programa\eMule\) en la máquina servidor.
Nos vamos a Inicio-->Ejecutar y tipeamos ahí "command" (sin comillas) para que se nos abra una ventanita de terminal DOS. Allí deberemos ejecutar el siguiente comando (tengan en cuanta de corregir la ruta si tienen instalado en otro lugar el eMule) "c:\Arcuivos de programa\ed2k_link_catcher_server_service.exe PORT PASSWORD" (PORT es el puerto donde queremos que el servidor reciba los pedidos de las terminales. Ejemplo 5678 PASSWORD es un password que le pondremos para que nadie pueda usar ese servicio si no está debidamente autorizado)
Aclaración importante!: como DOS no soporta nombres largos en las rutas de los directorios, las comillas que puse en cada uno de los comandos que hay que ejecutar, salvo en el caso de command, HAY QUE PONERLAS. Los comandos los DEBEN poner ENTRE COMILLAS. De otra forma no podrán ejecutarlos.
Al correr este comando lo que hemos hecho es crear en nuestro servidor, el puerto y el password. Éste último se guardará encriptado en nuestro registro.
En la misma ventanita de terminal DOS, corremos otro comando más. "c:\Archivos de programa\ed2k_link_catcher_server_service.exe -install"
Ahora el servicio está instalado. Si queremos asegurarnos de que está corriendo nos vamos al "Panel de control"-->"Herramientas administrativas"-->"Servicios de componentes"-->"Servicios locales" En esa lista encontraremos a eMule como "ed2k link catcher server"
Aclaración importante: Debemos estar seguros de que "data exchange between service and desktop" está en "on" De otra manera el agregado de links ed2k no funcionará adecuadamente. Además sería bueno ponerlo para que corra automáticamente "run automatically" (estas son opciones de firedaemon)
Editando el registro de Windows para que los links ed2k sean tomados por nuestro eMule server
Hay que verificar que en el registro de Windows, figure HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMain. Ahí debemos agregar (si aún no está) dword name:"description" value:"Link Catcher Service to add ed2k Links to eMule"
Instalación del Ed2k_link_catcher_client [en cada una de las terminales de la LAN]
Tenemos que copiar "ed2k_link_catcher_client.exe" en cada una de las terminales que queremos que puedan bajar archivos con eMule en el servidor. Este cliente sirve tanto para ordenar a nuestro server que baje cosas desde la LAN como desde internet (para eso tendríamos que conocer el ip de nuestro servidor de LAN)
Copiamos ed2k_link_catcher_client.exe en donde se nos dé la gana dentro del disco duro de cada una de las terminales. no necesitamos tener eMule instalado en las terminales, por lo que podemos desinstalarlo sin ninguna culpa (eso si, si hay cosas pendientes de terminar de bajar, haría falta mover los temporales a la carpeta temp de eMule del servidor. Cuidado con los nombres para no sobreescribir nada)
Ahora hacemos doble click en este ejecutable.
Cuando arranque el programita, aparecerá una ventana de diálogo en donde tendremos que poner lo siguiente.
En "Server (Name or IP)" ponemos el nombre que el servidor tiene en la LAN o su ip (ejemplo: 192.168.0.1)
En "port" ponemos el puerto que hemos configurado en el servidor para este servicio (en nuestro ejemplo era 5678).
En "password" ponemos el password que pusimos en el servidor.
Ahora simplemente clickeamos en "register" y listo...
Si queremos hacer una prueba, usemos nuestro navedador preferido de internet y clickeemos en un link ed2k. Nos aparecerá un cartelito diciendo "el link ha sido correctamente agregado en el servidor" (o algo por el estilo)... nos vamos corriendo al server... abrimos el eMule... y... ¡ahí está!
Espero les haya sido útil y cualquier cosita peguen el grito
Elendil
::)
MUy Muy Buenos
Se mueve a tutoriales(desde clientes P2P)
Muy buen Tuto. Pero para mi que soy medio :'( no se podría poner algunas capturas de lo que se esta explicando. Lo que entra por los ojos es más confiable.
Gracias
lo configure todo, hice todo pero no los carga:(... desde la pc cliente aparece como que se transfirieron bien pero en la mula de aca no aparece nada :s... en el registro no dice nada tampoco.....
no se que será.. a alguien le funciono????
y otra cosa...
como creo una clave dword con valro??? ya que la dword puede ser hexadecimal (0-9 A-F) o decimal... pero letras no se puede :S)
gracias por la info, me sirvio mucho :up: :up: