No local
Hospede sua própria rede HopToDesk localmente ou na nuvem.
Configure sua própria rede
Configure sua própria rede HopToDesk em um servidor Linux ou Windows de 64 bits.
O caminho mais rápido: no painel, abra Configurações, Network Settings, Set up a private network. Você recebe um link de lançamento AWS pronto ou um comando Docker, e o novo servidor se reporta ao seu painel sozinho. Abrir o painel
Tutorial de configuração
Guia de configuração passo a passo
O que o instalador faz, como verificá-lo e como conectar os seus dispositivos à sua própria rede.
Como funciona
O HopToDesk usa dois tipos de servidores. O servidor de sinalização ajuda os dispositivos a se encontrarem e a iniciar uma sessão. O relay TURN transporta o tráfego da sessão apenas quando uma conexão direta entre os dois dispositivos não é possível.
As sessões são criptografadas de ponta a ponta, então nenhum dos servidores consegue ler sua tela, seus arquivos ou seu chat. O servidor de sinalização vê apenas os IDs dos dispositivos e os pedidos de conexão.
O instalador desta página configura o servidor de sinalização. O tráfego de relay passa pelo relay da HopToDesk por padrão, ou pelo seu próprio servidor TURN se você informar um.
Os dispositivos de uma rede auto-hospedada ainda podem ser vinculados ao painel para gerenciamento, e o painel pode enviar as configurações de rede a eles.
Precisa do painel também nos seus próprios servidores? Fale conosco
Antes de começar
- Um servidor Linux de 64 bits com systemd, como Ubuntu ou Debian, ou um servidor Windows.
- Acesso root ou sudo nesse servidor.
- Um endereço IP ou nome de host que todos os seus dispositivos consigam alcançar. Para uma rede que nunca sai da sua LAN, um endereço privado basta.
- Porta TCP 80 aberta no firewall do servidor para os seus dispositivos.
- Se quiser o seu próprio relay: host, porta, usuário e senha do seu servidor TURN.
Passo 1: Instalar o servidor de sinalização no Linux
- Faça login no servidor como root ou como um usuário com permissão sudo.
- No topo desta página, escolha LAN + Default Relay ou Custom TURN Server. O comando de instalação muda conforme a sua escolha.
- Clique em Copy, cole o comando no terminal e pressione Enter.
- Aguarde o script terminar. Leva menos de um minuto.
- No final, o script imprime HopSignal Setup Complete, seguido do endereço do seu servidor e de um bloco de configurações de rede pronto para uso. Guarde essa saída, você vai precisar dela no passo 3.
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh
Com o seu próprio servidor TURN, acrescente os quatro valores dele ao final do comando nesta ordem: host, porta, usuário, senha.
sudo sh hsinstall.sh turn.example.com 443 myuser mypassword
O que o script faz
- Baixa o servidor de sinalização para o seu processador, Intel, AMD ou ARM, para a pasta /home/hopsignal.
- Confere o download com a lista SHA256SUMS publicada e para sem alterações quando não há correspondência.
- Cria um serviço systemd chamado hopsignal e o inicia a cada boot.
- Inicia o servidor com os limites de conexão recomendados e uma senha de federação aleatória, guardada em /home/hopsignal/hopsignal.env com acesso apenas para root.
- Adiciona um watchdog no cron que reinicia o serviço se ele parar de responder e rotaciona o log quando ele passa de 100 MB.
- Abre a porta TCP 80 no ufw quando o ufw está ativo.
Passo 1 no Windows: Rodar o servidor de sinalização
- Mude o seletor OS no topo desta página para Windows e clique em Download. Você recebe um único arquivo chamado hopsignal.exe.
- Crie uma pasta como C:\hopsignal e mova hopsignal.exe para dentro dela.
- Na mesma pasta, crie um arquivo de texto vazio chamado fedlist.txt.
- Abra um Prompt de Comando como administrador e inicie o servidor.
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
A segunda linha guarda uma senha de federação aleatória como configuração do sistema do Windows, então ela nunca aparece na linha de comando do servidor.
Libere a porta no Firewall do Windows:
netsh advfirewall firewall add rule name="HopSignal" dir=in action=allow protocol=TCP localport=80
Para manter o servidor rodando após uma reinicialização, registre-o como tarefa agendada que inicia no boot com a conta 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 com Docker: Rodar o servidor de sinalização em um contêiner
A imagem hoptodesk/hopsignal roda o mesmo servidor de sinalização em hosts Intel, AMD e ARM. Inicie-a com os limites recomendados:
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
Cada valor HS_ ativa um limite: tamanho da mensagem em KB, mensagens na fila por conexão, conexões abertas, novas conexões e consultas por endereço a cada segundo, segundos de inatividade e segundos para o handshake. Se omitir um valor, esse limite fica desativado.
Para vincular o contêiner à sua conta do painel automaticamente, use o comando Docker de Set up a private network no painel. Ele adiciona HS_SETUP_TOKEN e HS_DASHBOARD_URL, e o servidor reporta o seu endereço uma vez, no primeiro início.
Passo 2: Verificar se o servidor está rodando
No Linux, verifique o serviço e o log:
sudo systemctl status hopsignal tail /home/hopsignal/hs.log
No Windows, confirme que a porta está escutando:
netstat -an | find ":80 "
Com Docker, verifique o contêiner e seu log:
docker ps --filter name=hopsignal docker logs hopsignal
De qualquer computador, teste a porta WebSocket. Substitua SERVER_IP pelo endereço do seu servidor. Um servidor saudável responde 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: Apontar os seus dispositivos para o servidor
Cada dispositivo lê suas configurações de rede de um pequeno documento JSON. É o bloco que o instalador imprimiu no final do passo 1. Substitua SERVER_IP pelo endereço do seu servidor e preencha o bloco TURN se você usa o seu próprio 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"
}
O bloco rendezvous é o seu servidor de sinalização. Use a chave rendezvousssl em vez de rendezvous quando o servidor for acessado por TLS, por exemplo um Cloudflare Worker. A lista turnservers contém um ou mais relays. Defina o protocolo como turn para uma conexão simples ou turn-tls para uma conexão TLS. Deixe as chaves de versão como estão.
Escreva cada número de porta entre aspas, como no exemplo acima. O aplicativo ignora uma porta escrita como um número simples.
Há três formas de entregar este documento aos seus dispositivos. Escolha a que se encaixa na sua configuração.
Opção A: Colocar um arquivo api.json em cada dispositivo
Salve o documento como um arquivo chamado api.json na pasta de configuração do HopToDesk e reinicie o HopToDesk. O aplicativo lê o arquivo na inicialização e deixa de consultar a API da HopToDesk.
| Plataforma | Caminho |
|---|---|
| Windows, todos os usuários e o serviço (requer permissões de administrador) | C:\ProgramData\HopToDesk\config\api.json |
| Windows, somente o usuário atual | %APPDATA%\HopToDesk\config\api.json |
| macOS | ~/Library/Preferences/com.hoptodesk.HopToDesk/api.json |
| Linux | ~/.config/hoptodesk/api.json |
No Linux, coloque uma segunda cópia em /root/.config/hoptodesk. O aplicativo usa essa cópia na tela de login, antes que um usuário entre.
Opção B: Hospedar o arquivo em uma URL e selecioná-la no aplicativo
- Envie o api.json para qualquer servidor web que os seus dispositivos consigam alcançar. HTTPS é recomendado.
- No HopToDesk, clique no ícone de engrenagem para abrir as configurações.
- Em Network, clique em Choose Network.
- Selecione Custom Network Settings, cole a URL do seu arquivo e confirme.
- O HopToDesk baixa o arquivo, verifica se ele contém uma entrada rendezvous válida e uma lista turnservers, e então reconecta pelo seu servidor.
Para voltar à rede pública, abra Choose Network de novo e selecione HopToDesk Network (Default).
No Android e no iOS, abra Configurações, desative Use HopToDesk Network na seção Rede e depois digite a URL do seu arquivo. Celulares gerenciados por um EMM podem receber a mesma URL pela configuração gerenciada custom_api_url.
Opção C: Enviar as configurações pelo painel
Se os seus dispositivos estão vinculados ao painel da HopToDesk, você pode definir a rede uma única vez para toda a conta. Um cliente personalizado gerado no painel já vem com essas configurações embutidas.
Servidor novo: no painel, abra Configurações, Network Settings, Set up a private network. Escolha In my AWS account ou On my own server. O servidor reporta o seu endereço ao iniciar, e cada dispositivo vinculado recebe as configurações. Nada para digitar.
Um servidor que você já executa: insira as configurações dele manualmente.
- Entre no painel como proprietário ou administrador e abra as configurações.
- Em Network Settings, selecione Custom Network.
- Informe o host do servidor de sinalização, a porta e WS como protocolo. Adicione um servidor TURN se você usa o seu próprio relay, ou deixe vazio para manter o relay da HopToDesk.
- Clique em Save Network Settings. Cada dispositivo vinculado recebe as novas configurações e as aplica sem reinstalação.
Rodar o seu próprio relay TURN (opcional)
As sessões que não conseguem conectar diretamente passam pelo relay da HopToDesk por padrão. Para manter todo o tráfego na sua própria infraestrutura, rode um servidor TURN. Qualquer servidor TURN padrão funciona, e o coturn é uma escolha comum no Linux.
- Instale o coturn no servidor de relay.
sudo apt install coturn
- Edite /etc/turnserver.conf e defina pelo menos os valores abaixo. Substitua o realm, as credenciais e o IP público pelos seus.
listening-port=443 fingerprint lt-cred-mech user=myuser:mypassword realm=example.com external-ip=PUBLIC_IP
- Se /etc/default/coturn tiver uma linha TURNSERVER_ENABLED, descomente-a. Depois habilite e inicie o serviço.
sudo systemctl enable --now coturn sudo systemctl restart coturn
- Abra a porta de escuta para TCP e UDP, além do intervalo de relay UDP 49152 a 65535, no firewall do relay.
- Entregue o relay aos seus dispositivos: execute o instalador de novo com os quatro valores TURN, ou edite o bloco turnservers nas suas configurações de rede. Use turn-tls como protocolo se o seu relay termina TLS.
Gerenciar o servidor no Linux
sudo systemctl status hopsignal sudo systemctl restart hopsignal sudo systemctl stop hopsignal tail -f /home/hopsignal/hs.log
Para atualizar o servidor, pare o serviço e execute o comando de instalação de novo. Ele baixa o binário atual e reescreve o serviço.
Para remover o servidor junto com o serviço e as entradas do cron:
curl -o hsinstall.sh -sL https://www.hoptodesk.com/hs/hsinstall && sudo sh hsinstall.sh remove
Solução de problemas
- O ID fica em Generating, ou o aplicativo fica tentando conectar à rede: o dispositivo não consegue alcançar o servidor de sinalização. Verifique se o serviço está rodando, se a porta 80 está aberta e se o endereço nas suas configurações de rede está correto.
- Os dispositivos conectam na LAN, mas não de fora: o relay não está acessível. Com o relay padrão, os dispositivos precisam de acesso de saída a turn.hoptodesk.com na porta 443. Com o seu próprio relay, verifique as regras de firewall e as credenciais.
- O aplicativo ignora o api.json: confira se o arquivo é um JSON válido sem vírgulas finais, se está na pasta certa e se você reiniciou o HopToDesk. O log do aplicativo contém a linha Loaded local api.json quando o arquivo foi carregado.
- A porta 82 é a porta de federação para ligar vários servidores de sinalização seus. Mantenha-a fechada para a internet.
- O servidor de sinalização não armazena dados de sessão. Se algo parecer travado, reinicie o serviço. Os dispositivos reconectam sozinhos em cerca de um minuto.
Hospedagem em terceiros
Prefere uma plataforma gerenciada? Implante sua rede HopToDesk na Cloudflare ou na AWS.

HopToDesk na Cloudflare
- Faça login na sua conta Cloudflare e acesse a zona de domínio que deseja usar.
- Crie um novo worker com o nome de arquivo index.js.
- Copie o código do worker para index.js, depois salve e implante o worker. Código do worker
- Nas configurações do worker, adicione um binding de Durable Object chamado group para a classe SessionGroup.
- A URL do seu Cloudflare Worker está pronta. Use-a como valor de "rendezvousssl". api.json API personalizada

HopToDesk na AWS
- Assine o HopToDesk Private Network no AWS Marketplace. A oferta é gratuita; a AWS cobra apenas pelo servidor. AWS Marketplace
- Conectado ao painel? Abra Configurações, Network Settings, Set up a private network e escolha In my AWS account. O link de lançamento já vem com as configurações preenchidas, o servidor se reporta ao seu painel sozinho, e você pode pular os próximos passos.
- Escolha Launch with CloudFormation. Um único formulário cria o servidor, o seu endereço fixo e as suas regras de firewall na região que escolher.
- Quando a stack estiver concluída, abra o separador Outputs. Ele mostra o api.json para as suas aplicações.
- Salve esse api.json em cada computador ou envie-o a todos os dispositivos em Configurações de rede no painel. api.json
Observação: O worker usa Durable Objects. O custo depende do seu plano da Cloudflare e do uso. Preços do Durable Objects
AWS Marketplace e o logotipo do AWS Marketplace são marcas registradas da Amazon.com, Inc. ou de suas afiliadas.Cloudflare, o logotipo da Cloudflare e o Cloudflare Workers são marcas comerciais e/ou marcas registradas da Cloudflare, Inc. nos Estados Unidos e em outras jurisdições.
Planejando uma implantação auto-hospedada? Solicitar orçamento