Sur site

Hébergez votre propre réseau HopToDesk sur site ou dans le cloud.

Configurez votre propre réseau

Configurez votre propre réseau HopToDesk. Compatible avec Ubuntu 18 - 24 et Windows.

Système :
Linux
LinuxWindows
Cette configuration permet aux appareils de votre réseau local de se connecter directement, tout en utilisant les serveurs relais par défaut de HopToDesk pour les connexions externes.
Configurez votre propre serveur TURN pour un contrôle total des connexions relais. Tous les champs sont obligatoires.

Tutoriel d'installation

Auto-hébergement de HopToDesk

Guide d'installation pas à pas

Ce que fait l'installateur, comment le vérifier et comment connecter vos appareils à votre propre réseau.

Comment ça marche

HopToDesk utilise deux types de serveurs. Le serveur de signalisation aide les appareils à se trouver et à établir une session. Le relais TURN transporte le trafic de session uniquement lorsqu'une connexion directe entre les deux appareils est impossible.

Les sessions sont chiffrées de bout en bout, aucun des deux serveurs ne peut donc lire votre écran, vos fichiers ou votre chat. Le serveur de signalisation ne voit que les identifiants d'appareils et les demandes de connexion.

L'installateur de cette page met en place le serveur de signalisation. Le trafic relayé passe par défaut par le relais HopToDesk, ou par votre propre serveur TURN si vous en fournissez un.

Le tableau de bord reste un service hébergé. Les appareils d'un réseau auto-hébergé peuvent toujours y être liés pour la gestion, et le tableau de bord peut leur envoyer les paramètres réseau.

Avant de commencer

  • Un serveur sous Ubuntu 18.04 à 24.04, ou un serveur Windows.
  • Un accès root ou sudo sur ce serveur.
  • Une adresse IP ou un nom d'hôte que tous vos appareils peuvent atteindre. Pour un réseau qui ne quitte jamais votre LAN, une adresse privée suffit.
  • Le port TCP 80 ouvert sur le pare-feu du serveur pour vos appareils.
  • Si vous voulez votre propre relais : l'hôte, le port, le nom d'utilisateur et le mot de passe de votre serveur TURN.

Étape 1 : installer le serveur de signalisation sous Linux

  1. Connectez-vous au serveur en tant que root, ou avec un utilisateur disposant des droits sudo.
  2. En haut de cette page, choisissez LAN + Default Relay ou Custom TURN Server. La commande d'installation change selon votre choix.
  3. Cliquez sur Copy, collez la commande dans le terminal et appuyez sur Entrée.
  4. Attendez la fin du script. Sur un serveur neuf, l'installation des paquets peut prendre quelques minutes.
  5. À la fin, le script affiche HopSignal Setup Complete, suivi de l'adresse de votre serveur et d'un bloc de paramètres réseau prêt à l'emploi. Conservez cette sortie, vous en aurez besoin à l'étape 3.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh

Avec votre propre serveur TURN, ajoutez ses quatre valeurs à la fin de la commande dans cet ordre : hôte, port, nom d'utilisateur, mot de passe.

sh hsinstall.sh turn.example.com 443 myuser mypassword

Ce que fait le script

  • Installe avec apt les outils de compilation et les bibliothèques OpenSSL nécessaires.
  • Télécharge le binaire du serveur de signalisation dans le dossier /home/hopsignal.
  • Crée un service systemd nommé hopsignal et le démarre à chaque démarrage.
  • Ajoute un chien de garde cron qui redémarre le service s'il ne répond plus, et fait tourner le journal lorsqu'il dépasse 100 Mo.
  • Ouvre le port TCP 80 dans ufw lorsque ufw est actif.

Étape 1 sous Windows : lancer le serveur de signalisation

  1. Basculez le sélecteur OS en haut de cette page sur Windows et cliquez sur Download. Vous obtenez un seul fichier nommé hopsignal.exe.
  2. Créez un dossier tel que C:\hopsignal et déplacez-y hopsignal.exe.
  3. Dans le même dossier, créez un fichier texte vide nommé fedlist.txt.
  4. La version Windows attend aussi un certificat TLS et sa clé privée au format PEM. N'importe quelle paire convient, y compris auto-signée. Enregistrez-les sous cert.pem et key.pem dans le même dossier.
  5. Ouvrez une invite de commandes en tant qu'administrateur et démarrez le serveur.
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 vous avez OpenSSL, cette commande crée une paire de certificats auto-signés :

openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 -subj "/CN=hopsignal"

Autorisez le port dans le pare-feu Windows :

netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80

Pour que le serveur continue de fonctionner après un redémarrage, enregistrez-le comme tâche planifiée qui se lance au démarrage sous le compte 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

Étape 2 : vérifier que le serveur fonctionne

Sous Linux, vérifiez le service et le journal :

sudo systemctl status hopsignal
tail /home/hopsignal/hs.log

Sous Windows, vérifiez que le port est en écoute :

netstat -an | find ":80 "

Depuis n'importe quel ordinateur, testez le port WebSocket. Remplacez SERVER_IP par l'adresse de votre serveur. Un serveur en bonne santé répond 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/

Étape 3 : diriger vos appareils vers le serveur

Chaque appareil lit ses paramètres réseau dans un petit document JSON. C'est le bloc que l'installateur a affiché à la fin de l'étape 1. Remplacez SERVER_IP par l'adresse de votre serveur et remplissez le bloc TURN si vous exploitez votre propre relais.

{
  "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"
}

Le bloc rendezvous est votre serveur de signalisation. Utilisez la clé rendezvousssl au lieu de rendezvous lorsque le serveur est joint via TLS, par exemple un Cloudflare Worker ou un déploiement AWS. La liste turnservers contient un ou plusieurs relais. Définissez le protocole sur turn pour une connexion simple ou sur turn-tls pour une connexion TLS. Laissez les clés de version telles quelles.

Il existe trois façons de transmettre ce document à vos appareils. Choisissez celle qui correspond à votre configuration.

Option A : placer un fichier api.json sur chaque appareil

Enregistrez le document sous le nom api.json dans le dossier de configuration de HopToDesk, puis redémarrez HopToDesk. L'application lit le fichier au démarrage et ne contacte plus l'API HopToDesk.

PlateformeChemin
Windows, tous les utilisateurs et le serviceC:\ProgramData\HopToDesk\config\api.json
Windows, utilisateur actuel uniquement%APPDATA%\HopToDesk\config\api.json
macOS~/Library/Preferences/com.hoptodesk.HopToDesk/api.json
Linux~/.config/hoptodesk/api.json

Sous Linux, le service en arrière-plan s'exécute en root et lit le fichier sous /root, tandis que l'application que vous ouvrez lit le fichier dans votre propre dossier personnel. Placez une copie aux deux endroits.

Option B : héberger le fichier à une URL et la sélectionner dans l'application

  1. Téléversez api.json sur n'importe quel serveur web accessible par vos appareils. HTTPS est recommandé.
  2. Dans HopToDesk, cliquez sur l'icône d'engrenage pour ouvrir les paramètres.
  3. Sous Network, cliquez sur Choose Network.
  4. Sélectionnez Custom Network Settings, collez l'URL de votre fichier et confirmez.
  5. HopToDesk télécharge le fichier, vérifie qu'il contient une entrée rendezvous valide et une liste turnservers, puis se reconnecte via votre serveur.

Pour revenir au réseau public, rouvrez Choose Network et sélectionnez HopToDesk Network.

Option C : envoyer les paramètres depuis le tableau de bord

Si vos appareils sont liés au tableau de bord HopToDesk, vous pouvez définir le réseau une seule fois pour tout le compte. Un client personnalisé créé depuis le tableau de bord intègre déjà ces paramètres.

  1. Connectez-vous au tableau de bord en tant que propriétaire ou administrateur et ouvrez les paramètres.
  2. Sous Network Settings, sélectionnez Custom Network.
  3. Saisissez l'hôte du serveur de signalisation, son port et WS comme protocole. Ajoutez un serveur TURN si vous exploitez votre propre relais, ou laissez vide pour conserver le relais HopToDesk.
  4. Cliquez sur Save Network Settings. Chaque appareil lié reçoit les nouveaux paramètres et les applique sans réinstallation.

Exploiter votre propre relais TURN (facultatif)

Les sessions qui ne peuvent pas se connecter directement passent par défaut par le relais HopToDesk. Pour garder tout le trafic sur votre propre infrastructure, exploitez un serveur TURN. Tout serveur TURN standard convient, et coturn est un choix courant sous Linux.

  1. Installez coturn sur le serveur relais.
sudo apt install coturn
  1. Modifiez /etc/turnserver.conf et définissez au moins les valeurs ci-dessous. Remplacez le realm, les identifiants et l'IP publique par les vôtres.
listening-port=443
fingerprint
lt-cred-mech
user=myuser:mypassword
realm=example.com
external-ip=PUBLIC_IP
  1. Si /etc/default/coturn contient une ligne TURNSERVER_ENABLED, décommentez-la. Activez ensuite le service et démarrez-le.
sudo systemctl enable --now coturn
sudo systemctl restart coturn
  1. Ouvrez le port d'écoute en TCP et en UDP, ainsi que la plage de relais UDP 49152 à 65535, sur le pare-feu du relais.
  2. Transmettez le relais à vos appareils : relancez l'installateur avec les quatre valeurs TURN, ou modifiez le bloc turnservers dans vos paramètres réseau. Utilisez turn-tls comme protocole si votre relais termine le TLS.

Gérer le serveur sous Linux

sudo systemctl status hopsignal
sudo systemctl restart hopsignal
sudo systemctl stop hopsignal
tail -f /home/hopsignal/hs.log

Pour mettre à jour le serveur, arrêtez le service et relancez la commande d'installation. Elle télécharge le binaire actuel et réécrit le service.

Pour supprimer le serveur avec son service et ses entrées cron :

cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh remove

Dépannage

  • L'ID reste sur Generating, ou l'application tente sans cesse de se connecter au réseau : l'appareil ne peut pas atteindre le serveur de signalisation. Vérifiez que le service fonctionne, que le port 80 est ouvert et que l'adresse dans vos paramètres réseau est correcte.
  • Les appareils se connectent sur le LAN mais pas depuis l'extérieur : le relais n'est pas joignable. Avec le relais par défaut, les appareils ont besoin d'un accès sortant vers turn.hoptodesk.com sur le port 443. Avec votre propre relais, vérifiez ses règles de pare-feu et ses identifiants.
  • L'application ignore api.json : vérifiez que le fichier est un JSON valide sans virgule finale, qu'il se trouve dans le bon dossier et que vous avez redémarré HopToDesk. Le journal de l'application contient la ligne Loaded local api.json lorsque le fichier a été pris en compte.
  • Le port 82 est le port de fédération qui relie plusieurs de vos serveurs de signalisation. Gardez-le fermé à Internet.
  • Le serveur de signalisation ne stocke aucune donnée de session. Si quelque chose semble bloqué, redémarrez le service. Les appareils se reconnectent d'eux-mêmes en une minute environ.

Hébergement chez un tiers

Vous préférez une plateforme managée ? Déployez plutôt votre réseau HopToDesk sur Cloudflare ou AWS.

HopToDesk sur Cloudflare

  1. Connectez-vous à votre compte Cloudflare et accédez à la zone de domaine souhaitée.
  2. Créez un nouveau worker avec le nom de fichier index.js.
  3. Copiez le code du worker dans index.js, puis enregistrez et déployez le worker. Code du worker
  4. L'URL de votre Cloudflare Worker est prête. Utilisez-la comme valeur "rendezvousssl". api.json API personnalisée

HopToDesk sur AWS

  1. Créez un compte AWS si vous n'en avez pas encore.
  2. Abonnez-vous à l'offre HopToDesk sur AWS Marketplace. AWS Marketplace
  3. Une fois le service provisionné par Amazon, configurez-le si nécessaire et lancez l'instance.
  4. Votre réseau HopToDesk est maintenant déployé sur AWS. Définissez son URL https comme valeur "rendezvousssl". api.json API personnalisée

Remarque : Le worker nécessite un forfait Cloudflare payant à partir de 5 $ par mois, car il repose sur Durable Objects. Tarifs Durable Objects

AWS Marketplace et le logo AWS Marketplace sont des marques d'Amazon.com, Inc. ou de ses filiales.
Cloudflare, le logo Cloudflare et Cloudflare Workers sont des marques et/ou des marques déposées de Cloudflare, Inc. aux États-Unis et dans d'autres juridictions.