On-Premises

Ospita la tua rete HopToDesk in sede o nel cloud.

Configura la tua rete

Configura la tua rete HopToDesk. Compatibile con Ubuntu 18 - 24 e Windows.

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.

La dashboard resta un servizio in hosting. I dispositivi di una rete self-hosted possono comunque esservi collegati per la gestione, e la dashboard può inviare loro le impostazioni di rete.

Prima di iniziare

  • Un server con Ubuntu da 18.04 a 24.04, 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. Su un server nuovo, l'installazione dei pacchetti può richiedere qualche 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.
cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && 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.

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

Cosa fa lo script

  • Installa con apt gli strumenti di compilazione e le librerie OpenSSL necessarie.
  • Scarica il binario del server di segnalazione nella cartella /home/hopsignal.
  • Crea un servizio systemd chiamato hopsignal e lo avvia a ogni accensione.
  • 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. La versione Windows richiede anche un certificato TLS e la sua chiave privata in formato PEM. Va bene qualsiasi coppia, anche autofirmata. Salvali come cert.pem e key.pem nella stessa cartella.
  5. Apri un Prompt dei comandi come amministratore e avvia il 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

Se hai OpenSSL, questo comando crea una coppia di certificati autofirmati:

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

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

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 "

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 o un deployment su AWS. 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.

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 servizioC:\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 il servizio in background gira come root e legge il file sotto /root, mentre l'app che apri legge il file nella tua cartella home. Metti una copia in entrambi i posti.

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.

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.

  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:

cd /home && curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && 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. L'URL del tuo Cloudflare Worker è pronto. Usalo come valore "rendezvousssl". api.json API personalizzata

HopToDesk su AWS

  1. Registrati per un account AWS se non ne hai già uno.
  2. Iscriviti alla scheda HopToDesk su AWS Marketplace. AWS Marketplace
  3. Dopo che Amazon ha effettuato il provisioning del servizio, configuralo se necessario e avvia l'istanza.
  4. La tua rete HopToDesk è ora distribuita su AWS. Imposta il suo URL https come valore "rendezvousssl". api.json API personalizzata

Nota: Il worker richiede un piano Cloudflare a pagamento a partire da 5 $ al mese, perché si basa su Durable Objects. 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.