localhostly English

Como expor localhost numa URL HTTPS pública?

Rode localhostly 3000 e o seu app local responde num endereço HTTPS aleatório, como https://brave-amber-fox.localhostly.iblabs.io. O agente faz uma conexão de saída, então funciona atrás de NAT sem abrir porta no roteador. Uma conta gratuita tem 2 túneis, 150 requisições por minuto e 25 GiB de tráfego por mês.

Pegue seu token Baixe o localhostly

$ localhostly 3000

https://brave-amber-fox.localhostly.iblabs.io → http://127.0.0.1:3000
Ctrl+C to stop. Requests:

21:14:03  GET     /                                        200 12ms
21:14:05  POST    /api/webhook                             201 31ms

Como funciona?

O localhostly é um túnel localhost. O agente localhostly no seu computador abre uma conexão WebSocket com o servidor do localhostly. Quando alguém abre a sua URL, o servidor lê o nome no endereço, manda a requisição por essa conexão, e o agente a reproduz na sua porta local e devolve a resposta em stream.

seu app (localhost:3000) agente localhostly uma conexão WebSocket de saída servidor localhostly https://<nome>.localhostly.iblabs.io visitante
  1. Pegue um token. Digite seu e-mail no formulário de cadastro. O token aparece na página; não há e-mail de confirmação.
  2. Salve o token. localhostly login <token> grava em ~/.localhostly/config.json, legível só pelo seu usuário.
  3. Abra o túnel. localhostly 3000. Para mandar outro endereço e outro Host ao seu app: localhostly http 3000 --host meuapp.test:3000.

O seu app recebe a requisição como o visitante a mandou, com X-Forwarded-For, X-Forwarded-Proto: https e X-Forwarded-Host. Várias requisições passam ao mesmo tempo pela mesma conexão.

É grátis?

Sim. Não há plano pago nem cartão: a conta pede só um e-mail. Cada conta mantém 2 túneis abertos, atende 150 requisições por minuto e transfere 25 GiB por mês. Passado um limite, o visitante recebe uma página 429 que diz qual limite estourou e quando o túnel volta.

Dá para testar webhooks?

Sim. A chamada de webhook não é navegador, então pula a página de aviso e chega direto ao seu app. Cole https://<nome>.localhostly.iblabs.io/<seu caminho> nas configurações de webhook do provedor, e cada chamada aparece no seu terminal com método, caminho, status e tempo.

Se o agente perder a conexão, ele reconecta e recupera a mesma URL: uma queda curta não obriga a cadastrar o webhook de novo. Em quedas mais longas que 10 minutos o nome pode mudar.

É seguro abrir um túnel?

Use --password e todo visitante precisa digitar a senha; sem valor, o localhostly cria uma senha de 12 caracteres e a mostra só no seu terminal. O seu app nunca recebe o cabeçalho Authorization do visitante. Sem senha, qualquer pessoa com a URL chega ao endereço que você expôs: 127.0.0.1:<porta>, ou o do --host.

Como manter o túnel no ar?

Deixe o localhostly rodando num terminal. Se a conexão cair, o agente reconecta sozinho, esperando 1 segundo e dobrando até 60 segundos, e recupera a mesma URL. Em quedas mais longas que 10 minutos o nome pode mudar. Ctrl+C fecha o túnel.

Para deixar o túnel sempre no ar, localhostly service install 3000 roda o túnel como serviço do sistema (systemd no Linux, launchd no macOS, serviço do Windows). Ele reconecta sozinho e pede o mesmo nome depois de reiniciar; localhostly service uninstall o remove.

Download

O Windows e o macOS avisam na primeira vez que você roda um programa sem assinatura. No Windows, escolha Mais informações e depois Executar assim mesmo; no macOS, clique com o botão direito no arquivo e escolha Abrir.

SHA256SUMS

Pegue seu token

Sem e-mail de confirmação: o token aparece aqui.