🛰️ Quando il localhost esce di casa: Ngrok e la magia del tunnel verso Internet

  

Chi sviluppa sa che localhost è un posto sicuro.
È la nostra sandbox, il nostro piccolo mondo isolato dove tutto funziona (più o meno) finché non dobbiamo mostrarlo a qualcun altro.

Poi arriva il momento fatidico:

“Mi fai vedere il progetto?”
E improvvisamente ci ricordiamo che il nostro capolavoro vive solo sul nostro portatile.

È qui che entra in scena Ngrok, un piccolo strumento che fa una cosa semplicissima ma potentissima: rende accessibile il tuo server locale da Internet.

🔗 Ti piace Techelopment? Dai un'occhiata al sito per tutti i dettagli!

🚀 Cos’è Ngrok (in parole semplici)

Ngrok crea un tunnel sicuro tra il tuo computer e un dominio pubblico temporaneo.
In pratica, se stai sviluppando un sito su localhost:3000, con un solo comando puoi ottenere un URL pubblico tipo:

https://magical-tiger.ngrok.io

Chiunque visiti quel link vedrà esattamente ciò che gira sulla tua macchina.
Nessun deploy, nessun server remoto, nessuna configurazione di rete. Solo pura magia.


🔧 Come si usa

  1. Installa Ngrok (su macOS, Linux o Windows):
    brew install ngrok/ngrok/ngrok
    
    oppure scaricalo da ngrok.com.
  2. Autenticati (solo la prima volta):
    ngrok config add-authtoken <IL_TUO_TOKEN>
    
  3. Avvia il tunnel verso il tuo server locale, ad esempio sulla porta 3000:
    ngrok http 3000
    

Ngrok ti mostrerà due URL: uno in http e uno in https.
Da quel momento, chiunque potrà accedere al tuo sito locale tramite quell’indirizzo.


🧠 Esempio pratico: testare un webhook in locale

Poniamo che tu stia sviluppando un’app Express che riceve notifiche da GitHub.
Ecco un esempio minimalista:

import express from "express";
const app = express();

app.use(express.json());

app.post("/webhook", (req, res) => {
  console.log("Webhook ricevuto:", req.body);
  res.sendStatus(200);
});

app.listen(5000, () => console.log("Server locale su http://localhost:5000"));

Ora vuoi testarlo con un webhook di GitHub.
Il problema: GitHub non può raggiungere localhost.

La soluzione:

ngrok http 5000

Ngrok ti restituirà un URL come:

https://curious-fox.ngrok.io

Nel pannello di GitHub, imposta il webhook così:
- Payload URL: https://curious-fox.ngrok.io/webhook
- Content type: application/json

Fai un push, e voilà — il tuo server locale riceve l’evento in tempo reale.


🧭 Bonus: la dashboard segreta

Ngrok include anche una mini dashboard di debug all’indirizzo
👉 http://localhost:4040

Da lì puoi:

  • vedere tutte le richieste ricevute,
  • analizzare header e body,
  • reinv iare webhook per testare il tuo codice.

È come un piccolo Postman integrato, sempre pronto.


⚙️ Perché usarlo

  • ✅ Perfetto per testare API e webhook
  • 👀 Ideale per mostrare un progetto a un cliente o un collega
  • 🧩 Utile per debug, demo o prototipi rapidi
  • 🔒 Sicuro, con connessioni HTTPS automatiche

🧩 Alternative

Ngrok è il re del tunneling, ma ci sono valide alternative open source:

Oppure dai un'occhiata a questo articolo per soluzioni a pagamento con piani gratuiti:
localhost online
Esponi il tuo localhost online grazie a questi tool
4 strumenti per esporre localhost online in base alle tue esigenze

🏁 Conclusione

Ngrok è uno di quegli strumenti che non sai di volere finché non lo provi.
Trasforma in un attimo il tuo ambiente locale in una finestra sul web.
Non sostituisce un vero deploy, ma quando serve “aprire un buco temporaneo” tra localhost e il mondo, fa il suo lavoro con stile.

🌍 Perché a volte, anche il tuo localhost ha bisogno di farsi un giro online.


Follow me #techelopment

Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment