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 sur un serveur Linux ou Windows 64 bits.

Le plus rapide : dans le tableau de bord, ouvrez Paramètres, Network Settings, Set up a private network. Vous obtenez un lien de lancement AWS prêt à l'emploi ou une commande Docker, et le nouveau serveur se signale lui-même à votre tableau de bord. Ouvrir le tableau de bord

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.

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

Vous souhaitez aussi le tableau de bord sur vos propres serveurs ? Parlez-nous

Avant de commencer

  • Un serveur Linux 64 bits avec systemd, comme Ubuntu ou Debian, 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. Cela prend moins d'une minute.
  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.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo 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.

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

Ce que fait le script

  • Télécharge le serveur de signalisation adapté à votre processeur, Intel, AMD ou ARM, dans le dossier /home/hopsignal.
  • Vérifie le téléchargement par rapport à la liste SHA256SUMS publiée et s'arrête sans rien modifier s'il ne correspond pas.
  • Crée un service systemd nommé hopsignal et le démarre à chaque démarrage.
  • Démarre le serveur avec les limites de connexion recommandées et un mot de passe de fédération aléatoire, enregistré dans /home/hopsignal/hopsignal.env et accessible uniquement par root.
  • 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. Ouvrez une invite de commandes en tant qu'administrateur et démarrez le serveur.
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 deuxième ligne enregistre un mot de passe de fédération aléatoire comme paramètre système Windows, il n'apparaît donc jamais dans la ligne de commande du serveur.

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 --FEDLIST C:\hopsignal\fedlist.txt --FEDADDR 127.0.0.1:82 --LOGFILE C:\hopsignal\hs.log"
schtasks /Run /TN HopSignal

Étape 1 avec Docker : lancer le serveur de signalisation dans un conteneur

L'image hoptodesk/hopsignal exécute le même serveur de signalisation sur des hôtes Intel, AMD et ARM. Lancez-la avec les limites recommandées :

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

Chaque valeur HS_ active une limite : taille des messages en Ko, messages en attente par connexion, connexions ouvertes, nouvelles connexions et recherches par adresse et par seconde, secondes d'inactivité et secondes de négociation. Omettez une valeur et cette limite reste désactivée.

Pour lier automatiquement le conteneur à votre compte du tableau de bord, utilisez la commande Docker de Set up a private network dans le tableau de bord. Elle ajoute HS_SETUP_TOKEN et HS_DASHBOARD_URL, et le serveur signale son adresse une seule fois, à son premier démarrage.

É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 "

Avec Docker, vérifiez le conteneur et son journal :

docker ps --filter name=hopsignal
docker logs hopsignal

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. 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.

Écrivez chaque numéro de port entre guillemets, comme dans l'exemple ci-dessus. L'application ignore un port écrit comme un simple nombre.

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 service (nécessite des droits d'administrateur)C:\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, placez une deuxième copie dans /root/.config/hoptodesk. L'application utilise cette copie sur l'écran de connexion, avant qu'un utilisateur ne se connecte.

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 (Default).

Sur Android et iOS, ouvrez les Réglages, désactivez Use HopToDesk Network dans la section Réseau, puis saisissez l'URL de votre fichier. Les téléphones gérés par un EMM peuvent recevoir la même URL via le paramètre géré custom_api_url.

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.

Nouveau serveur : dans le tableau de bord, ouvrez Paramètres, Network Settings, Set up a private network. Choisissez In my AWS account ou On my own server. Le serveur signale son adresse au démarrage, et chaque appareil lié reçoit les paramètres. Rien à saisir.

Un serveur que vous exploitez déjà : saisissez ses paramètres à la main.

  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 :

curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo 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. Dans les paramètres du worker, ajoutez une liaison Durable Object nommée group pour la classe SessionGroup.
  5. L'URL de votre Cloudflare Worker est prête. Utilisez-la comme valeur "rendezvousssl". api.json API personnalisée

HopToDesk sur AWS

  1. Abonnez-vous à HopToDesk Private Network sur AWS Marketplace. L'offre est gratuite ; AWS ne facture que le serveur. AWS Marketplace
  2. Connecté au tableau de bord ? Ouvrez Paramètres, Network Settings, Set up a private network et choisissez In my AWS account. Le lien de lancement contient déjà les paramètres, le serveur se signale lui-même à votre tableau de bord, et vous pouvez sauter les étapes suivantes.
  3. Choisissez Launch with CloudFormation. Un seul formulaire crée le serveur, son adresse fixe et ses règles de pare-feu dans la région de votre choix.
  4. Une fois la pile terminée, ouvrez son onglet Outputs. Il affiche le fichier api.json pour vos applications.
  5. Enregistrez ce fichier api.json sur chaque ordinateur, ou envoyez-le à tous les appareils depuis Paramètres réseau dans le tableau de bord. api.json

Remarque : Le worker utilise Durable Objects. Leur coût dépend de votre forfait Cloudflare et de l'utilisation. 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.

Vous prévoyez un déploiement auto-hébergé ? Demander un devis