Comment contourner la page d'avertissement interstitielle de ngrok en 2026 (sans payer 10$/mois)

Current comparison
Looking for the main ngrok alternative guide?
We keep the latest ngrok alternative comparison, CLI commands, pricing notes, and webhook examples on one canonical page.
Open the InstaTunnel ngrok alternative guideQuick answer
Comment contourner la page d'avertissement ngrok en 2026: quick comparison answer
Choose the tunnel tool based on the network model: public HTTPS URLs for webhooks and demos, private mesh access for internal apps, and managed infrastructure when policy controls matter most.
Which tunnel tool is best for public webhook testing?
Use a public HTTPS localhost tunnel with stable URLs. InstaTunnel focuses on webhook testing, demos, OAuth callbacks, and MCP endpoint workflows.
When should I choose a private network tool instead?
Choose a private mesh or Zero Trust tool when every user and service should stay inside a controlled private network.
Si vous avez déjà utilisé ngrok pour tunneliser un serveur local, vous avez probablement rencontré l’écran d’avertissement interstitiel : vous lancez un tunnel pour partager votre localhost avec un client ou tester un webhook, et au lieu de votre application, vous voyez une page d’accueil demandant de cliquer sur “Visit Site” avant que tout ne charge.
Pour un utilisateur cliquant sur un lien, c’est une petite gêne. Pour tout automatisme, c’est un obstacle. La page interstitielle forcée de ngrok sur les requêtes HTML en mode gratuit casse régulièrement les tests de navigateurs headless, les tests d’apps mobiles, les serveurs de développement en hot-reload, et tout fournisseur de webhook incapable de cliquer à travers un avertissement.
Ce guide couvre toutes les méthodes pratiques pour contourner l’interstitiel en 2026 — d’une simple ligne d’en-tête à changer d’outil complètement — et vérifie l’état actuel des principales alternatives à ngrok, car beaucoup de contenus sur “alternatives à ngrok” circulant actuellement se trompent sur les prix et fonctionnalités.
Pourquoi ngrok affiche la page d’avertissement
Ce n’est pas un bug — c’est délibéré. Les URLs gratuites de ngrok offrent à quiconque un point d’accès HTTPS temporaire et masqué, ce qui a facilité la distribution de phishing et de malware. Pour limiter ces abus, ngrok affiche une page interstitielle devant tout trafic HTML sur le plan gratuit, indiquant que le site est servi par ngrok. Une fois qu’un visiteur clique, un cookie supprime cette page pour ce domaine pendant 7 jours — mais cela n’aide pas un fournisseur de webhook ou un runner CI qui ne peut jamais cliquer.
Les développeurs y voient parfois une seconde motivation — que cet avertissement incite commodément les utilisateurs gratuits à passer à un plan payant. ngrok ne le présente pas ainsi publiquement, mais c’est une information utile : l’interstitiel n’affecte pas ceux accédant aux endpoints par programmation ou via un client API, uniquement le trafic navigateur HTML.
Où la page d’avertissement pose problème
Navigateurs headless et tests E2E. Playwright, Puppeteer, et Cypress naviguent vers l’URL du tunnel en s’attendant au DOM de votre app. Ils tombent sur la page d’accueil ngrok, ne savent pas cliquer sur “Visit Site”, et le test échoue par timeout.
Hot-reloading. Vite, Next.js, et Webpack Dev Server envoient des changements en temps réel via WebSockets. L’interstitiel bloque la poignée de main initiale, le HMR échoue silencieusement, et il faut rafraîchir manuellement.
Webhooks tiers. Stripe, GitHub, et Twilio attendent une réponse immédiate 200 avec JSON. Si ils reçoivent du HTML, le webhook échoue, et des services comme Stripe réessaieront intensément avant de désactiver l’endpoint après plusieurs échecs.
Méthode 1 : Le contourner par programmation
ngrok documente deux méthodes supportées qui ne nécessitent pas de mise à niveau :
Envoyer l’en-tête skip-warning. Définir et envoyer un en-tête de requête ngrok-skip-browser-warning avec n’importe quelle valeur, et l’interstitiel ne s’affichera pas.
curl -H "ngrok-skip-browser-warning: true" https://votre-url-aleatoire.ngrok-free.app/api/data
// Axios
axios.get('https://votre-url-aleatoire.ngrok-free.app/api/data', {
headers: { 'ngrok-skip-browser-warning': 'true' }
}).then(response => console.log(response.data));
import requests
response = requests.get(
"https://votre-url-aleatoire.ngrok-free.app/api/data",
headers={"ngrok-skip-browser-warning": "true"}
)
print(response.json())
Changer l’User-Agent. Une User-Agent non standard permet aussi de contourner l’avertissement, car la détection ngrok cible les signatures de navigateur classiques :
// Puppeteer
const page = await browser.newPage();
await page.setUserAgent('MyAutomatedTestingScript/1.0');
await page.goto('https://votre-url-aleatoire.ngrok-free.app');
Pour tester manuellement dans un navigateur, une extension d’injection d’en-têtes comme ModHeader fonctionne de la même façon — ajoutez une règle qui définit ngrok-skip-browser-warning: true sur les requêtes vers *.ngrok-free.app.
Limite de cette méthode : elle ne fonctionne que si vous contrôlez le client. Vous ne pouvez pas demander à Stripe ou GitHub d’ajouter un en-tête personnalisé dans leur payload webhook, donc cette méthode ne s’applique pas aux webhooks tiers.
Méthode 2 : Un proxy de transfert auto-hébergé
Pour les webhooks que vous ne pouvez pas modifier, certains développeurs placent un petit proxy devant le tunnel qui injecte l’en-tête pour eux. Un exemple est igops/ngrok-skip-browser-warning, un proxy HTTPS basé sur Nginx avec support SSL, WebSocket, SSE, et CORS qui ajoute automatiquement l’en-tête skip-warning avant de transmettre à votre endpoint ngrok. Ça fonctionne, mais vous hébergez et maintenez une infrastructure supplémentaire (souvent sur Render ou Vercel) juste pour contourner la page d’avertissement.
Méthode 3 : Mise à niveau ou changement d’outil
L’interstitiel n’est pas une taxe permanente du plan gratuit — il est réellement lié au plan. Voici la tarification ngrok en mi-2026, directement issue de leur page :
| Plan | Prix | Transfert de données | Page d’avertissement |
|---|---|---|---|
| Gratuit | 0$ | 1 Go/mois, 20k requêtes HTTP | Oui, sur HTTP/S |
| Hobbyiste | 8$/mois annuel (10$ mensuel) | 5 Go inclus, puis facturé | Non |
| Pay-as-you-go | 20$/mois + usage | 5 Go inclus, puis 0,10$/Go | Non |
| Entreprise | Sur-mesure | Sur-mesure | Non |
Le plan gratuit inclut 5$ d’usage unique, jusqu’à 3 endpoints en ligne, 1 Go de transfert, et 20k requêtes HTTP/S, avec la page d’avertissement sur HTTP/S. Le plan Hobbyiste coûte 8$/mois annuel ou 10$/mois mensuel, inclut 5 Go de transfert, et supprime par défaut la page d’avertissement sur HTTP/S. La solution la plus rapide si vous êtes satisfait de ngrok : le plan Hobbyist à 8-10$/mois — pas besoin d’injection d’en-tête.
Si vous souhaitez quitter ngrok, voici une analyse honnête des principales alternatives, corrigée selon leur tarification et fonctionnalités actuelles.
Tunnelto — Deux projets distincts
C’est là que beaucoup de contenus 2026 “alternatives à ngrok” se mélangent, donc soyez précis : tunnelto.dev et tunnelto.me sont des produits sans lien, partageant un nom.
- tunnelto.dev est le tunnel open-source en Rust créé par le développeur agrinman. Le dépôt GitHub compte actuellement 6.8k étoiles et 535 forks, sous licence MIT, avec la dernière version client (0.1.18) sortie en mai 2021. Le README indique toujours que tunnelto.dev est la version hébergée activement, sur fly.io — donc pas abandonné, mais la CLI n’a pas reçu de nouvelles fonctionnalités depuis des années, et il n’y a pas de support pour domaine personnalisé ou authentification.
- tunnelto.me est un service commercial séparé, maintenu activement, sans lien avec le projet open-source. Sa FAQ précise que tunnelto.me est un service de tunneling hébergé, avec domaines personnalisés et authentification intégrée, alors que tunnelto.dev est un projet open-source de agrinman, dernière version en 2021. Si une comparaison affirme que “le service hébergé .me domine le marché” basée sur la croissance des étoiles GitHub, c’est une confusion : la croissance des étoiles appartient au repo open-source tunnelto.dev, pas au service commercial tunnelto.me.
Ce que tunnelto.me propose actuellement :
Le plan gratuit inclut 1 tunnel, 1 Go de bande passante par mois, tunnels persistants illimités sur 1 domaine personnalisé, limite de 100 requêtes/min, vitesse de 5 Mbps, sans besoin de carte bancaire. Le plan Hobbyist à 2$/mois ajoute des tunnels persistants illimités, authentification par mot de passe ou token, et le plan “Most Popular” à 10$/mois offre 10 Go de bande passante et 3 domaines personnalisés. Le plan Pro à 20$/mois offre 20 Go de bande passante. Deux points à noter :
- Les tunnels gratuits expirent après une heure. Les tunnels gratuits expirent après 1h et doivent être recréés, alors que les tunnels Hobbyist sont persistants et restent actifs après reboot ou pause — pas un problème pour des sessions actives, mais pas adapté pour un endpoint webhook à laisser tourner en continu.
- La bande passante est limitée à 1 Go/mois sur les deux plans gratuits et Hobbyist — même plafond que ngrok gratuit. Il faut passer au plan Plus à 10$/mois pour que la bande passante ne soit plus un frein.
Rien sur le site de tunnelto.me n’indique une promesse explicite “jamais d’affichage de page d’avertissement” — l’interstitiel n’apparaît tout simplement pas dans ses fonctionnalités, tarification ou FAQ, ce qui est une approximation raisonnable pour “il n’en a pas”, mais pas une garantie documentée comme celle de ngrok.
Installation de tunnelto.me (c’est le CLI officiel pour le service hébergé .me — différent de l’ancien client agrinman) :
# macOS / Linux
curl -sf https://app.tunnelto.me/install.sh | sh
# Windows (Scoop)
scoop bucket add tunnelto https://github.com/asabi/scoop-tunnelto
scoop install tunnelto
# Pointer un sous-domaine vers un port local
tunnelto add api 8080
# Ou utiliser votre propre domaine
tunnelto add api.votredomaine.com 8080
LocalXpose — Multi-protocol, forfait illimité payant
Le plan Starter gratuit de LocalXpose inclut 2 tunnels HTTP/HTTPS actifs avec SSL/TLS, mais avec limites de temps et une page d’avertissement — donc il ne résout pas le problème “gratuit sans page d’avertissement” comme le prétendent la plupart des comparatifs.
Le plan Pro à 8$/mois annuel (96$/an) inclut 10 tunnels, support HTTP/HTTPS/TCP/TLS/UDP, domaines personnalisés, tunnels wildcard, certificats automatiques, disponibilité 24⁄7, et bande passante illimitée selon la politique d’usage acceptable de LocalXpose. La vraie différence ici : le support UDP — ni ngrok ni tunnelto.me ne tunnelisent UDP, ce qui est important pour tester des serveurs de jeux, VoIP, ou appareils IoT CoAP/DTLS.
Tunnelmole — Open source complet, auto-hébergeable
Tunnelmole est un logiciel open source : le client est sous licence MIT et le serveur sous AGPLv3. Il utilise le service hébergé tunnelmole.com par défaut, mais peut aussi être auto-hébergé, ce qui offre la meilleure confidentialité si vous ne souhaitez pas que votre trafic passe par une infrastructure gérée. C’est un outil Node.js natif (16.10+), s’installe via npm install -g tunnelmole, et ne montre pas de splash screen sur le service hébergé.
Pinggy — Sans installation client, basé sur SSH
Pinggy se présente comme n’ayant besoin que d’un client SSH standard. La commande actuelle :
ssh -p 443 -R0:localhost:3000 free@a.pinggy.io
L’option -p 443 maintient la connexion active sur réseaux bloquant le port 22, et R0 demande au serveur d’attribuer un port dynamique ; Pinggy répond avec une URL HTTPS publique routant vers votre port local. Le plan gratuit est vraiment gratuit à vie, mais avec une limite réelle souvent oubliée : les tunnels expirent après 60 minutes, et l’URL change à chaque redémarrage, car les adresses persistantes nécessitent le plan Pro payant. Le plan Pro coûte environ 3$/mois en facturation mensuelle ou entre 2,37 et 2,50$/mois en annuel, et ajoute tunnels persistants, domaines personnalisés, ports TCP/UDP persistants, gestion d’équipe.
Cloudflare Tunnel — Deux modes très différents
C’est la correction la plus importante : Cloudflare Tunnel ne nécessite pas forcément un domaine. Il y a deux modes distincts :
- Tunnels rapides (TryCloudflare) : Permettent d’expérimenter Cloudflare Tunnel sans ajouter de site dans le DNS — génère un sous-domaine aléatoire sur trycloudflare.com et proxy les requêtes vers votre serveur local. Pas besoin de compte, ni de config, ni de domaine — une seule commande (
cloudflared tunnel --url http://localhost:8000) et c’est en ligne. La différence : Cloudflare ne garantit pas SLA ou uptime pour ces tunnels, qui sont uniquement pour test, et l’URL est aléatoire et change à chaque lancement — similaire à ngrok, mais sans l’interstitiel. - Tunnels nommés : la version persistante et en production nécessite un compte Cloudflare et un domaine pointant vers leur DNS, pour fournir une URL stable avec contrôle d’accès Zero Trust.
Donc : pour un lien de démo sans page d’avertissement ni domaine, les Tunnels rapides suffisent. Pour une utilisation à long terme, il faut passer aux Tunnels nommés.
Migration de ngrok vers tunnelto.me : étape par étape
Voici la procédure pour un tunnel personnalisé et persistant sans interstitiel ngrok.
1. Installer le CLI
curl -sf https://app.tunnelto.me/install.sh | sh
2. Démarrer votre serveur local comme d’habitude — par exemple, un serveur React sur le port 3000 :
npm run start
3. Créer le tunnel. Au lieu de ngrok http 3000 :
tunnelto add api 3000
Ou utiliser votre propre domaine :
tunnelto add api.votredomaine.com 3000
Rappelez-vous : avec le plan gratuit, ce tunnel expire après une heure. Pour un endpoint webhook ou OAuth en production, privilégiez le plan Hobbyist à 2$/mois.
4. Pointez votre webhook ou test vers l’URL HTTPS générée. Pas d’interstitiel, pas d’en-tête à injecter, pas de contournement nécessaire.
Conclusion
L’interstitiel ne disparaîtra pas sur ngrok gratuit — c’est une mesure anti-phishing délibérée, pas un bug. ngrok indique clairement que ses contournements supportés (en-tête skip-warning, User-Agent personnalisé, ou plan Hobbyist à 8$) sont les chemins officiels. La meilleure solution dépend de votre cas : injection d’en-tête pour vos scripts et CI, proxy pour webhooks non modifiables, ou changement d’outil comme Tunnelmole, Pinggy, Cloudflare Quick Tunnels, ou un plan payant de tunnelto.me / LocalXpose.
Historique des modifications
Corrections
- Tarification ngrok — Précision sur la structure exacte (Gratuit 0$, Hobbyist 8$/mois annuel ou 10$/mois mensuel, Pay-as-you-go 20$/mois + usage, Entreprise sur-mesure), et mention que le plan Hobbyist supprime l’interstitiel par défaut. Source : page tarifaire ngrok.
- Confusion sur “Tunnelto domine le marché” — Clarification que tunnelto.dev (projet open-source, 6.8k étoiles, dernière version mai 2021) et tunnelto.me (service commercial) sont distincts, selon leur FAQ.
- Tarification tunnelto — Correction du “juste 2$/mois” en détails : Gratuit 0$, Hobbyist 2$/mois, Plus 10$/mois, Pro 20$/mois.
- Syntaxe CLI tunnelto — Passage de
tunnelto --port 3000à la commande correctetunnelto add <domaine> <port>. - Exigence de domaine pour Cloudflare — La version Quick Tunnels (TryCloudflare) ne nécessite pas de domaine ni compte, contrairement aux Tunnels nommés.
- Commande SSH Pinggy — Mise à jour avec la syntaxe officielle :
ssh -p 443 -R0:localhost:3000 free@a.pinggy.io.
Ajouts
- Limites exactes du plan gratuit ngrok (1Go/mois, 20k requêtes, 3 endpoints) issues de leur doc.
- Expiration des tunnels tunnelto.me gratuits (1h) et limite de 1Go/mois, même plafond que ngrok.
- Timeout de 60 min pour Pinggy gratuit, non mentionné dans la draft initiale.
- Confirmation que le plan Starter de LocalXpose a une page d’avertissement et limites de temps.
- Note sur la licence open-source de Tunnelmole (MIT client / AGPLv3 serveur) et option auto-hébergée.
Note de sourcing : Toutes les données de prix et fonctionnalités ont été vérifiées directement sur les pages officielles en août 2026. Les prix de Tunnel-tool changent fréquemment — à vérifier avant publication si cela reste en queue de publication plus de quelques semaines.
Related InstaTunnel pages
Continue from this article into the most relevant product guides and workflows.
Related Topics
Keep building with InstaTunnel
Read the docs for implementation details or compare plans before you ship.