On-premises

Vert ditt eget HopToDesk-nettverk lokalt eller i skyen.

Sett opp ditt eget nettverk

Sett opp ditt eget HopToDesk-nettverk på en 64-biters Linux- eller Windows-server.

Raskeste vei: i dashbordet åpner du Innstillinger, Network Settings, Set up a private network. Du får en ferdig AWS-startlenke eller en Docker-kommando, og den nye serveren melder seg selv til dashbordet ditt. Åpne dashbordet

OS:
Linux
LinuxWindows
Denne konfigurasjonen lar enheter i LAN-et koble til direkte, samtidig som HopToDesks standard relétjenere brukes for eksterne tilkoblinger.
Konfigurer din egen TURN-server for full kontroll over relétilkoblinger. Alle felt er påkrevd.

Oppsettsveiledning

Selvhosting av HopToDesk

Trinn-for-trinn-veiledning for oppsett

Hva installasjonsprogrammet gjør, hvordan du sjekker det, og hvordan du kobler enhetene dine til ditt eget nettverk.

Slik fungerer det

HopToDesk bruker to typer servere. Signalserveren hjelper enheter med å finne hverandre og sette opp en økt. TURN-reléet bærer økttrafikken bare når en direkte forbindelse mellom de to enhetene ikke er mulig.

Økter er ende-til-ende-kryptert, så ingen av serverne kan lese skjermen, filene eller chatten din. Signalserveren ser bare enhets-ID-er og tilkoblingsforespørsler.

Installasjonsprogrammet på denne siden setter opp signalserveren. Relétrafikk går som standard via HopToDesk-reléet, eller via din egen TURN-server hvis du oppgir en.

Enheter i et selvdriftet nettverk kan fortsatt kobles til dashbordet for administrasjon, og dashbordet kan sende nettverksinnstillingene til dem.

Trenger du dashbordet på dine egne servere også? Snakk med oss

Før du begynner

  • En 64-biters Linux-server med systemd, for eksempel Ubuntu eller Debian, eller en Windows-server.
  • Root- eller sudo-tilgang på den serveren.
  • En IP-adresse eller et vertsnavn som alle enhetene dine kan nå. For et nettverk som aldri forlater LAN-et ditt, holder det med en privat adresse.
  • TCP-port 80 åpen i serverens brannmur for enhetene dine.
  • Hvis du vil ha ditt eget relé: vert, port, brukernavn og passord for TURN-serveren din.

Trinn 1: Installer signalserveren på Linux

  1. Logg inn på serveren som root, eller som en bruker med sudo-rettigheter.
  2. Øverst på denne siden velger du LAN + Default Relay eller Custom TURN Server. Installasjonskommandoen endres etter valget ditt.
  3. Klikk på Copy, lim inn kommandoen i terminalen og trykk Enter.
  4. Vent til skriptet er ferdig. Det tar under ett minutt.
  5. Til slutt skriver skriptet ut HopSignal Setup Complete, etterfulgt av serveradressen din og en ferdig blokk med nettverksinnstillinger. Ta vare på den utskriften, du trenger den i trinn 3.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh

Med din egen TURN-server legger du til de fire verdiene på slutten av kommandoen i denne rekkefølgen: vert, port, brukernavn, passord.

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

Hva skriptet gjør

  • Laster ned signalserveren for prosessoren din, Intel, AMD eller ARM, til mappen /home/hopsignal.
  • Kontrollerer nedlastingen mot den publiserte SHA256SUMS-listen og stopper uten endringer hvis den ikke stemmer.
  • Oppretter en systemd-tjeneste med navnet hopsignal og starter den ved hver oppstart.
  • Starter serveren med de anbefalte tilkoblingsgrensene og et tilfeldig føderasjonspassord, lagret i /home/hopsignal/hopsignal.env med tilgang kun for root.
  • Legger til en cron-vakthund som starter tjenesten på nytt hvis den slutter å svare, og roterer loggen når den passerer 100 MB.
  • Åpner TCP-port 80 i ufw når ufw er aktiv.

Trinn 1 på Windows: Kjør signalserveren

  1. Sett OS-bryteren øverst på denne siden til Windows og klikk på Download. Du får én fil med navnet hopsignal.exe.
  2. Opprett en mappe som C:\hopsignal og flytt hopsignal.exe dit.
  3. Opprett en tom tekstfil med navnet fedlist.txt i samme mappe.
  4. Åpne en ledetekst som administrator og start serveren.
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

Den andre linjen lagrer et tilfeldig føderasjonspassord som en systeminnstilling i Windows, så det vises aldri på serverens kommandolinje.

Tillat porten i Windows-brannmuren:

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

For at serveren skal fortsette å kjøre etter en omstart, registrerer du den som en planlagt oppgave som starter ved oppstart under SYSTEM-kontoen:

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

Trinn 1 med Docker: Kjør signalserveren i en container

Imaget hoptodesk/hopsignal kjører den samme signalserveren på Intel-, AMD- og ARM-verter. Start det med de anbefalte grensene:

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

Hver HS_-verdi slår på én grense: meldingsstørrelse i KB, meldinger i kø per tilkobling, åpne tilkoblinger, nye tilkoblinger og oppslag per adresse per sekund, sekunder uten aktivitet og sekunder for håndtrykk. Utelater du en verdi, forblir den grensen av.

For å knytte containeren til dashbordkontoen din automatisk bruker du Docker-kommandoen fra Set up a private network i dashbordet. Den legger til HS_SETUP_TOKEN og HS_DASHBOARD_URL, og serveren melder adressen sin én gang, ved første start.

Trinn 2: Sjekk at serveren kjører

På Linux sjekker du tjenesten og loggen:

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

På Windows bekrefter du at porten lytter:

netstat -an | find ":80 "

Med Docker sjekker du containeren og loggen:

docker ps --filter name=hopsignal
docker logs hopsignal

Test WebSocket-porten fra hvilken som helst datamaskin. Bytt ut SERVER_IP med serveradressen din. En frisk server svarer 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/

Trinn 3: Pek enhetene dine mot serveren

Hver enhet leser nettverksinnstillingene sine fra et lite JSON-dokument. Dette er blokken installasjonsprogrammet skrev ut på slutten av trinn 1. Bytt ut SERVER_IP med serveradressen din, og fyll inn TURN-blokken hvis du kjører ditt eget relé.

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

Blokken rendezvous er signalserveren din. Bruk nøkkelen rendezvousssl i stedet for rendezvous når serveren nås via TLS, for eksempel en Cloudflare Worker. Listen turnservers inneholder ett eller flere reléer. Sett protokollen til turn for en vanlig tilkobling eller til turn-tls for en TLS-tilkobling. La versjonsnøklene stå som de er.

Skriv hvert portnummer i anførselstegn, som i eksemplet over. Appen ignorerer en port som er skrevet som et vanlig tall.

Det finnes tre måter å gi dette dokumentet til enhetene dine på. Velg den som passer oppsettet ditt.

Alternativ A: Legg en api.json-fil på hver enhet

Lagre dokumentet som en fil med navnet api.json i HopToDesks konfigurasjonsmappe, og start deretter HopToDesk på nytt. Appen leser filen ved oppstart og kontakter ikke lenger HopToDesk-API-et.

PlattformSti
Windows, alle brukere og tjenesten (krever administratorrettigheter)C:\ProgramData\HopToDesk\config\api.json
Windows, bare gjeldende bruker%APPDATA%\HopToDesk\config\api.json
macOS~/Library/Preferences/com.hoptodesk.HopToDesk/api.json
Linux~/.config/hoptodesk/api.json

På Linux legger du en ekstra kopi i /root/.config/hoptodesk. Appen bruker den kopien på påloggingsskjermen, før en bruker logger på.

Alternativ B: Legg filen på en URL og velg den i appen

  1. Last opp api.json til en hvilken som helst webserver enhetene dine kan nå. HTTPS anbefales.
  2. Klikk på tannhjulikonet i HopToDesk for å åpne innstillingene.
  3. Under Network klikker du på Choose Network.
  4. Velg Custom Network Settings, lim inn URL-en til filen din og bekreft.
  5. HopToDesk laster ned filen, sjekker at den inneholder en gyldig rendezvous-oppføring og en turnservers-liste, og kobler deretter til på nytt via serveren din.

For å gå tilbake til det offentlige nettverket åpner du Choose Network igjen og velger HopToDesk Network (Default).

På Android og iOS åpner du Innstillinger, slår av Use HopToDesk Network under Nettverk og skriver deretter inn URL-en til filen din. Telefoner som administreres via en EMM, kan få den samme URL-en gjennom den administrerte innstillingen custom_api_url.

Alternativ C: Send innstillingene fra dashbordet

Hvis enhetene dine er koblet til HopToDesk-dashbordet, kan du sette nettverket én gang for hele kontoen. En tilpasset klient bygget fra dashbordet leveres med disse innstillingene innebygd.

Ny server: i dashbordet åpner du Innstillinger, Network Settings, Set up a private network. Velg In my AWS account eller On my own server. Serveren melder adressen sin når den starter, og hver tilknyttet enhet får innstillingene. Ingenting å skrive.

En server du allerede kjører: skriv inn innstillingene dens for hånd.

  1. Logg inn på dashbordet som eier eller administrator og åpne innstillingene.
  2. Under Network Settings velger du Custom Network.
  3. Skriv inn signalserverens vert, porten og WS som protokoll. Legg til en TURN-server hvis du kjører ditt eget relé, eller la det stå tomt for å beholde HopToDesk-reléet.
  4. Klikk på Save Network Settings. Hver tilkoblede enhet mottar de nye innstillingene og tar dem i bruk uten reinstallasjon.

Kjør ditt eget TURN-relé (valgfritt)

Økter som ikke kan koble til direkte, går som standard via HopToDesk-reléet. For å holde all trafikk på din egen infrastruktur kjører du en TURN-server. Enhver standard TURN-server fungerer, og coturn er et vanlig valg på Linux.

  1. Installer coturn på reléserveren.
sudo apt install coturn
  1. Rediger /etc/turnserver.conf og sett minst verdiene nedenfor. Bytt ut realm, påloggingsopplysningene og den offentlige IP-en med dine egne.
listening-port=443
fingerprint
lt-cred-mech
user=myuser:mypassword
realm=example.com
external-ip=PUBLIC_IP
  1. Hvis /etc/default/coturn inneholder en linje TURNSERVER_ENABLED, fjern kommentartegnet. Aktiver deretter tjenesten og start den.
sudo systemctl enable --now coturn
sudo systemctl restart coturn
  1. Åpne lytteporten for TCP og UDP, pluss UDP-reléområdet 49152 til 65535, i reléets brannmur.
  2. Gi reléet til enhetene dine: kjør installasjonsprogrammet på nytt med de fire TURN-verdiene, eller rediger blokken turnservers i nettverksinnstillingene. Bruk turn-tls som protokoll hvis reléet ditt terminerer TLS.

Administrere serveren på Linux

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

For å oppdatere serveren stopper du tjenesten og kjører installasjonskommandoen på nytt. Den laster ned den gjeldende binærfilen og skriver tjenesten på nytt.

For å fjerne serveren sammen med tjenesten og cron-oppføringene:

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

Feilsøking

  • ID-en blir stående på Generating, eller appen prøver hele tiden å koble til nettverket: enheten når ikke signalserveren. Sjekk at tjenesten kjører, at port 80 er åpen og at adressen i nettverksinnstillingene er riktig.
  • Enhetene kobler til på LAN, men ikke utenfra: reléet kan ikke nås. Med standardreléet trenger enhetene utgående tilgang til turn.hoptodesk.com på port 443. Med ditt eget relé sjekker du brannmurreglene og påloggingsopplysningene.
  • Appen ignorerer api.json: sørg for at filen er gyldig JSON uten avsluttende komma, at den ligger i riktig mappe, og at du har startet HopToDesk på nytt. Appens logg inneholder linjen Loaded local api.json når filen ble lest inn.
  • Port 82 er føderasjonsporten for å koble sammen flere av dine egne signalservere. Hold den stengt mot internett.
  • Signalserveren lagrer ingen øktdata. Hvis noe ser ut til å henge, start tjenesten på nytt. Enhetene kobler seg til igjen av seg selv innen omtrent et minutt.

Hosting hos tredjepart

Foretrekker du en administrert plattform? Distribuer HopToDesk-nettverket ditt på Cloudflare eller AWS.

HopToDesk på Cloudflare

  1. Logg inn på Cloudflare-kontoen din og gå til domenesonen du vil bruke.
  2. Opprett en ny worker med filnavnet index.js.
  3. Kopier worker-koden inn i index.js, lagre og distribuer deretter workeren. Worker-kode
  4. I worker-innstillingene legger du til en Durable Object-binding kalt group for klassen SessionGroup.
  5. URL-en til Cloudflare Worker er klar. Bruk den som verdien for "rendezvousssl". api.json Eget API

HopToDesk på AWS

  1. Abonner på HopToDesk Private Network i AWS Marketplace. Oppføringen er gratis; AWS fakturerer bare for serveren. AWS Marketplace
  2. Logget inn på dashbordet? Åpne Innstillinger, Network Settings, Set up a private network og velg In my AWS account. Startlenken har innstillingene fylt ut, serveren melder seg selv til dashbordet ditt, og du kan hoppe over de neste trinnene.
  3. Velg Launch with CloudFormation. Ett skjema oppretter serveren, den faste adressen og brannmurreglene i regionen du velger.
  4. Når stakken er ferdig, åpner du fanen Outputs. Den viser api.json for appene dine.
  5. Lagre denne api.json på hver datamaskin, eller send den til alle enheter fra Nettverksinnstillinger i dashbordet. api.json

Merk: Workeren bruker Durable Objects. Kostnaden avhenger av Cloudflare-abonnementet ditt og bruken. Priser for Durable Objects

AWS Marketplace og AWS Marketplace-logoen er varemerker for Amazon.com, Inc. eller tilknyttede selskaper.
Cloudflare, Cloudflare-logoen og Cloudflare Workers er varemerker og/eller registrerte varemerker for Cloudflare, Inc. i USA og andre jurisdiksjoner.

Planlegger du en selvdriftet utrulling? Be om et tilbud