On-Premises

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

Nastavte si vlastní síť

Nastavte si vlastní síť HopToDesk na 64bitovém serveru s Linuxem nebo Windows.

Nejrychlejší cesta: v panelu otevřete Nastavení, Network Settings, Set up a private network. Získáte hotový spouštěcí odkaz AWS nebo příkaz Dockeru a nový server se vašemu panelu ohlásí sám. Otevřít panel

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.

Zařízení ve vlastní síti lze stále propojit s panelem kvůli správě a panel jim může síťové nastavení odeslat.

Potřebujete mít panel i na vlastních serverech? Napište nám

Než začnete

  • 64bitový linuxový server se systemd, například Ubuntu nebo Debian, 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čí. Trvá to méně než minutu.
  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.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo 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.

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

Co skript dělá

  • Stáhne signální server pro váš procesor, Intel, AMD nebo ARM, do složky /home/hopsignal.
  • Ověří stažený soubor proti zveřejněnému seznamu SHA256SUMS a při neshodě skončí bez jakýchkoli změn.
  • Vytvoří službu systemd s názvem hopsignal a spustí ji při každém startu.
  • Spustí server s doporučenými limity spojení a náhodným heslem pro federaci, uloženým v /home/hopsignal/hopsignal.env s přístupem pouze pro root.
  • 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. Otevřete Příkazový řádek jako správce a spusťte 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

Druhý řádek uloží náhodné heslo pro federaci jako systémové nastavení Windows, takže se nikdy neobjeví v příkazovém řádku serveru.

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

Krok 1 s Dockerem: Spuštění signálního serveru v kontejneru

Obraz hoptodesk/hopsignal spouští stejný signální server na hostitelích Intel, AMD a ARM. Spusťte jej s doporučenými limity:

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

Každá hodnota HS_ zapíná jeden limit: velikost zprávy v KB, zprávy čekající ve frontě na spojení, otevřená spojení, nová spojení a dotazy na adresu za sekundu, sekundy nečinnosti a sekundy pro handshake. Vynechaná hodnota nechá daný limit vypnutý.

Chcete-li kontejner automaticky propojit s účtem v panelu, použijte příkaz Dockeru ze Set up a private network v panelu. Přidá HS_SETUP_TOKEN a HS_DASHBOARD_URL a server svou adresu ohlásí jednou, při prvním startu.

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 "

S Dockerem zkontrolujte kontejner a jeho log:

docker ps --filter name=hopsignal
docker logs hopsignal

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

Každé číslo portu pište v uvozovkách, jako v příkladu výše. Aplikace ignoruje port zapsaný jako prosté číslo.

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žba (vyžaduje práva správce)C:\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 umístěte druhou kopii do /root/.config/hoptodesk. Aplikace ji používá na přihlašovací obrazovce, než se přihlásí uživatel.

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

V Androidu a iOS otevřete Nastavení, v části Síť vypněte Use HopToDesk Network a zadejte URL svého souboru. Telefony spravované přes EMM mohou stejnou URL dostat ve spravovaném nastavení custom_api_url.

Možnost C: Odeslat nastavení z panelu

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

Nový server: v panelu otevřete Nastavení, Network Settings, Set up a private network. Zvolte In my AWS account nebo On my own server. Server při startu ohlásí svou adresu a každé propojené zařízení dostane nastavení. Nic k vypisování.

Server, který už provozujete: zadejte jeho nastavení ručně.

  1. Přihlaste se do panelu 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:

curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo 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. V nastavení workeru přidejte vazbu Durable Object s názvem group pro třídu SessionGroup.
  5. URL vašeho Cloudflare Workeru je připravená. Použijte ji jako hodnotu "rendezvousssl". api.json Vlastní API

HopToDesk na AWS

  1. Přihlaste se k odběru HopToDesk Private Network v AWS Marketplace. Nabídka je zdarma, AWS účtuje jen server. AWS Marketplace
  2. Přihlášeni do panelu? Otevřete Nastavení, Network Settings, Set up a private network a zvolte In my AWS account. Spouštěcí odkaz už má nastavení vyplněné, server se vašemu panelu ohlásí sám a další kroky můžete přeskočit.
  3. Zvolte Launch with CloudFormation. Jeden formulář vytvoří server, jeho pevnou adresu a pravidla firewallu v oblasti, kterou si vyberete.
  4. Jakmile je stack hotový, otevřete jeho kartu Outputs. Zobrazí api.json pro vaše aplikace.
  5. Uložte tento api.json do každého počítače, nebo jej odešlete do všech zařízení v Nastavení sítě na dashboardu. api.json

Poznámka: Worker využívá Durable Objects. Jejich cena závisí na vašem tarifu Cloudflare a na využití. 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.

Plánujete nasazení s vlastním hostingem? Vyžádat nabídku