Retour à l’accueil

Relais auto-hébergé

RemoScreen — Guide de déploiement du relais

Ce guide décrit le déploiement d’un relais RemoScreen. Le paquet contient le relais Linux, l’outil de configuration, les modèles et ce guide. Consultez l’état du téléchargement dans l’application pour connaître sa disponibilité.

Télécharger le paquet du relais

Choisissez l’architecture de votre serveur. Le paquet contient SHA256SUMS : vérifiez le téléchargement avant de le décompresser.

Linux x86_64 Linux ARM64 (en test)

Rôle du relais

Les appareils essaient d’abord une connexion directe. Si elle est impossible, le relais transmet l’image, le son et les commandes des sessions autorisées. Ajoutez votre relais dans Services de connexion sur le Mac et l’iPad pour disposer d’un chemin de secours. Toutes les étapes ci-dessous concernent le relais.

Téléchargement et préparation

Choisissez Linux x86_64 ou ARM64 selon votre serveur. Le paquet doit contenir remoscreen-service, remoscreen-setup, les modèles, ce guide, les identifiants de version et de source, et SHA256SUMS. Comparez la somme de contrôle à celle de la page de publication, puis extrayez le paquet dans un nouveau répertoire en conservant la version précédente.

Préparez un serveur Linux, un domaine pointant vers lui et un certificat HTTPS valide correspondant au domaine. Utilisez un compte dédié avec des droits minimaux et un répertoire de données persistantes. Rendez les programmes exécutables ; seul ce compte doit accéder au répertoire d’état, et les clés générées doivent avoir les droits 0600.

Les exemples utilisent connect.example.com, HTTPS 8443 et le port TCP 9443 pour le relais. Vérifiez domaine, ports, pare-feu et groupes de sécurité cloud. Si un port est occupé, prévoyez un proxy inverse ou une autre adresse d’écoute sans remplacer le service existant.

Initialiser le relais de secours

Exécutez l’outil avec le compte du service. Remplacez le domaine et choisissez un répertoire distinct appartenant à ce compte :

./remoscreen-setup -directory /var/lib/remoscreen/relay \
  -role relay -name RemoScreen \
  -control-url https://connect.example.com:8443/v2/control \
  -relay-host connect.example.com -relay-tcp-port 9443

L’outil crée l’identité du service, la clé d’accès client et la configuration. Toute nouvelle initialisation doit conserver le rôle relay et l’adresse d’origine ; les identités existantes ne sont pas écrasées. Ne supprimez pas les données et ne régénérez pas les clés pour mettre à jour le programme.

Démarrer le relais de secours

Conservez le même répertoire de données et remplacez les chemins des certificats par ceux de fichiers PEM lisibles par le compte du service :

./remoscreen-service -service-role=relay \
  -control-listen=:8443 \
  -control-tls-certificate=/etc/remoscreen/fullchain.pem \
  -control-tls-key=/etc/remoscreen/privkey.pem \
  -service-info-config=/var/lib/remoscreen/relay/service-info.json \
  -relay-control-config=/var/lib/remoscreen/relay/relay-control.json \
  -relay-access-keys=/var/lib/remoscreen/relay/relay-access-keys.json \
  -control-revocation-store=/var/lib/remoscreen/relay/revocations.json \
  -control-primary-lock=/var/lib/remoscreen/relay/primary.lock \
  -account-deletion-journal=/var/lib/remoscreen/relay/deletion-journal.json \
  -usage-ledger-store=/var/lib/remoscreen/relay/usage.jsonl \
  -public-host=connect.example.com -tcp-relay-listen=:9443 \
  -tcp-require-local-control-allocation=true \
  -relay-node-id=self-hosted -relay-region=self-hosted \
  -require-commercial-subscription=false

Vérifiez le démarrage au premier plan avant de confier le programme au gestionnaire de services Linux. L’unité doit définir le compte dédié, des chemins absolus, les mêmes arguments, le répertoire privé et le redémarrage en cas d’échec. Après renouvellement du certificat, redémarrez ce service pour charger le nouveau certificat.

Ajouter le relais sur Mac et iPad

Lisez le fichier privé client-connection.json sur le serveur pour obtenir l’adresse et la clé d’accès client. Transmettez-les par un canal de confiance. Sur chaque appareil, ouvrez Services de connexion → Ajouter un serveur, saisissez ces valeurs, vérifiez l’identité du service et enregistrez.

Les fichiers importables doivent provenir de la fonction Exporter la configuration de l’application. client-connection.json est un résultat d’initialisation destiné à l’administrateur, pas un fichier d’importation. Ne partagez jamais service-info.json, relay-control.json, les clés privées TLS ni le répertoire complet de données.

La connexion directe reste prioritaire. Ce secours n’est utilisé que si le relais est autorisé et la connexion directe indisponible.

Vérifier le déploiement

Depuis un autre réseau, vérifiez le certificat HTTPS et l’identité signée à /v2/service-info, puis lancez le test de connexion dans l’application. Avec des appareils déjà autorisés et un réseau de test empêchant la connexion directe, confirmez que ce relais est réellement utilisé. Vérifiez l’absence d’erreurs de certificat ou de clé dans les journaux.

Un processus actif ou un contrôle de santé réussi ne suffit pas. Testez l’affichage distant, le clavier, la souris, le transfert de fichiers et la reconnexion. Vérifiez aussi que la version annoncée par le serveur correspond au paquet.

Mettre à jour, restaurer et désinstaller

Avant une mise à jour, sauvegardez la configuration, toutes les données persistantes et les anciens exécutables, et notez la version. Arrêtez le service concerné, passez à la nouvelle version en conservant le répertoire de données et l’identité, puis répétez les vérifications. En cas d’échec, arrêtez la nouvelle version et restaurez l’ancienne avec la sauvegarde correspondante. Suivez les instructions de migration si le format des données change.

Pour désinstaller, désactivez et retirez d’abord l’unité concernée. L’administrateur doit décider explicitement de supprimer les programmes ou les données. Conservez par défaut les données et sauvegardes ; ne supprimez rien appartenant à d’autres services ou applications.