On-Premises

Provozujte vlastní síť HopToDesk lokálně nebo v cloudu.

Nastavte si vlastní síť

Nastavte si vlastní síť HopToDesk. Kompatibilní s Ubuntu 18 - 24 a Windows.

OS:
Linux
LinuxWindows
Tato konfigurace umožňuje zařízením ve vaší síti LAN připojovat se přímo a pro externí spojení používá výchozí relay servery HopToDesk.
Nakonfigurujte vlastní TURN server pro plnou kontrolu nad relay spojeními. Všechna pole jsou povinná.

Návod k nastavení

Self-hosting HopToDesk

Průvodce nastavením krok za krokem

Co instalátor dělá, jak to ověřit a jak připojit zařízení k vlastní síti.

Jak to funguje

HopToDesk používá dva druhy serverů. Signální server pomáhá zařízením najít se navzájem a navázat relaci. Relay TURN přenáší provoz relace jen tehdy, když přímé spojení mezi oběma zařízeními není možné.

Relace jsou šifrované end-to-end, takže žádný ze serverů nemůže číst vaši obrazovku, soubory ani chat. Signální server vidí jen ID zařízení a požadavky na připojení.

Instalátor na této stránce nastaví signální server. Provoz přes relay jde ve výchozím stavu přes relay HopToDesk, nebo přes váš vlastní server TURN, pokud ho zadáte.

Dashboard zůstává hostovanou službou. Zařízení ve vlastní síti s ním lze stále propojit kvůli správě a dashboard jim může síťové nastavení odeslat.

Než začnete

  • Server s Ubuntu 18.04 až 24.04, nebo server s Windows.
  • Přístup root nebo sudo na tomto serveru.
  • IP adresa nebo název hostitele, na který dosáhnou všechna vaše zařízení. Pro síť, která nikdy neopustí vaši LAN, stačí privátní adresa.
  • Port TCP 80 otevřený na firewallu serveru pro vaše zařízení.
  • Pokud chcete vlastní relay: hostitel, port, uživatelské jméno a heslo vašeho serveru TURN.

Krok 1: Instalace signálního serveru na Linuxu

  1. Přihlaste se na server jako root nebo jako uživatel s právy sudo.
  2. Nahoře na této stránce zvolte LAN + Default Relay nebo Custom TURN Server. Instalační příkaz se mění podle vaší volby.
  3. Klikněte na Copy, vložte příkaz do terminálu a stiskněte Enter.
  4. Počkejte, až skript skončí. Na čerstvém serveru může instalace balíčků trvat několik minut.
  5. Na konci skript vypíše HopSignal Setup Complete a za tím adresu vašeho serveru a hotový blok síťového nastavení. Tento výstup si uschovejte, budete ho potřebovat v kroku 3.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sh hsinstall.sh

S vlastním serverem TURN přidejte na konec příkazu jeho čtyři hodnoty v tomto pořadí: hostitel, port, uživatelské jméno, heslo.

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

Co skript dělá

  • Pomocí apt nainstaluje potřebné nástroje pro sestavení a knihovny OpenSSL.
  • Stáhne binárku signálního serveru do složky /home/hopsignal.
  • Vytvoří službu systemd s názvem hopsignal a spustí ji při každém startu.
  • Přidá cronového hlídače, který službu restartuje, když přestane odpovídat, a rotuje log, jakmile přesáhne 100 MB.
  • Otevře port TCP 80 v ufw, pokud je ufw aktivní.

Krok 1 ve Windows: Spuštění signálního serveru

  1. Přepněte přepínač OS nahoře na této stránce na Windows a klikněte na Download. Získáte jeden soubor s názvem hopsignal.exe.
  2. Vytvořte složku, například C:\hopsignal, a přesuňte do ní hopsignal.exe.
  3. Ve stejné složce vytvořte prázdný textový soubor s názvem fedlist.txt.
  4. Verze pro Windows navíc očekává certifikát TLS a jeho soukromý klíč ve formátu PEM. Funguje jakýkoli pár, včetně vlastnoručně podepsaného. Uložte je jako cert.pem a key.pem do stejné složky.
  5. Otevřete Příkazový řádek jako správce a spusťte server.
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

Pokud máte OpenSSL, tento příkaz vytvoří pár certifikátů s vlastním podpisem:

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

Povolte port v bráně Windows Firewall:

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

Aby server běžel i po restartu, zaregistrujte ho jako naplánovanou úlohu spouštěnou při startu pod účtem 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

Krok 2: Ověření, že server běží

Na Linuxu zkontrolujte službu a log:

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

Ve Windows ověřte, že port naslouchá:

netstat -an | find ":80 "

Z libovolného počítače otestujte port WebSocket. Nahraďte SERVER_IP adresou svého serveru. Zdravý server odpoví 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/

Krok 3: Nasměrování zařízení na server

Každé zařízení čte své síťové nastavení z malého dokumentu JSON. Je to blok, který instalátor vypsal na konci kroku 1. Nahraďte SERVER_IP adresou svého serveru a vyplňte blok TURN, pokud provozujete vlastní 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"
}

Blok rendezvous je váš signální server. Použijte klíč rendezvousssl místo rendezvous, když je server dostupný přes TLS, například Cloudflare Worker nebo nasazení v AWS. Seznam turnservers obsahuje jeden nebo více relayů. Nastavte protokol na turn pro běžné spojení nebo na turn-tls pro spojení TLS. Klíče verzí nechte tak, jak jsou.

Existují tři způsoby, jak tento dokument dostat do zařízení. Vyberte ten, který odpovídá vašemu nastavení.

Možnost A: Umístit soubor api.json na každé zařízení

Uložte dokument jako soubor s názvem api.json do konfigurační složky HopToDesk a poté HopToDesk restartujte. Aplikace soubor načte při startu a už nekontaktuje API HopToDesk.

PlatformaCesta
Windows, všichni uživatelé a službaC:\ProgramData\HopToDesk\config\api.json
Windows, pouze aktuální uživatel%APPDATA%\HopToDesk\config\api.json
macOS~/Library/Preferences/com.hoptodesk.HopToDesk/api.json
Linux~/.config/hoptodesk/api.json

Na Linuxu běží služba na pozadí jako root a čte soubor v /root, zatímco aplikace, kterou otevřete, čte soubor ve vaší domovské složce. Umístěte kopii na obě místa.

Možnost B: Zveřejnit soubor na URL a vybrat ji v aplikaci

  1. Nahrajte api.json na libovolný webový server, na který dosáhnou vaše zařízení. Doporučujeme HTTPS.
  2. V HopToDesk klikněte na ikonu ozubeného kola a otevřete nastavení.
  3. V části Network klikněte na Choose Network.
  4. Vyberte Custom Network Settings, vložte URL svého souboru a potvrďte.
  5. HopToDesk soubor stáhne, ověří, že obsahuje platný záznam rendezvous a seznam turnservers, a poté se znovu připojí přes váš server.

Pro návrat do veřejné sítě znovu otevřete Choose Network a vyberte HopToDesk Network.

Možnost C: Odeslat nastavení z dashboardu

Pokud jsou vaše zařízení propojena s dashboardem HopToDesk, můžete síť nastavit jednou pro celý účet. Vlastní klient sestavený z dashboardu má toto nastavení už zabudované.

  1. Přihlaste se do dashboardu jako vlastník nebo správce a otevřete nastavení.
  2. V části Network Settings vyberte Custom Network.
  3. Zadejte hostitele signálního serveru, jeho port a WS jako protokol. Přidejte server TURN, pokud provozujete vlastní relay, nebo nechte prázdné a zachovejte relay HopToDesk.
  4. Klikněte na Save Network Settings. Každé propojené zařízení obdrží nové nastavení a použije ho bez přeinstalace.

Provozujte vlastní relay TURN (volitelné)

Relace, které se nemohou připojit přímo, jdou ve výchozím stavu přes relay HopToDesk. Chcete-li veškerý provoz udržet na vlastní infrastruktuře, provozujte server TURN. Funguje jakýkoli standardní server TURN a na Linuxu je běžnou volbou coturn.

  1. Nainstalujte coturn na relay server.
sudo apt install coturn
  1. Upravte /etc/turnserver.conf a nastavte alespoň níže uvedené hodnoty. Nahraďte realm, přihlašovací údaje a veřejnou IP vlastními.
listening-port=443
fingerprint
lt-cred-mech
user=myuser:mypassword
realm=example.com
external-ip=PUBLIC_IP
  1. Pokud /etc/default/coturn obsahuje řádek TURNSERVER_ENABLED, odkomentujte ho. Poté službu povolte a spusťte.
sudo systemctl enable --now coturn
sudo systemctl restart coturn
  1. Na firewallu relaye otevřete naslouchací port pro TCP i UDP a také rozsah UDP relay 49152 až 65535.
  2. Předejte relay svým zařízením: spusťte instalátor znovu se čtyřmi hodnotami TURN, nebo upravte blok turnservers v síťovém nastavení. Použijte protokol turn-tls, pokud váš relay ukončuje TLS.

Správa serveru na Linuxu

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

Pro aktualizaci serveru zastavte službu a spusťte instalační příkaz znovu. Stáhne aktuální binárku a službu znovu zapíše.

Odstranění serveru včetně služby a záznamů v cronu:

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

Řešení potíží

  • ID zůstává na Generating nebo se aplikace stále pokouší připojit k síti: zařízení nedosáhne na signální server. Zkontrolujte, že služba běží, že je port 80 otevřený a že adresa v síťovém nastavení je správná.
  • Zařízení se připojují v LAN, ale ne zvenčí: relay není dostupný. S výchozím relayem potřebují zařízení odchozí přístup na turn.hoptodesk.com na portu 443. S vlastním relayem zkontrolujte jeho pravidla firewallu a přihlašovací údaje.
  • Aplikace ignoruje api.json: ujistěte se, že soubor je platný JSON bez koncových čárek, že leží ve správné složce a že jste HopToDesk restartovali. Log aplikace obsahuje řádek Loaded local api.json, když byl soubor načten.
  • Port 82 je federační port pro propojení několika vlastních signálních serverů. Nechte ho pro internet zavřený.
  • Signální server neukládá žádná data relací. Pokud něco vypadá zaseknutě, restartujte službu. Zařízení se sama znovu připojí zhruba do minuty.

Hosting u třetí strany

Preferujete spravovanou platformu? Nasaďte svou síť HopToDesk na Cloudflare nebo AWS.

HopToDesk na Cloudflare

  1. Přihlaste se k účtu Cloudflare a přejděte do zóny domény, kterou chcete použít.
  2. Vytvořte nový worker se souborem index.js.
  3. Zkopírujte kód workeru do index.js, poté jej uložte a nasaďte. Kód workeru
  4. URL vašeho Cloudflare Workeru je připravená. Použijte ji jako hodnotu "rendezvousssl". api.json Vlastní API

HopToDesk na AWS

  1. Pokud ještě nemáte účet AWS, zaregistrujte si jej.
  2. Přihlaste se k odběru nabídky HopToDesk v AWS Marketplace. AWS Marketplace
  3. Až Amazon službu připraví, podle potřeby ji nakonfigurujte a spusťte instanci.
  4. Vaše síť HopToDesk je nyní nasazena na AWS. Nastavte její https URL jako hodnotu "rendezvousssl". api.json Vlastní API

Poznámka: Worker vyžaduje placený tarif Cloudflare od 5 $ měsíčně, protože využívá Durable Objects. Ceník Durable Objects

AWS Marketplace a logo AWS Marketplace jsou ochranné známky společnosti Amazon.com, Inc. nebo jejích poboček.
Cloudflare, logo Cloudflare a Cloudflare Workers jsou ochranné známky a/nebo registrované ochranné známky společnosti Cloudflare, Inc. v USA a dalších jurisdikcích.