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. Compatible con Ubuntu 18 - 24 y Windows.
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.
El panel sigue siendo un servicio alojado. Los dispositivos de una red autoalojada pueden seguir vinculados a él para su administración, y el panel puede enviarles la configuración de red.
Antes de empezar
- Un servidor con Ubuntu 18.04 a 24.04, 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. En un servidor nuevo, instalar los paquetes puede tardar unos minutos.
- 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.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && 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.
sh hsinstall.sh turn.example.com 443 myuser mypassword
Qué hace el script
- Instala con apt las herramientas de compilación y las bibliotecas de OpenSSL que necesita.
- Descarga el binario del servidor de señalización en la carpeta /home/hopsignal.
- Crea un servicio de systemd llamado hopsignal y lo inicia en cada arranque.
- 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.
- La versión para Windows también espera un certificado TLS y su clave privada en formato PEM. Sirve cualquier par, incluido uno autofirmado. Guárdelos como cert.pem y key.pem en la misma carpeta.
- Abra un Símbolo del sistema como administrador e inicie el servidor.
cd C:\hopsignal hopsignal.exe --ADDR 0.0.0.0:80 --WSS_ADDR 0.0.0.0:443 --CERT cert.pem --KEY key.pem --FEDLIST fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE hs.log
Si tiene OpenSSL, este comando crea un par de certificados autofirmados:
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 -subj "/CN=hopsignal"
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 --WSS_ADDR 0.0.0.0:443 --CERT C:\hopsignal\cert.pem --KEY C:\hopsignal\key.pem --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --FEDPWD 123456789 --LOGFILE C:\hopsignal\hs.log" schtasks /Run /TN HopSignal
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 "
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 o un despliegue en AWS. 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.
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 | 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, el servicio en segundo plano se ejecuta como root y lee el archivo en /root, mientras que la aplicación que usted abre lee el archivo en su propia carpeta personal. Ponga una copia en ambos lugares.
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.
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.
- 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:
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && 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
- La URL de tu Cloudflare Worker está lista. Úsala como valor de "rendezvousssl". api.json API personalizada

HopToDesk en AWS
- Regístrate para obtener una cuenta de AWS si aún no tienes una.
- Suscríbete en la ficha de HopToDesk en AWS Marketplace. AWS Marketplace
- Cuando Amazon aprovisione el servicio, configúralo si es necesario e inicia la instancia.
- Tu red de HopToDesk ya está desplegada en AWS. Establece su URL https como valor de "rendezvousssl". api.json API personalizada
Nota: El worker requiere un plan de pago de Cloudflare desde 5 $ al mes, porque depende de Durable Objects. 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.