Executando verificação de segurança...
45

[💡Dica] Como expor seu localhost para o mundo 🌎 em 3min - ngrok

Essa semana eu estava querendo testar os WebHooks do Gitlab e não queria ter que subir uma máquina na nuvem para ter uma url, pesquisando um pouco me deparei com o Ngrok. E turma, ele é uma delicinha 🥑

Voce pode baixar ele aqui, depois de baixar ele para expor uma das porta do seu localhost é só executar:

ngrok http PORTA

(Ex: ngrok http 8000)

e voilá ✨, ele faz um túnel de uma url para seu localhost. E você pode compartilhar o link que ele gera com quem você quiser.

Print do terminal com ngrok rodando

Me conta, você já conhecia o Ngrok?

Carregando publicação patrocinada...
5

Muito legal a dica! Uso o ngrok a bastante tempo já.

Apenas para contribuir com a Tab, gostaria de mostrar aos amigos uma outra alternativa: https://localhost.run

Ele também é um tunel para localhost, mas com a possibilidade de rodar direto do terminal sem precisar instalar nenhum software.

(ele usa o cliente SSH, que em geral já vem instalado nos sistemas mais modernos).

5

Não conhecia! Muito bacana a ferramenta, por inclusive apenas usar o ssh nativo. Inclusive, para quem usa um ZSH da vida, criei uma função com alias para quem quiser facilitar.

No ~/.zshrc

function tunnel() {
   ssh -R 80:localhost:"$1" localhost.run 
}

Logo depois, executar

source ~/.zshrc

Fechar e abrir o terminal e pronto, comando feito.

No caso, seria só abrir um terminal e rodar "tunnel porta", onde porta você coloca a porta que quer expor.

1
2
1

De maneira bem genérica, o'que o Ngrok faz e conectar uma url a porta selecionada do seu localhost.

Então qualquer coisa que você estiver rodando na porta que você selecionou vai estar exposta neste url. Seja sua aplicação em Express, Next, Django, Ruby e etc. Se estiver rodando local na mesma porta que você selecionou no Ngrok vai ser acessível pela url.

1
1
1
2

Valeu!

Muito massa, isso vai ser útil pra mim, quero fazer projetos de back-end e ainda não queria pagar um host na internet, com esse localhost vai ser top!

2
1
1

Acredito que sim. Ele nao muda nada na sua rede, a grosso modo ele funciona:

Url -> Agente no seu pc (ngrok) -> Sua Aplicacao rodando na porta setada

Mas, voce pode fazer o teste e voltar aqui para contar se deu certo.

1

mais eu consigo abrir por porta ?
por exemplo conectar em sum servidor ssh ?
assim eu posso testar
edit
e a mesma coisa do dns dinamico caso eu deixe o ipv6 ativado funsiona caso ambos tenham ipv6
se desativo o ipv6 da maquina host não conecta mais por causa do nat

1
1

O que a vercel faz é pegar seu código e rodar ele em uma máquina provisionada por eles, ou seja, o código é executado no pc de outra pessoa/empresa e ele é exposto na internet para que qualquer um o acesse.

Já o ngrok, pega uma aplicação que você está rodando e expõe na internet, a diferença principal é que na vercel você roda no servidor deles, já no ngrok você roda na sua máquina mesmo.

1
1
1
1

Fica a dica:
Se não tiver potência na maquina para rodar o front e o back, suba o front, deixe uma variavel no localStorage para colocar um endereço da API, rode o back na máquina, coloque o endereço lá e aproveite o front hospedado para testar o back em desenvolvimento na sua máquina

1
1
1

Que maravilha, eu adorei isso!

Experimentei em Laravel, após algumas configurações em questão da porta HTTPS e HTTP, eu consegui rodar e enviar o link para amigos e testar a aplicação no meu próprio celular (o que SIM, faz muita diferença para mim do que usar o inspecionar elemento).

Salvou muito minha vida, vou usar para sempre!

1

Que bacana, esses dias eu tentei subir uma aplicação que tava estudando no github page, porém ele não lidou muito bem com o JSON Server, não sei se eu não soube subir direito, mas vou testar essa alternativa !

1
1
1
1
1
1

Conheci o ngrok há alguns anos no começo da faculdade, gostava de usa para fazer alguns teste e coloca meus projetos para meus amigos testarem.

1
1

Fantástico! Acabei de testar aqui e a facilidade da configuração disso é impressionante. Será muito útil em um projeto que irei apresentar na faculdade semana que vem :)

1

Já tinha um pouco de conhecimento dessa ferramenta de quando estudei Pentesting, principalmente focando em Phishing ou simplesmente "largar" um clone de um website famoso (facebook, youtube e etc) para capturar dados.

Porém, por incrível que pareça, nunca havia pensado em utilizar ele dessa maneira.

1

Achei muito massa ! Fiquei com uma pequena dúvida apenas, essa URL que ele gera permite conexões externas ? Se sim, precisa de mais alguma configuração ? =]

1

Conheço, usei uma vez para conseguir jogar minecraft com meus amigos, ai abria a minha porta do localhost em que estava o jogo e mandava o link para eles acessarem.

1

Usei durante muitos anos o no-ip, fazia uma tempo que não testava nada desse tipo e esse ngrok se mostrou bem rápido, vou subir alguma coisa e deixar rodando para testar a estabilidade volto depois com os teste.

1

Utilizo o no-ip na empresa em que trabalho para uma página de cotação de produto com diversos fornecedores, o ip não é fixo e utilizamos o plano gratuito (a cada 30 dias tenho que confirmar a utilização pra não perder o endereço). O ngrok seria uma alternativa, ou nesse caso o no-ip é a melhor solução?

1

Que issooo aue delicimha esse nível de compartilhamento de tecnologias para facilitar a nossa vida e compartilhar com o mundo nossas queridas criações. 🥰

1
1

Sim. Conheci o Ngrok no Kali-Linux. O projeto evoluiu e foi simplificado. Agora basta configurar o binário do Ngrok, tanto no Linux quanto no Windows.

Uma delicinha, mesmo!

1

Sempre quis fazer algo do tipo mas nao sabia como ... agradeço pela informaçao ...

Agora, isso nao deixa brechas na segurança da sua maquina local ?

1

Nesse processo você não esta expondo a sua maquina em si na rede. Quando uma requisição bate na url, ela direciona para o agente do ngrok na sua máquina e ele direciona para sua porta local. Mas como Natanael falou vai depender um pouco do que sua aplicação faz, se sua aplicação consegue executar comandos direto na sua máquina, esse é um enorme problema.

como recomendação deixo esse video aqui do Akita.