On-Premises

Betreiben Sie Ihr eigenes HopToDesk-Netzwerk on-premises oder in der Cloud.

Richten Sie Ihr eigenes Netzwerk ein

Richten Sie Ihr eigenes HopToDesk-Netzwerk auf einem 64-Bit-Linux- oder Windows-Server ein.

Schnellster Weg: Öffnen Sie im Dashboard Einstellungen, Network Settings, Set up a private network. Sie erhalten einen fertigen AWS-Startlink oder einen Docker-Befehl, und der neue Server meldet sich von selbst bei Ihrem Dashboard. Dashboard öffnen

Betriebssystem:
Linux
LinuxWindows
Diese Konfiguration erlaubt Geräten in Ihrem LAN eine direkte Verbindung und nutzt für externe Verbindungen die Standard-Relay-Server von HopToDesk.
Konfigurieren Sie einen eigenen TURN-Server für die volle Kontrolle über Relay-Verbindungen. Alle Felder sind erforderlich.

Einrichtungs-Tutorial

HopToDesk Self-Hosting

Schritt-für-Schritt-Anleitung

Was der Installer tut, wie Sie ihn prüfen und wie Sie Ihre Geräte mit Ihrem eigenen Netzwerk verbinden.

So funktioniert es

HopToDesk verwendet zwei Arten von Servern. Der Signalserver hilft Geräten, einander zu finden und eine Sitzung aufzubauen. Das TURN-Relay überträgt Sitzungsdaten nur dann, wenn keine direkte Verbindung zwischen den beiden Geräten möglich ist.

Sitzungen sind Ende-zu-Ende verschlüsselt, sodass keiner der Server Ihren Bildschirm, Ihre Dateien oder Ihren Chat lesen kann. Der Signalserver sieht nur Geräte-IDs und Verbindungsanfragen.

Der Installer auf dieser Seite richtet den Signalserver ein. Der Relay-Verkehr läuft standardmäßig über das HopToDesk-Relay oder über Ihren eigenen TURN-Server, wenn Sie einen angeben.

Geräte in einem selbst gehosteten Netzwerk können weiterhin zur Verwaltung mit dem Dashboard verknüpft werden, und das Dashboard kann die Netzwerkeinstellungen an sie verteilen.

Soll auch das Dashboard auf Ihren eigenen Servern laufen? Sprechen Sie uns an

Bevor Sie beginnen

  • Ein 64-Bit-Linux-Server mit systemd, zum Beispiel Ubuntu oder Debian, oder ein Windows-Server.
  • Root- oder sudo-Zugriff auf diesen Server.
  • Eine IP-Adresse oder ein Hostname, den alle Ihre Geräte erreichen können. Für ein Netzwerk, das Ihr LAN nie verlässt, reicht eine private Adresse.
  • TCP-Port 80 in der Firewall des Servers für Ihre Geräte geöffnet.
  • Wenn Sie ein eigenes Relay möchten: Host, Port, Benutzername und Passwort Ihres TURN-Servers.

Schritt 1: Den Signalserver unter Linux installieren

  1. Melden Sie sich am Server als root oder als Benutzer mit sudo-Rechten an.
  2. Wählen Sie oben auf dieser Seite LAN + Default Relay oder Custom TURN Server. Der Installationsbefehl ändert sich je nach Auswahl.
  3. Klicken Sie auf Copy, fügen Sie den Befehl im Terminal ein und drücken Sie die Eingabetaste.
  4. Warten Sie, bis das Skript fertig ist. Das dauert weniger als eine Minute.
  5. Am Ende gibt das Skript HopSignal Setup Complete aus, gefolgt von Ihrer Serveradresse und einem fertigen Block mit Netzwerkeinstellungen. Bewahren Sie diese Ausgabe auf, Sie brauchen sie in Schritt 3.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh

Mit einem eigenen TURN-Server hängen Sie dessen vier Werte in dieser Reihenfolge an den Befehl an: Host, Port, Benutzername, Passwort.

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

Was das Skript tut

  • Lädt den Signalserver für Ihren Prozessor, Intel, AMD oder ARM, in den Ordner /home/hopsignal herunter.
  • Prüft den Download gegen die veröffentlichte SHA256SUMS-Liste und bricht ohne Änderungen ab, wenn er nicht übereinstimmt.
  • Erstellt einen systemd-Dienst namens hopsignal und startet ihn bei jedem Systemstart.
  • Startet den Server mit den empfohlenen Verbindungslimits und einem zufälligen Föderationspasswort, das in /home/hopsignal/hopsignal.env nur für root lesbar abgelegt wird.
  • Fügt einen Cron-Watchdog hinzu, der den Dienst neu startet, wenn er nicht mehr antwortet, und das Protokoll rotiert, sobald es 100 MB überschreitet.
  • Öffnet TCP-Port 80 in ufw, wenn ufw aktiv ist.

Schritt 1 unter Windows: Den Signalserver starten

  1. Stellen Sie den OS-Schalter oben auf dieser Seite auf Windows und klicken Sie auf Download. Sie erhalten eine einzelne Datei namens hopsignal.exe.
  2. Erstellen Sie einen Ordner wie C:\hopsignal und verschieben Sie hopsignal.exe dorthin.
  3. Erstellen Sie im selben Ordner eine leere Textdatei namens fedlist.txt.
  4. Öffnen Sie eine Eingabeaufforderung als Administrator und starten Sie den Server.
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

Die zweite Zeile speichert ein zufälliges Föderationspasswort als Windows-Systemeinstellung, sodass es nie in der Befehlszeile des Servers erscheint.

Den Port in der Windows-Firewall freigeben:

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

Damit der Server nach einem Neustart weiterläuft, registrieren Sie ihn als geplante Aufgabe, die beim Systemstart unter dem Konto SYSTEM startet:

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

Schritt 1 mit Docker: Den Signalserver in einem Container starten

Das Image hoptodesk/hopsignal führt denselben Signalserver auf Intel-, AMD- und ARM-Hosts aus. Starten Sie es mit den empfohlenen Limits:

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

Jeder HS_-Wert schaltet ein Limit ein: Nachrichtengröße in KB, wartende Nachrichten pro Verbindung, offene Verbindungen, neue Verbindungen und Abfragen pro Adresse und Sekunde, Leerlaufsekunden und Handshake-Sekunden. Lassen Sie einen Wert weg, bleibt dieses Limit aus.

Um den Container automatisch mit Ihrem Dashboard-Konto zu verbinden, verwenden Sie den Docker-Befehl aus Set up a private network im Dashboard. Er fügt HS_SETUP_TOKEN und HS_DASHBOARD_URL hinzu, und der Server meldet seine Adresse einmal, beim ersten Start.

Schritt 2: Prüfen, ob der Server läuft

Unter Linux prüfen Sie den Dienst und das Protokoll:

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

Unter Windows prüfen Sie, ob der Port lauscht:

netstat -an | find ":80 "

Mit Docker prüfen Sie den Container und sein Protokoll:

docker ps --filter name=hopsignal
docker logs hopsignal

Testen Sie den WebSocket-Port von einem beliebigen Computer aus. Ersetzen Sie SERVER_IP durch Ihre Serveradresse. Ein funktionierender Server antwortet mit 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/

Schritt 3: Ihre Geräte auf den Server ausrichten

Jedes Gerät liest seine Netzwerkeinstellungen aus einem kleinen JSON-Dokument. Das ist der Block, den der Installer am Ende von Schritt 1 ausgegeben hat. Ersetzen Sie SERVER_IP durch Ihre Serveradresse und füllen Sie den TURN-Block aus, wenn Sie ein eigenes Relay betreiben.

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

Der Block rendezvous ist Ihr Signalserver. Verwenden Sie den Schlüssel rendezvousssl statt rendezvous, wenn der Server über TLS erreicht wird, zum Beispiel ein Cloudflare Worker. Die Liste turnservers enthält ein oder mehrere Relays. Setzen Sie das Protokoll auf turn für eine unverschlüsselte Verbindung oder auf turn-tls für eine TLS-Verbindung. Lassen Sie die Versionsschlüssel unverändert.

Schreiben Sie jede Portnummer in Anführungszeichen, wie im Beispiel oben. Die App ignoriert einen Port, der als einfache Zahl angegeben ist.

Es gibt drei Wege, dieses Dokument an Ihre Geräte zu bringen. Wählen Sie den, der zu Ihrer Umgebung passt.

Option A: Eine api.json-Datei auf jedem Gerät ablegen

Speichern Sie das Dokument als Datei namens api.json im Konfigurationsordner von HopToDesk und starten Sie HopToDesk neu. Die App liest die Datei beim Start und kontaktiert die HopToDesk-API nicht mehr.

PlattformPfad
Windows, alle Benutzer und der Dienst (erfordert Administratorrechte)C:\ProgramData\HopToDesk\config\api.json
Windows, nur aktueller Benutzer%APPDATA%\HopToDesk\config\api.json
macOS~/Library/Preferences/com.hoptodesk.HopToDesk/api.json
Linux~/.config/hoptodesk/api.json

Unter Linux legen Sie eine zweite Kopie in /root/.config/hoptodesk ab. Die App verwendet diese Kopie auf dem Anmeldebildschirm, bevor sich ein Benutzer anmeldet.

Option B: Die Datei unter einer URL bereitstellen und in der App auswählen

  1. Laden Sie api.json auf einen beliebigen Webserver hoch, den Ihre Geräte erreichen können. HTTPS wird empfohlen.
  2. Klicken Sie in HopToDesk auf das Zahnradsymbol, um die Einstellungen zu öffnen.
  3. Klicken Sie unter Network auf Choose Network.
  4. Wählen Sie Custom Network Settings, fügen Sie die URL Ihrer Datei ein und bestätigen Sie.
  5. HopToDesk lädt die Datei herunter, prüft, ob sie einen gültigen rendezvous-Eintrag und eine turnservers-Liste enthält, und verbindet sich dann über Ihren Server neu.

Um zum öffentlichen Netzwerk zurückzukehren, öffnen Sie erneut Choose Network und wählen Sie HopToDesk Network (Default).

Öffnen Sie unter Android und iOS die Einstellungen, schalten Sie im Bereich Netzwerk Use HopToDesk Network aus und geben Sie dann die URL Ihrer Datei ein. Telefone, die über ein EMM verwaltet werden, können dieselbe URL über die verwaltete Einstellung custom_api_url erhalten.

Option C: Die Einstellungen über das Dashboard verteilen

Wenn Ihre Geräte mit dem HopToDesk-Dashboard verknüpft sind, können Sie das Netzwerk einmal für das gesamte Konto festlegen. Ein im Dashboard erstellter Custom Client bringt diese Einstellungen bereits mit.

Neuer Server: Öffnen Sie im Dashboard Einstellungen, Network Settings, Set up a private network. Wählen Sie In my AWS account oder On my own server. Der Server meldet seine Adresse beim Start, und jedes verknüpfte Gerät erhält die Einstellungen. Nichts einzutippen.

Ein Server, den Sie bereits betreiben: Geben Sie seine Einstellungen von Hand ein.

  1. Melden Sie sich als Besitzer oder Administrator im Dashboard an und öffnen Sie die Einstellungen.
  2. Wählen Sie unter Network Settings die Option Custom Network.
  3. Geben Sie den Host des Signalservers, seinen Port und WS als Protokoll ein. Fügen Sie einen TURN-Server hinzu, wenn Sie ein eigenes Relay betreiben, oder lassen Sie das Feld leer, um das HopToDesk-Relay zu behalten.
  4. Klicken Sie auf Save Network Settings. Jedes verknüpfte Gerät erhält die neuen Einstellungen und übernimmt sie ohne Neuinstallation.

Ein eigenes TURN-Relay betreiben (optional)

Sitzungen, die keine direkte Verbindung aufbauen können, laufen standardmäßig über das HopToDesk-Relay. Um den gesamten Datenverkehr auf Ihrer eigenen Infrastruktur zu halten, betreiben Sie einen TURN-Server. Jeder Standard-TURN-Server funktioniert, unter Linux ist coturn eine verbreitete Wahl.

  1. Installieren Sie coturn auf dem Relay-Server.
sudo apt install coturn
  1. Bearbeiten Sie /etc/turnserver.conf und setzen Sie mindestens die folgenden Werte. Ersetzen Sie Realm, Zugangsdaten und öffentliche IP durch Ihre eigenen.
listening-port=443
fingerprint
lt-cred-mech
user=myuser:mypassword
realm=example.com
external-ip=PUBLIC_IP
  1. Wenn /etc/default/coturn eine Zeile TURNSERVER_ENABLED enthält, entfernen Sie das Kommentarzeichen. Aktivieren und starten Sie dann den Dienst.
sudo systemctl enable --now coturn
sudo systemctl restart coturn
  1. Öffnen Sie in der Firewall des Relays den Listening-Port für TCP und UDP sowie den UDP-Relay-Bereich 49152 bis 65535.
  2. Übergeben Sie das Relay an Ihre Geräte: Führen Sie den Installer erneut mit den vier TURN-Werten aus oder bearbeiten Sie den Block turnservers in Ihren Netzwerkeinstellungen. Verwenden Sie turn-tls als Protokoll, wenn Ihr Relay TLS terminiert.

Den Server unter Linux verwalten

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

Um den Server zu aktualisieren, stoppen Sie den Dienst und führen Sie den Installationsbefehl erneut aus. Er lädt die aktuelle Binärdatei herunter und schreibt den Dienst neu.

So entfernen Sie den Server samt Dienst und Cron-Einträgen:

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

Fehlerbehebung

  • Die ID bleibt bei Generating stehen oder die App versucht dauerhaft, sich mit dem Netzwerk zu verbinden: Das Gerät erreicht den Signalserver nicht. Prüfen Sie, ob der Dienst läuft, Port 80 offen ist und die Adresse in Ihren Netzwerkeinstellungen stimmt.
  • Geräte verbinden sich im LAN, aber nicht von außen: Das Relay ist nicht erreichbar. Mit dem Standard-Relay brauchen die Geräte ausgehenden Zugriff auf turn.hoptodesk.com über Port 443. Bei einem eigenen Relay prüfen Sie dessen Firewall-Regeln und Zugangsdaten.
  • Die App ignoriert api.json: Stellen Sie sicher, dass die Datei gültiges JSON ohne abschließende Kommas enthält, im richtigen Ordner liegt und dass Sie HopToDesk neu gestartet haben. Das App-Protokoll enthält die Zeile Loaded local api.json, wenn die Datei übernommen wurde.
  • Port 82 ist der Föderationsport, um mehrere eigene Signalserver zu verbinden. Halten Sie ihn zum Internet geschlossen.
  • Der Signalserver speichert keine Sitzungsdaten. Wenn etwas hängt, starten Sie den Dienst neu. Die Geräte verbinden sich innerhalb von etwa einer Minute selbst wieder.

Hosting bei Drittanbietern

Lieber eine verwaltete Plattform? Stellen Sie Ihr HopToDesk-Netzwerk stattdessen auf Cloudflare oder AWS bereit.

HopToDesk auf Cloudflare

  1. Melden Sie sich bei Ihrem Cloudflare-Konto an und öffnen Sie die gewünschte Domain-Zone.
  2. Erstellen Sie einen neuen Worker mit dem Dateinamen index.js.
  3. Kopieren Sie den Worker-Code in index.js, speichern Sie ihn und stellen Sie den Worker bereit. Worker-Code
  4. Fügen Sie in den Worker-Einstellungen eine Durable-Object-Bindung namens group für die Klasse SessionGroup hinzu.
  5. Die URL Ihres Cloudflare Workers ist bereit. Verwenden Sie sie als Wert für "rendezvousssl". api.json Eigene API

HopToDesk auf AWS

  1. Abonnieren Sie HopToDesk Private Network im AWS Marketplace. Das Angebot ist kostenlos; AWS berechnet nur den Server. AWS Marketplace
  2. Im Dashboard angemeldet? Öffnen Sie Einstellungen, Network Settings, Set up a private network und wählen Sie In my AWS account. Der Startlink enthält bereits die Einstellungen, der Server meldet sich von selbst bei Ihrem Dashboard, und Sie können die nächsten Schritte überspringen.
  3. Wählen Sie Launch with CloudFormation. Ein Formular erstellt den Server, seine feste Adresse und seine Firewall-Regeln in der Region Ihrer Wahl.
  4. Sobald der Stack fertig ist, öffnen Sie seinen Reiter Outputs. Dort steht die api.json für Ihre Apps.
  5. Speichern Sie diese api.json auf jedem Computer oder verteilen Sie sie im Dashboard unter Netzwerkeinstellungen an alle Geräte. api.json

Hinweis: Der Worker verwendet Durable Objects. Die Kosten hängen von Ihrem Cloudflare-Tarif und der Nutzung ab. Durable Objects-Preise

AWS Marketplace und das AWS-Marketplace-Logo sind Marken von Amazon.com, Inc. oder seinen verbundenen Unternehmen.
Cloudflare, das Cloudflare-Logo und Cloudflare Workers sind Marken und/oder eingetragene Marken von Cloudflare, Inc. in den USA und anderen Rechtsordnungen.

Planen Sie einen selbst gehosteten Rollout? Angebot anfordern