En las instalaciones
Aloja tu propia red de HopToDesk en tus instalaciones o en la nube.
Configura tu propia red
Configura tu propia red de HopToDesk en un servidor Linux o Windows de 64 bits.
Lo más rápido: en el panel, abra Configuración, Network Settings, Set up a private network. Obtiene un enlace de lanzamiento de AWS listo o un comando de Docker, y el nuevo servidor se reporta a su panel por sí solo. Abrir el panel
Tutorial de configuración
Guía de configuración paso a paso
Qué hace el instalador, cómo comprobarlo y cómo conectar sus dispositivos a su propia red.
Cómo funciona
HopToDesk usa dos tipos de servidores. El servidor de señalización ayuda a los dispositivos a encontrarse y establecer una sesión. El relay TURN transporta el tráfico de la sesión solo cuando no es posible una conexión directa entre los dos dispositivos.
Las sesiones están cifradas de extremo a extremo, así que ninguno de los servidores puede ver su pantalla, sus archivos ni su chat. El servidor de señalización solo ve los ID de los dispositivos y las solicitudes de conexión.
El instalador de esta página configura el servidor de señalización. El tráfico de relay pasa por el relay de HopToDesk de forma predeterminada, o por su propio servidor TURN si lo indica.
Los dispositivos de una red autoalojada pueden seguir vinculados al panel para su administración, y el panel puede enviarles la configuración de red.
¿Necesita también el panel en sus propios servidores? Habla con nosotros
Antes de empezar
- Un servidor Linux de 64 bits con systemd, como Ubuntu o Debian, o un servidor Windows.
- Acceso root o sudo en ese servidor.
- Una dirección IP o un nombre de host que todos sus dispositivos puedan alcanzar. Para una red que nunca sale de su LAN, basta con una dirección privada.
- El puerto TCP 80 abierto en el firewall del servidor para sus dispositivos.
- Si quiere su propio relay: el host, el puerto, el usuario y la contraseña de su servidor TURN.
Paso 1: Instalar el servidor de señalización en Linux
- Inicie sesión en el servidor como root o como un usuario con permisos sudo.
- En la parte superior de esta página, elija LAN + Default Relay o Custom TURN Server. El comando de instalación cambia según su elección.
- Haga clic en Copy, pegue el comando en la terminal y pulse Intro.
- Espere a que el script termine. Tarda menos de un minuto.
- Al final, el script muestra HopSignal Setup Complete, seguido de la dirección de su servidor y un bloque de configuración de red listo para usar. Guarde esa salida, la necesitará en el paso 3.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh
Con su propio servidor TURN, añada sus cuatro valores al final del comando en este orden: host, puerto, usuario, contraseña.
sudo sh hsinstall.sh turn.example.com 443 myuser mypassword
Qué hace el script
- Descarga el servidor de señalización para su procesador, Intel, AMD o ARM, en la carpeta /home/hopsignal.
- Comprueba la descarga con la lista SHA256SUMS publicada y se detiene sin cambios si no coincide.
- Crea un servicio de systemd llamado hopsignal y lo inicia en cada arranque.
- Inicia el servidor con los límites de conexión recomendados y una contraseña de federación aleatoria, guardada en /home/hopsignal/hopsignal.env con acceso solo para root.
- Añade un vigilante de cron que reinicia el servicio si deja de responder y rota el registro cuando supera los 100 MB.
- Abre el puerto TCP 80 en ufw cuando ufw está activo.
Paso 1 en Windows: Ejecutar el servidor de señalización
- Cambie el selector de OS en la parte superior de esta página a Windows y haga clic en Download. Obtendrá un único archivo llamado hopsignal.exe.
- Cree una carpeta como C:\hopsignal y mueva hopsignal.exe a ella.
- En la misma carpeta, cree un archivo de texto vacío llamado fedlist.txt.
- Abra un Símbolo del sistema como administrador e inicie el servidor.
cd C:\hopsignal
for /f %i in ('powershell -NoProfile -Command "[guid]::NewGuid().ToString('N')"') do @(setx /M FEDPWD %i >nul & set FEDPWD=%i)
hopsignal.exe --ADDR 0.0.0.0:80 --FEDLIST fedlist.txt --FEDADDR 127.0.0.1:82 --LOGFILE hs.log
La segunda línea guarda una contraseña de federación aleatoria como ajuste del sistema de Windows, así que nunca aparece en la línea de comandos del servidor.
Permita el puerto en el Firewall de Windows:
netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80
Para que el servidor siga funcionando tras un reinicio, regístrelo como tarea programada que arranque con el sistema bajo la cuenta SYSTEM:
schtasks /Create /TN HopSignal /SC ONSTART /RU SYSTEM /TR "C:\hopsignal\hopsignal.exe --ADDR 0.0.0.0:80 --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --LOGFILE C:\hopsignal\hs.log" schtasks /Run /TN HopSignal
Paso 1 con Docker: Ejecutar el servidor de señalización en un contenedor
La imagen hoptodesk/hopsignal ejecuta el mismo servidor de señalización en hosts Intel, AMD y ARM. Iníciela con los límites recomendados:
docker run -d --name hopsignal --restart unless-stopped -p 80:80 \ -e HS_MAX_MESSAGE_KB=64 -e HS_QUEUE_LIMIT=256 -e HS_MAX_CONNS=20000 \ -e HS_CONNS_PER_IP=100 -e HS_LOOKUPS_PER_IP=20 \ -e HS_IDLE_TIMEOUT=300 -e HS_UPGRADE_TIMEOUT=10 \ hoptodesk/hopsignal
Cada valor HS_ activa un límite: tamaño del mensaje en KB, mensajes en cola por conexión, conexiones abiertas, conexiones nuevas y búsquedas por dirección cada segundo, segundos de inactividad y segundos para el handshake. Si omite un valor, ese límite queda desactivado.
Para vincular el contenedor a su cuenta del panel automáticamente, use el comando de Docker de Set up a private network en el panel. Añade HS_SETUP_TOKEN y HS_DASHBOARD_URL, y el servidor reporta su dirección una sola vez, en su primer inicio.
Paso 2: Comprobar que el servidor está en marcha
En Linux, compruebe el servicio y el registro:
sudo systemctl status hopsignal tail /home/hopsignal/hs.log
En Windows, confirme que el puerto está a la escucha:
netstat -an | find ":80 "
Con Docker, compruebe el contenedor y su registro:
docker ps --filter name=hopsignal docker logs hopsignal
Desde cualquier equipo, pruebe el puerto WebSocket. Sustituya SERVER_IP por la dirección de su servidor. Un servidor sano responde HTTP/1.1 101 Switching Protocols.
curl -i -N -m 5 -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Version: 13" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" http://SERVER_IP:80/
Paso 3: Apuntar sus dispositivos al servidor
Cada dispositivo lee su configuración de red de un pequeño documento JSON. Es el bloque que el instalador mostró al final del paso 1. Sustituya SERVER_IP por la dirección de su servidor y rellene el bloque TURN si tiene su propio relay.
{
"turnservers": [
{
"protocol": "turn",
"host": "turn.hoptodesk.com",
"port": "443",
"username": "hoptodesk",
"password": "hoptodesk1234"
}
],
"rendezvous": {
"host": "SERVER_IP",
"port": "80"
},
"winversion": "1.0.0",
"macversion": "1.0.0",
"linuxversion": "1.0.0",
"none": "none"
}
El bloque rendezvous es su servidor de señalización. Use la clave rendezvousssl en lugar de rendezvous cuando el servidor se alcance por TLS, por ejemplo un Cloudflare Worker. La lista turnservers contiene uno o más relays. Ponga el protocolo en turn para una conexión sin cifrar o en turn-tls para una conexión TLS. Deje las claves de versión tal cual.
Escriba cada número de puerto entre comillas, como en el ejemplo anterior. La aplicación ignora un puerto escrito como un número simple.
Hay tres formas de entregar este documento a sus dispositivos. Elija la que mejor encaje con su instalación.
Opción A: Colocar un archivo api.json en cada dispositivo
Guarde el documento como un archivo llamado api.json en la carpeta de configuración de HopToDesk y reinicie HopToDesk. La aplicación lee el archivo al iniciar y deja de contactar con la API de HopToDesk.
| Plataforma | Ruta |
|---|---|
| Windows, todos los usuarios y el servicio (requiere permisos de administrador) | C:\ProgramData\HopToDesk\config\api.json |
| Windows, solo el usuario actual | %APPDATA%\HopToDesk\config\api.json |
| macOS | ~/Library/Preferences/com.hoptodesk.HopToDesk/api.json |
| Linux | ~/.config/hoptodesk/api.json |
En Linux, ponga una segunda copia en /root/.config/hoptodesk. La aplicación usa esa copia en la pantalla de inicio de sesión, antes de que un usuario inicie sesión.
Opción B: Alojar el archivo en una URL y seleccionarla en la aplicación
- Suba api.json a cualquier servidor web que sus dispositivos puedan alcanzar. Se recomienda HTTPS.
- En HopToDesk, haga clic en el icono de engranaje para abrir la configuración.
- En Network, haga clic en Choose Network.
- Seleccione Custom Network Settings, pegue la URL de su archivo y confirme.
- HopToDesk descarga el archivo, comprueba que contiene una entrada rendezvous válida y una lista turnservers, y luego se reconecta a través de su servidor.
Para volver a la red pública, abra de nuevo Choose Network y seleccione HopToDesk Network (Default).
En Android e iOS, abra Ajustes, desactive Use HopToDesk Network en la sección Red y luego introduzca la URL de su archivo. Los teléfonos gestionados con un EMM pueden recibir la misma URL mediante el ajuste gestionado custom_api_url.
Opción C: Enviar la configuración desde el panel
Si sus dispositivos están vinculados al panel de HopToDesk, puede definir la red una sola vez para toda la cuenta. Un cliente personalizado creado desde el panel ya incluye esta configuración.
Servidor nuevo: en el panel, abra Configuración, Network Settings, Set up a private network. Elija In my AWS account u On my own server. El servidor reporta su dirección al iniciarse y cada dispositivo vinculado recibe la configuración. Nada que escribir.
Un servidor que ya tiene en marcha: introduzca su configuración a mano.
- Inicie sesión en el panel como propietario o administrador y abra la configuración.
- En Network Settings, seleccione Custom Network.
- Introduzca el host del servidor de señalización, su puerto y WS como protocolo. Añada un servidor TURN si tiene su propio relay, o déjelo vacío para mantener el relay de HopToDesk.
- Haga clic en Save Network Settings. Cada dispositivo vinculado recibe la nueva configuración y la aplica sin reinstalar.
Ejecutar su propio relay TURN (opcional)
Las sesiones que no pueden conectarse directamente pasan por el relay de HopToDesk de forma predeterminada. Para mantener todo el tráfico en su propia infraestructura, ejecute un servidor TURN. Cualquier servidor TURN estándar sirve, y coturn es una opción habitual en Linux.
- Instale coturn en el servidor de relay.
sudo apt install coturn
- Edite /etc/turnserver.conf y establezca al menos los valores siguientes. Sustituya el realm, las credenciales y la IP pública por los suyos.
listening-port=443 fingerprint lt-cred-mech user=myuser:mypassword realm=example.com external-ip=PUBLIC_IP
- Si /etc/default/coturn contiene una línea TURNSERVER_ENABLED, descoméntela. Después habilite e inicie el servicio.
sudo systemctl enable --now coturn sudo systemctl restart coturn
- Abra el puerto de escucha para TCP y UDP, más el rango de relay UDP 49152 a 65535, en el firewall del relay.
- Entregue el relay a sus dispositivos: vuelva a ejecutar el instalador con los cuatro valores TURN, o edite el bloque turnservers en su configuración de red. Use turn-tls como protocolo si su relay termina TLS.
Administrar el servidor en Linux
sudo systemctl status hopsignal sudo systemctl restart hopsignal sudo systemctl stop hopsignal tail -f /home/hopsignal/hs.log
Para actualizar el servidor, detenga el servicio y vuelva a ejecutar el comando de instalación. Descarga el binario actual y reescribe el servicio.
Para eliminar el servidor junto con su servicio y sus entradas de cron:
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh remove
Solución de problemas
- El ID se queda en Generating, o la aplicación intenta conectarse a la red sin parar: el dispositivo no puede alcanzar el servidor de señalización. Compruebe que el servicio está en marcha, que el puerto 80 está abierto y que la dirección de su configuración de red es correcta.
- Los dispositivos se conectan en la LAN pero no desde fuera: el relay no es alcanzable. Con el relay predeterminado, los dispositivos necesitan acceso saliente a turn.hoptodesk.com por el puerto 443. Con su propio relay, revise sus reglas de firewall y sus credenciales.
- La aplicación ignora api.json: asegúrese de que el archivo es JSON válido sin comas finales, de que está en la carpeta correcta y de que ha reiniciado HopToDesk. El registro de la aplicación contiene la línea Loaded local api.json cuando el archivo se ha cargado.
- El puerto 82 es el puerto de federación para enlazar varios servidores de señalización propios. Manténgalo cerrado a Internet.
- El servidor de señalización no guarda datos de sesión. Si algo parece atascado, reinicie el servicio. Los dispositivos se reconectan solos en aproximadamente un minuto.
Alojamiento en terceros
¿Prefieres una plataforma gestionada? Despliega tu red de HopToDesk en Cloudflare o AWS.

HopToDesk en Cloudflare
- Inicia sesión en tu cuenta de Cloudflare y ve a la zona de dominio que quieras usar.
- Crea un nuevo worker con el nombre de archivo index.js.
- Copia el código del worker en index.js, luego guarda y despliega el worker. Código del worker
- En la configuración del worker, añade un binding de Durable Object llamado group para la clase SessionGroup.
- La URL de tu Cloudflare Worker está lista. Úsala como valor de "rendezvousssl". api.json API personalizada

HopToDesk en AWS
- Suscríbete a HopToDesk Private Network en AWS Marketplace. La oferta es gratuita; AWS solo cobra el servidor. AWS Marketplace
- ¿Ha iniciado sesión en el panel? Abra Configuración, Network Settings, Set up a private network y elija In my AWS account. El enlace de lanzamiento ya lleva la configuración, el servidor se reporta a su panel por sí solo y puede saltarse los pasos siguientes.
- Elija Launch with CloudFormation. Un solo formulario crea el servidor, su dirección fija y sus reglas de firewall en la región que elija.
- Cuando la pila esté completa, abra su pestaña Outputs. Muestra el api.json para sus aplicaciones.
- Guarda ese api.json en cada equipo o envíalo a todos los dispositivos desde Configuración de red en el panel. api.json
Nota: El worker usa Durable Objects. Su coste depende de su plan de Cloudflare y del uso. Precios de Durable Objects
AWS Marketplace y el logotipo de AWS Marketplace son marcas comerciales de Amazon.com, Inc. o sus filiales.Cloudflare, el logotipo de Cloudflare y Cloudflare Workers son marcas comerciales o marcas registradas de Cloudflare, Inc. en Estados Unidos y otras jurisdicciones.
¿Planificas un despliegue autoalojado? Solicitar presupuesto