Tableless

Busca Menu

Demo sem Deploy. Disponibilize seu projeto de forma rápida e segura

Seja o primeiro a comentar por

Imagine que você está desenvolvendo um projeto e precisa apresentar o protótipo, ou mesmo o sistema pronto, para outra pessoa da equipe ou cliente que não se encontra presente no local. O seu cliente quer testar, ver, clicar, mas você não colocou o sistema no ar. Como resolver tal problema?

Neste artigo apresentarei uma solução para o problema acima. A qual permite que com apenas a execução do seguinte comando

user@tableless:~/site$ ngrok http -subdomain=umNomeParaMeuDominio 8000

Seu  sistema ficará acessível em https://umNomeParaMeuDominio.ngrok.com, expondo o serviço que está rodando em localhost e utilizando a porta 8000

Pequena introdução ao Ngrok e tutorial

Esquema de funcionamento do Ngrok

Extraído do repositório oficial do projeto, GitHub

A ideia bem resumida é a seguinte: o servidor ngrokd cria um túnel entre os colaboradores e um serviço local rodando na sua máquina. Para isso, ele utiliza um conceito de API chamado Webhooks, o qual permite que uma dada aplicação forneça informação em tempo real para outras aplicações distintas. O servidor ngrokd criará um subdomínio para cada serviço conectado a ele, e cada requisição feita pelos colaboradores e redirecionada para o serviço correspondente. A ideia é simples, mas poderosa. Então, mãos à obra!

  1. Baixe o arquivo em ngrok.com(OSX,Windows, linux), versão linux: http://bit.ly/1u9XuZ0
  2. Extraia em uma pasta desejada: user@tableless:~/site$ unzip grok

Você pode preferir criar um link simbólico para o ngrok, ou um alias no bashrc para torná-lo mais acessível.

  1. Podemos utilizaropython para criar umservidorhttp simples user@tableless:~/site$ python -m simpleHTTPServer 8000
    o comando acima disponibilizara o ~/site/index.html em http://localhost:8000.
  2. Torne  seu sistema público com o seguinte comando user@tableless:~/site$ ./ngrok http 8000
    Saída do ngrok

Pronto! O sistema está acessível em https://20af6470.ngrok.com ou http://20af6470.ngrok.com ! Da para melhorar mais!

Entre em dashboard.ngrok.com/user/signup e realize o cadastro, o qual fornecerá a você um Token de Autenticação. Vá no terminal é edite o arquivo de configuração que é criado pelo ngrok.

user@tableless:~/site$ vim ~/.ngrok

Acrescente a seguinte linha:

auth_token: tokenFornecido

A autentificação pode ser feita também através da linha de comando

user@tableless:~/site$ ./ngrok authtoken tokenFornecido

Com a autenticação feita pode-se rodar o  serviço em um subdomínio específico basta mandar o seguinte comando user@tableless:~/site$ ngrok http -subdomain=tableless 8000

Com o comando acima qualquer pessoa poderá acessar seu sistema a partir de https://tableless.ngrok.com ou http://tableless.ngrok.com

Considerações Finais e Dicas:

  • Se você encontra-se atrás deumproxy,otunelamento pode ser criado inserindo o item abaixo no arquivo de configuração
    http_proxy: "http://user:password@endereco:porta" 
    
  • É possível restringir o acesso ao sistema https://ngrok.com/docs#auth
  • Utilizei o ngrok para construir o Front End de um sistema para uma empresa que se localiza em outra cidade, o que me permitiu ter um feedback imediato do cliente.
  • Estou usando o ngrok para testar uma API desenvolvida em Django(já que o facebook não permite login em aplicações rodando em 192.168… essa foi a melhor alternativa)
  • Existem inúmeras funcionalidades para o ngrok, por isso, se você se interessou sobre essa ferramenta seria interessante você dar uma olhada na documentação
    https://ngrok.com/docs
Publicado no dia