On-Premises

Ospita la tua rete HopToDesk in sede o nel cloud.

Configura la tua rete

Configura la tua rete HopToDesk su un server Linux o Windows a 64 bit.

Il modo più rapido: nella dashboard apri Impostazioni, Network Settings, Set up a private network. Ottieni un link di avvio AWS pronto o un comando Docker, e il nuovo server si segnala da solo alla tua dashboard. Apri la dashboard

Sistema:
Linux
LinuxWindows
Questa configurazione consente ai dispositivi della tua LAN di connettersi direttamente, utilizzando i server relay predefiniti di HopToDesk per le connessioni esterne.
Configura il tuo server TURN per il controllo completo sulle connessioni relay. Tutti i campi sono obbligatori.

Tutorial di configurazione

Self-hosting di HopToDesk

Guida passo passo alla configurazione

Cosa fa l'installer, come verificarlo e come collegare i tuoi dispositivi alla tua rete.

Come funziona

HopToDesk usa due tipi di server. Il server di segnalazione aiuta i dispositivi a trovarsi e ad avviare una sessione. Il relay TURN trasporta il traffico della sessione solo quando una connessione diretta tra i due dispositivi non è possibile.

Le sessioni sono cifrate end-to-end, quindi nessuno dei server può leggere schermo, file o chat. Il server di segnalazione vede solo gli ID dei dispositivi e le richieste di connessione.

L'installer di questa pagina configura il server di segnalazione. Il traffico relay passa per impostazione predefinita dal relay di HopToDesk, oppure dal tuo server TURN se ne indichi uno.

I dispositivi di una rete self-hosted possono comunque essere collegati alla dashboard per la gestione, e la dashboard può inviare loro le impostazioni di rete.

Serve anche la dashboard sui vostri server? Parla con noi

Prima di iniziare

  • Un server Linux a 64 bit con systemd, come Ubuntu o Debian, oppure un server Windows.
  • Accesso root o sudo su quel server.
  • Un indirizzo IP o un nome host raggiungibile da tutti i tuoi dispositivi. Per una rete che non esce mai dalla LAN, basta un indirizzo privato.
  • La porta TCP 80 aperta sul firewall del server per i tuoi dispositivi.
  • Se vuoi un relay tuo: host, porta, nome utente e password del tuo server TURN.

Passo 1: Installare il server di segnalazione su Linux

  1. Accedi al server come root, oppure come utente con diritti sudo.
  2. In cima a questa pagina scegli LAN + Default Relay oppure Custom TURN Server. Il comando di installazione cambia in base alla scelta.
  3. Fai clic su Copy, incolla il comando nel terminale e premi Invio.
  4. Attendi che lo script finisca. Richiede meno di un minuto.
  5. Alla fine lo script stampa HopSignal Setup Complete, seguito dall'indirizzo del server e da un blocco di impostazioni di rete pronto all'uso. Conserva quell'output, ti servirà al passo 3.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh

Con un server TURN tuo, aggiungi i suoi quattro valori alla fine del comando in questo ordine: host, porta, nome utente, password.

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

Cosa fa lo script

  • Scarica il server di segnalazione per il tuo processore, Intel, AMD o ARM, nella cartella /home/hopsignal.
  • Verifica il download con l'elenco SHA256SUMS pubblicato e si ferma senza modifiche se non corrisponde.
  • Crea un servizio systemd chiamato hopsignal e lo avvia a ogni accensione.
  • Avvia il server con i limiti di connessione consigliati e una password di federazione casuale, salvata in /home/hopsignal/hopsignal.env con accesso riservato a root.
  • Aggiunge un watchdog cron che riavvia il servizio se smette di rispondere e ruota il log quando supera i 100 MB.
  • Apre la porta TCP 80 in ufw quando ufw è attivo.

Passo 1 su Windows: Avviare il server di segnalazione

  1. Sposta il selettore OS in cima a questa pagina su Windows e fai clic su Download. Ottieni un unico file chiamato hopsignal.exe.
  2. Crea una cartella come C:\hopsignal e sposta hopsignal.exe al suo interno.
  3. Nella stessa cartella, crea un file di testo vuoto chiamato fedlist.txt.
  4. Apri un Prompt dei comandi come amministratore e avvia il 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

La seconda riga salva una password di federazione casuale come impostazione di sistema di Windows, quindi non compare mai nella riga di comando del server.

Consenti la porta nel Windows Firewall:

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

Per mantenere il server in esecuzione dopo un riavvio, registralo come attività pianificata che parte all'avvio con l'account 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

Passo 1 con Docker: Avviare il server di segnalazione in un container

L'immagine hoptodesk/hopsignal esegue lo stesso server di segnalazione su host Intel, AMD e ARM. Avviala con i limiti consigliati:

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

Ogni valore HS_ attiva un limite: dimensione del messaggio in KB, messaggi in coda per connessione, connessioni aperte, nuove connessioni e ricerche per indirizzo al secondo, secondi di inattività e secondi per l'handshake. Se ometti un valore, quel limite resta disattivato.

Per collegare automaticamente il container al tuo account della dashboard, usa il comando Docker di Set up a private network nella dashboard. Aggiunge HS_SETUP_TOKEN e HS_DASHBOARD_URL, e il server segnala il suo indirizzo una sola volta, al primo avvio.

Passo 2: Verificare che il server sia in esecuzione

Su Linux, controlla il servizio e il log:

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

Su Windows, verifica che la porta sia in ascolto:

netstat -an | find ":80 "

Con Docker, controlla il container e il suo log:

docker ps --filter name=hopsignal
docker logs hopsignal

Da qualsiasi computer, prova la porta WebSocket. Sostituisci SERVER_IP con l'indirizzo del tuo server. Un server funzionante risponde 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/

Passo 3: Indirizzare i dispositivi al server

Ogni dispositivo legge le impostazioni di rete da un piccolo documento JSON. È il blocco che l'installer ha stampato alla fine del passo 1. Sostituisci SERVER_IP con l'indirizzo del tuo server e compila il blocco TURN se gestisci un relay tuo.

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

Il blocco rendezvous è il tuo server di segnalazione. Usa la chiave rendezvousssl al posto di rendezvous quando il server è raggiunto tramite TLS, per esempio un Cloudflare Worker. L'elenco turnservers contiene uno o più relay. Imposta il protocollo su turn per una connessione in chiaro o su turn-tls per una connessione TLS. Lascia le chiavi di versione come sono.

Scrivi ogni numero di porta tra virgolette, come nell'esempio sopra. L'app ignora una porta scritta come numero semplice.

Ci sono tre modi per consegnare questo documento ai tuoi dispositivi. Scegli quello adatto alla tua configurazione.

Opzione A: Mettere un file api.json su ogni dispositivo

Salva il documento come file chiamato api.json nella cartella di configurazione di HopToDesk, poi riavvia HopToDesk. L'app legge il file all'avvio e non contatta più l'API di HopToDesk.

PiattaformaPercorso
Windows, tutti gli utenti e il servizio (richiede i diritti di amministratore)C:\ProgramData\HopToDesk\config\api.json
Windows, solo l'utente corrente%APPDATA%\HopToDesk\config\api.json
macOS~/Library/Preferences/com.hoptodesk.HopToDesk/api.json
Linux~/.config/hoptodesk/api.json

Su Linux, metti una seconda copia in /root/.config/hoptodesk. L'app usa quella copia nella schermata di accesso, prima che un utente acceda.

Opzione B: Pubblicare il file a un URL e selezionarlo nell'app

  1. Carica api.json su un qualsiasi server web raggiungibile dai tuoi dispositivi. HTTPS è consigliato.
  2. In HopToDesk, fai clic sull'icona dell'ingranaggio per aprire le impostazioni.
  3. In Network, fai clic su Choose Network.
  4. Seleziona Custom Network Settings, incolla l'URL del tuo file e conferma.
  5. HopToDesk scarica il file, verifica che contenga una voce rendezvous valida e un elenco turnservers, poi si riconnette tramite il tuo server.

Per tornare alla rete pubblica, apri di nuovo Choose Network e seleziona HopToDesk Network (Default).

Su Android e iOS, apri Impostazioni, disattiva Use HopToDesk Network nella sezione Rete, quindi inserisci l'URL del tuo file. I telefoni gestiti tramite un EMM possono ricevere lo stesso URL con l'impostazione gestita custom_api_url.

Opzione C: Inviare le impostazioni dalla dashboard

Se i tuoi dispositivi sono collegati alla dashboard di HopToDesk, puoi impostare la rete una sola volta per tutto l'account. Un client personalizzato creato dalla dashboard include già queste impostazioni.

Nuovo server: nella dashboard apri Impostazioni, Network Settings, Set up a private network. Scegli In my AWS account o On my own server. Il server segnala il suo indirizzo all'avvio e ogni dispositivo collegato riceve le impostazioni. Niente da digitare.

Un server che già gestisci: inserisci le sue impostazioni a mano.

  1. Accedi alla dashboard come proprietario o amministratore e apri le impostazioni.
  2. In Network Settings, seleziona Custom Network.
  3. Inserisci l'host del server di segnalazione, la sua porta e WS come protocollo. Aggiungi un server TURN se gestisci un relay tuo, oppure lascia vuoto per mantenere il relay di HopToDesk.
  4. Fai clic su Save Network Settings. Ogni dispositivo collegato riceve le nuove impostazioni e le applica senza reinstallazione.

Gestire un relay TURN proprio (facoltativo)

Le sessioni che non riescono a connettersi direttamente passano per impostazione predefinita dal relay di HopToDesk. Per mantenere tutto il traffico sulla tua infrastruttura, gestisci un server TURN. Qualsiasi server TURN standard va bene, e coturn è una scelta comune su Linux.

  1. Installa coturn sul server relay.
sudo apt install coturn
  1. Modifica /etc/turnserver.conf e imposta almeno i valori qui sotto. Sostituisci realm, credenziali e IP pubblico con i tuoi.
listening-port=443
fingerprint
lt-cred-mech
user=myuser:mypassword
realm=example.com
external-ip=PUBLIC_IP
  1. Se /etc/default/coturn contiene una riga TURNSERVER_ENABLED, rimuovi il commento. Poi abilita e avvia il servizio.
sudo systemctl enable --now coturn
sudo systemctl restart coturn
  1. Apri la porta di ascolto per TCP e UDP, più l'intervallo relay UDP da 49152 a 65535, sul firewall del relay.
  2. Consegna il relay ai tuoi dispositivi: esegui di nuovo l'installer con i quattro valori TURN, oppure modifica il blocco turnservers nelle impostazioni di rete. Usa turn-tls come protocollo se il tuo relay termina il TLS.

Gestire il server su Linux

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

Per aggiornare il server, ferma il servizio ed esegui di nuovo il comando di installazione. Scarica il binario attuale e riscrive il servizio.

Per rimuovere il server insieme al servizio e alle voci cron:

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

Risoluzione dei problemi

  • L'ID resta su Generating, oppure l'app continua a tentare di connettersi alla rete: il dispositivo non raggiunge il server di segnalazione. Controlla che il servizio sia in esecuzione, che la porta 80 sia aperta e che l'indirizzo nelle impostazioni di rete sia corretto.
  • I dispositivi si connettono nella LAN ma non dall'esterno: il relay non è raggiungibile. Con il relay predefinito, i dispositivi hanno bisogno di accesso in uscita verso turn.hoptodesk.com sulla porta 443. Con un relay tuo, controlla le regole del firewall e le credenziali.
  • L'app ignora api.json: assicurati che il file sia JSON valido senza virgole finali, che si trovi nella cartella giusta e di aver riavviato HopToDesk. Il log dell'app contiene la riga Loaded local api.json quando il file è stato caricato.
  • La porta 82 è la porta di federazione per collegare più server di segnalazione tuoi. Tienila chiusa verso Internet.
  • Il server di segnalazione non memorizza dati di sessione. Se qualcosa sembra bloccato, riavvia il servizio. I dispositivi si riconnettono da soli entro circa un minuto.

Hosting di terze parti

Preferisci una piattaforma gestita? Distribuisci la tua rete HopToDesk su Cloudflare o AWS.

HopToDesk su Cloudflare

  1. Accedi al tuo account Cloudflare e vai alla zona del dominio che vuoi usare.
  2. Crea un nuovo worker con il nome file index.js.
  3. Copia il codice del worker in index.js, quindi salva e distribuisci il worker. Codice del worker
  4. Nelle impostazioni del worker, aggiungi un binding Durable Object chiamato group per la classe SessionGroup.
  5. L'URL del tuo Cloudflare Worker è pronto. Usalo come valore "rendezvousssl". api.json API personalizzata

HopToDesk su AWS

  1. Abbonati a HopToDesk Private Network in AWS Marketplace. L'offerta è gratuita; AWS addebita solo il server. AWS Marketplace
  2. Hai effettuato l'accesso alla dashboard? Apri Impostazioni, Network Settings, Set up a private network e scegli In my AWS account. Il link di avvio contiene già le impostazioni, il server si segnala da solo alla tua dashboard e puoi saltare i passaggi successivi.
  3. Scegli Launch with CloudFormation. Un solo modulo crea il server, il suo indirizzo fisso e le sue regole firewall nella regione che scegli.
  4. Quando lo stack è completo, apri la sua scheda Outputs. Mostra l'api.json per le tue app.
  5. Salva quell'api.json su ogni computer, oppure invialo a tutti i dispositivi da Impostazioni di rete nella dashboard. api.json

Nota: Il worker usa Durable Objects. Il loro costo dipende dal tuo piano Cloudflare e dall'utilizzo. Prezzi di Durable Objects

AWS Marketplace e il logo AWS Marketplace sono marchi di Amazon.com, Inc. o delle sue affiliate.
Cloudflare, il logo Cloudflare e Cloudflare Workers sono marchi e/o marchi registrati di Cloudflare, Inc. negli Stati Uniti e in altre giurisdizioni.

Stai pianificando una distribuzione self-hosted? Richiedi un preventivo