Túnel reverso pra projetos locais

URL pública pro seu projeto local em 1 clique

Abra o lab no seu computador, escolha uma pasta ou uma porta, e receba um link HTTPS pra mandar pro amigo. Sem SSH, sem ngrok, sem cadastro.

Single-file ~15MB. Apple Silicon. Sem dependência externa.

Um clique

Sem terminal, sem chave SSH, sem token de cadastro. Abriu, escolheu, clicou.

HTTPS automático

Wildcard *.devi.tools com certificado renovado sozinho. URL pronta pra mandar.

Open source

Cliente Python, servidor Go, tudo no GitHub. Sem rastreamento, sem analytics, sem firula.

Como usar

Dois jeitos de compartilhar

Aponte uma pasta no disco, ou uma porta de dev server. O lab cuida do resto.

Compartilhar pasta

Pra HTML estático ou build pronto

  1. Abrir o lab e marcar "Uma pasta"
  2. Escolher a pasta com seu index.html
  3. Clicar Compartilhar
  4. Copiar a URL e mandar pro amigo

Compartilhar porta

Pra dev server (Vite, Next, Java, PHP…)

  1. Subir o servidor local: npm run dev ou similar
  2. No lab marcar "Uma porta local"
  3. Digitar a porta (Vite 5173, Next 3000…)
  4. Clicar Compartilhar

Os dois modos têm a mesma vida útil: a URL fica de pé enquanto o lab tiver aberto. Fechou o app → caiu.

Atenção

Pegadinhas comuns

Modo porta: "Blocked request. This host is not allowed."
Vite, Next e similares rejeitam Host externo por padrão. No vite.config.js:
export default {
  server: {
    host: true,
    allowedHosts: ['.devi.tools'],
  },
}

CRA: HOST=0.0.0.0 DANGEROUSLY_DISABLE_HOST_CHECK=true npm start
Next.js: next dev -H 0.0.0.0

Pra HTML puro, prefira o modo pasta
Não precisa de WebStorm built-in, VSCode Live Server nem python -m http.server. O lab serve direto do disco.
Fechou o lab = URL cai
Pra entregar trabalho que precisa sobreviver com seu PC desligado, use GitHub Pages, Netlify ou Vercel. O lab é pra demo ao vivo.

Arquitetura

O caminho da request

Em ambos os modos o lab abre um WebSocket persistente com o servidor. Cada request do amigo é encapsulada num envelope e roteada pelo túnel.

       MEU COMPUTADOR                              SERVIDOR (devi.tools)
  ┌─────────────────────────┐               ┌────────────────────────────┐
  │                         │               │                            │
  │    ┌───────────────┐    │               │     ┌──────────────────┐   │
  │    │      lab      │    │               │     │       lab        │   │
  │    └───────┬───────┘    │               │     └─────────┬────────┘   │
  │            │            │               │               │            │
  │   ┌────────┴────────┐   │               │               ▼            │
  │   │                 │   │               │         *.devi.tools       │
  │   ▼                 ▼   │               │       (URL pública,        │
  │ [Pasta]       [Porta]   │               │        HTTPS automático)   │
  │   │                 │   │               │               │            │
  │   ▼                 ▼   │               │               │            │
  │ disco         localhost │               │               │            │
  │ local           :5173   │               │               │            │
  │   │                 │   │               │               │            │
  └───┴──────┬──────────┴───┘               └───────────────┼────────────┘
             │                                              │
             │              túnel WebSocket persistente     │
             └──────►──────────────────────►────────────────┘
                       (enquanto o lab              o amigo abre
                        estiver aberto)              <slug>.devi.tools
                                                                ▼
                                                       ┌──────────────────┐
                                                       │   amigo dela     │
                                                       │     (chrome)     │
                                                       └──────────────────┘

Exemplo

URL gerada

Nome amigável é opcional. Sempre vem com 6 letrinhas aleatórias no final pra ninguém adivinhar.

https://meu-tcc-h7k2nq.devi.tools

A URL existe só enquanto o lab tiver aberto. Fechou, caiu — nada fica armazenado no servidor.