Comparison
10 min read
79 views

ngrok vs. Expose: Das Open-Source PHP-Tunnel für Webentwickler

IT
InstaTunnel Team
Published by the InstaTunnel team | Editorial policy
ngrok vs. Expose: Das Open-Source PHP-Tunnel für Webentwickler

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 guide

Quick answer

ngrok vs Beyond Code's Expose: Das Open-Source-Tunnel: quick answer

If free tunnel limits interrupt your workflow, compare session length, stable URLs, concurrent tunnels, and paid-plan pricing before choosing a localhost tunnel tool.

What free tunnel limits should developers check first?

Check session duration, URL stability, concurrent tunnels, custom subdomains, bandwidth or request limits, and whether webhook callbacks survive restarts.

How does InstaTunnel handle longer development sessions?

InstaTunnel Free is designed around 24-hour sessions, with Pro available for higher limits and MCP endpoint tunnel workflows.

Wenn Sie APIs erstellen, Webhooks von Stripe, Shopify oder GitHub einrichten oder einem Kunden eine funktionierende Vorschau ohne Deployment auf Staging bereitstellen müssen, haben Sie wahrscheinlich irgendwann zu ngrok gegriffen. Über mehr als ein Jahrzehnt war es die Standardlösung auf die Frage “Wie teile ich meinen localhost?”

Doch die Produktentwicklung von ngrok hat sich gewandelt. Es ist vom einfachen Entwickler-Tool zu einer umfassenden Ingress- und API-Gateway-Plattform gewachsen, und die kostenlose Stufe spiegelt diesen Wandel wider. Das hat Platz geschaffen für spezialisierte, entwicklerfokussierte Alternativen – eine davon ist Expose, ein Open-Source PHP-Tunnel, entwickelt von Beyond Code (die Macher von Laravel Herd und Tinkerwell).

Dieser Beitrag vergleicht die beiden Tools so, wie sie heute tatsächlich stehen, nicht nur, wie sie in älteren Blogposts oft beschrieben werden.

(Hinweis: Dies ist Expose von Beyond Code, nicht LocalXpose, ein separates Cross-Protokoll-Tunneling-Tool, das an anderer Stelle auf dieser Seite behandelt wird. Verschiedene Produkte, ähnlich klingende Namen.)

Warum lokale Tunnel existieren

Ein lokaler Server (http://localhost:8000) ist vom Internet aus nicht erreichbar – das ist die richtige Standardeinstellung. Aber es wird problematisch, sobald Sie:

  • Webhooks: Stripe, GitHub und ähnliche Dienste benötigen eine öffentliche URL, um Ereignisse zu POSTen.
  • Mobiles Testen: Ein Telefon oder Emulator braucht einen echten Endpunkt, um mit Ihrem lokalen Backend zu kommunizieren.
  • Kunden-Demos: Arbeitsfortschritte zeigen, ohne einen Deployment-Schritt.

Tunneling-Tools lösen das, indem sie einen Client auf Ihrem Rechner laufen lassen, der eine ausgehende Verbindung zu einem Relay-Server öffnet. Dieser Server gibt Ihnen eine öffentliche URL und leitet den Traffic durch den Tunnel zu Ihrem lokalen Port weiter.

ngrok: Der Platzhirsch

2013 von Alan Shreve in Go geschrieben, ist ngrok das Tool, auf das die meisten Entwickler beim Tunneln gelernt haben. Es hat sich seitdem als das positioniert, was das eigene Marketing als “universellen Gateway” bezeichnet – mit Kubernetes-Ingress über den eigenen Operator, Traffic-Policy-Regeln (WAF, OAuth/OIDC, SAML), Endpoint-Pooling für Load-Balancing und SOC 2/HIPAA-Konformität für Unternehmenskunden. Es unterstützt HTTP, HTTPS, TCP und (bei bezahlten Plänen) TLS-Traffic, weshalb es immer noch das richtige Tool ist, um etwas zu tunneln, das kein Webserver ist – eine SSH-Session, ein Spieleserver, ein Datenbankport.

Was die kostenlose Stufe tatsächlich einschränkt (und was nicht)

Die aktuellen Limits für den kostenlosen Plan von ngrok:

Ressource Limit der kostenlosen Stufe
Online-Endpunkte Bis zu 3
Datenübertragung ausgehend 1 GB/Monat
HTTP/S-Anfragen 20.000/Monat
TCP-Verbindungen 5.000/Monat (erfordert Kartenverifizierung, um TCP überhaupt zu aktivieren)
TLS-Endpunkte Nicht verfügbar
Team-Mitglieder 1

Einige Korrekturen zu Behauptungen, die über die kostenlose Stufe kursieren:

  • Es gibt keinen 2-Stunden-Session-Timeout. Die Dokumentation von ngrok besagt klar, dass die kostenlose Stufe keine Timeout für Endpunkte hat und man einen Tunnel unbegrenzt als Hintergrunddienst laufen lassen kann. Das wird in vielen Vergleichsartikeln so wiedergegeben; ist aber bei den aktuellen ngrok-Dokumenten nicht mehr korrekt.
  • Die URL der kostenlosen Stufe ist bei jedem Neustart nicht zufällig. Jedes ngrok-Konto – auch das kostenlose – erhält eine zugewiesene “Dev-Domain” (wie your-name.ngrok-free.app), die an das Konto gebunden ist und nicht bei jeder Sitzung neu generiert wird. Man kann sie nicht anpassen oder eigene Domains hinzufügen, aber sie rotiert nicht so, wie ältere Artikel es beschreiben.
  • Die Warnseite im Browser kann umgangen werden, ohne ein Upgrade durchzuführen. ngrok injiziert eine Sicherheitswarnung vor HTML-Traffic auf Endpunkten der kostenlosen Stufe, um Phishing zu verhindern. Sie betrifft keinen API- oder Webhook-Traffic und kann bei Browser-Traffic durch das Senden eines ngrok-skip-browser-warning Headers oder eines nicht-Standard-User-Agent umgangen werden – kein kostenpflichtiger Plan erforderlich. Ein Upgrade entfernt diese Warnung vollständig, aber sie ist kein unüberwindbares Hindernis auf der kostenlosen Stufe, wie manchmal dargestellt.

Was wirklich einschränkt: 1 GB monatlicher Transfer und 20.000 Requests, die bei echtem Traffic schnell aufgebraucht sind, und TCP-Tunnel benötigen Kartenverifizierung selbst bei kostenlosem Einsatz.

Aktuelle Bezahlpreise

ngrok hat die Plan-Namen vereinfacht. Aktuell gibt es keinen “Personal”-Tarif mehr – die Stufen sind: Free, Hobbyist, Pay-as-you-go und Enterprise:

  • Hobbyist – 8 USD/Monat bei Jahresrechnung (10 USD monatlich): 3 Online-Endpunkte, 5 GB Datenübertragung inklusive, 100.000 Requests inklusive, keine Interstitial-Seite, ngrok-markierte Domains.
  • Pay-as-you-go – 20 USD/Monat Grundpreis (inkl. 20 USD Nutzung) plus Abrechnung nach Verbrauch: unbegrenzte Online-Endpunkte, eigene Domain, unbegrenzte Team-Mitglieder (3 inklusive).
  • Enterprise – individuelle Preise, SSO/SCIM, HIPAA-BAAs, dedizierter Support.

Expose: Die PHP-natürliche Alternative

Expose wird von Marcel Pociot und dem Beyond Code-Team entwickelt (auch hinter Laravel Herd und Tinkerwell). Im Gegensatz zu ngrok ist es vollständig in PHP geschrieben und auf HTTP/HTTPS ausgerichtet – es unterstützt kein reines TCP oder UDP und versucht nicht, ein Kubernetes-Ingress-Controller zu sein. Es richtet sich genau nach dem Workflow, den dieser Blog häufig behandelt: lokale Webentwicklung, Webhook-Tests, Kunden-Vorschauen.

Es ist wirklich Open Source (MIT-Lizenz, Client und Server), was den Kernunterschied zu ngrok darstellt.

Installation

Aktuelle offizielle Installationsmethoden, laut Expose-Dokumentation:

Composer (globale Installation):

composer global require exposedev/expose

Stellen Sie sicher, dass Ihr globales Composer-Bin-Verzeichnis in Ihrem PATH ist.

PHP-Archiv (PHAR), kein Composer erforderlich:

curl https://github.com/exposedev/expose/raw/master/builds/expose -L --output expose
chmod +x expose
sudo mv expose /usr/local/bin/expose

Ein wichtiger Punkt: Expose benötigt trotz PHAR-“Binary” eine lokale PHP-Installation – Beyond Code bestätigt das in der FAQ. Wenn PHP bei Ihnen sonst nicht läuft, ist das eine echte Abhängigkeit, die ngrok mit seinem einzigen Go-Binary nicht hat.

Das Projekt-Repository hat sich von beyondcode zu exposedev verschoben; das ältere beyondcode/expose Composer-Paket ist weiterhin vorhanden und wird aktualisiert, die Dokumentation verweist jetzt auf exposedev/expose.

Authentifizierung und Site-Sharing

expose token YOUR_TOKEN
expose share http://localhost:8000

Wenn Sie ein Pro- oder Team-Konto haben (oder Ihren eigenen Server betreiben), können Sie eine feste Subdomain anfordern:

expose share http://localhost:8000 --subdomain=meine-super-app

Das Dashboard

Expose bietet ein lokales Web-Dashboard (http://127.0.0.1:4040, gleiche Konvention wie ngrok) zur Inspektion und Wiedergabe eingehender HTTP-Anfragen. Expose 3, die aktuelle Hauptversion, hat einige neue Funktionen, die es wert sind, erwähnt zu werden, falls Sie es noch nicht kennen:

  • Replay mit Änderungen – Sie können jetzt Header, URI oder Payload vor dem Wiederholen einer erfassten Anfrage bearbeiten.
  • Request-Plugins – Expose erkennt spezielle Webhook-Formate (GitHub und Paddle Billing sind integriert) und zeigt die relevanten Payload-Felder direkt im Dashboard und CLI an, ohne in rohes JSON graben zu müssen.
  • Vite-Erkennung – Wenn Sie eine Seite teilen, während ein Vite-Entwicklungsserver läuft, erkennt Expose das und routet den Vite-Tunnel automatisch, was ein langjähriges Ärgernis behebt, bei dem CSS/JS bei Hot-Reload im Shared-Tunnel stillschweigend kaputtging.
  • catch-all-Befehl – startet einen Tunnel, der auf alles mit 200 OK antwortet, nützlich, um eine Webhook-Payload schnell zu inspizieren, ohne einen Endpunkt zu implementieren.

Selbsthosting vs. die kostenlose verwaltete Stufe – ein wichtiger Unterschied

Hier wird oft zu stark vereinfacht. “Expose ist Open Source, also bekommst du alles kostenlos” stimmt nur, wenn du den Server selbst hostest.

Expose’s eigene kostenlose (“Hobby”) verwaltete Stufe hat echte Einschränkungen, laut Beyond Code: ein einzelner Serverstandort (ihr EU-Rechenzentrum), zufällige Tunnel-Namen bei jeder Verbindung und eine Zeitbegrenzung pro Verbindung. Das ist eine deutlich andere Vereinbarung als bei ngrok, das eine stabile, kontogebundene Domain ohne Timeout bietet.

Selbsthosting des Open-Source-Servers ist tatsächlich kostenlos und entfernt diese Einschränkungen – Sie kontrollieren die Domain, es gibt kein Zeitlimit, nur Ihre eigene Infrastruktur-Bandbreite. Es erfordert allerdings, dass Sie Ihren eigenen Server aufsetzen und warten (ein einfacher VPS von Hetzner oder DigitalOcean reicht aus), was eine laufende Verantwortung ist, keine einmalige Einrichtung.

Expose Pro und Team (die bezahlten verwalteten Stufen) liegen dazwischen: dauerhafte URLs, eigene Domains, reservierte Subdomains und das globale Servernetzwerk von Beyond Code, ohne dass Sie selbst etwas laufen lassen müssen.

Aktuelle Preise:

Tarif Preis Leistungen
Hobby Kostenlos Ein EU-Server, zufällige Tunnel-Namen, Verbindungslimit
Selbsthosting Kostenlos (Infrastrukturkosten) Volle Kontrolle, eigene Domain, kein Zeitlimit, eigene Bandbreite
Pro 79 USD/Benutzer/Jahr Dauerhafte URLs, eigene Domains, reservierte Subdomains, globales Servernetzwerk, kein Zeitlimit
Team 229 USD/Team/Jahr Alles in Pro, bis zu 10 Nutzer, Prioritätssupport

Laravel-Integration, korrigiert

Ein häufiger Irrtum ist, dass Expose “ngrok als Standard” in Laravel Valet ersetzt hat. Das ist nicht korrekt – Valet 4+ unterstützt drei austauschbare Share-Tools (ngrok, expose, cloudflared), die explizit via valet share-tool <tool> ausgewählt werden. ngrok bleibt der Standard, solange Sie nicht wechseln.

Eine engere, aktuellere Integration besteht bei Laravel Herd, dem modernen lokalen Entwicklungsumfeld von Beyond Code (Nachfolger von Valet, für macOS und Windows): Expose ist in Herd integriert, und Sie können Ihren Expose-Token direkt in den Herd-Einstellungen konfigurieren, ohne die CLI zu verwenden.

Feature-Vergleich

Feature ngrok Expose
Hauptanwendungsfall Allgemeiner Netzwerk-Ingress; API-Gateway für Unternehmen Web-Entwicklung HTTP/HTTPS-Tunneling
Sprache / Laufzeit Go (ein Binary) PHP (PHAR, benötigt lokale PHP-Installation)
Protokolle HTTP/S, TCP, TLS (bei Bezahlplänen) HTTP, HTTPS nur
Open Source Nein Ja (MIT, Client + Server)
Bandbreite/Requests in der kostenlosen Stufe 1 GB / 20.000 Requests pro Monat Nicht volumenbeschränkt, aber einzelner Server + zeitlich begrenzte Verbindungen
URL der kostenlosen Stufe Eine dauerhafte Entwickler-Domain pro Konto Zufällige Subdomain bei jeder Verbindung
Webhook-Interstitial Ja in der kostenlosen Stufe (über Header umgehbar) Keine
Request-Inspektion Lokales Dashboard, Replay Lokales Dashboard, Replay mit Bearbeitungen, webhook-gestützte Request Plugins
Eigene Domains Nur bei bezahlten Plänen (8–10 USD/Monat) Kostenlos bei Selbsthosting, oder Pro (79 USD/Benutzer/Jahr)
Kubernetes / Enterprise-Ingress Ja (eingebauter Operator, SSO/SCIM, HIPAA) Kein Anwendungsfall

Wann welches Tool Sinn macht

Behalten Sie ngrok bei, wenn: - Sie etwas tunneln müssen, das kein HTTP ist – SSH, Datenbankport, Spieleserver, reines TCP/TLS. - Sie Kubernetes-Ingress, SSO/SAML oder Compliance-Dokumente benötigen (HIPAA BAAs, SOC 2). - Sie PHP nicht auf einem Rechner benötigen, auf dem sonst keine Abhängigkeiten bestehen.

Erwägen Sie Expose, wenn: - Ihre Arbeit HTTP/Webhook-ähnlich ist und Sie bereits in einer PHP/Laravel-Umgebung (Herd, Valet, Sail) arbeiten. - Sie eine wirklich kostenlose, unbegrenzte Lösung wollen und bereit sind, den Open-Source-Server selbst auf Ihrem VPS zu hosten. - Das webhook-gestützte Dashboard (GitHub/Paddle Payload-Erkennung, Vite-Auto-Routing) Ihren Debugging-Prozess unterstützt.

Es gewinnt hier kein Tool – sie lösen unterschiedliche, sich überschneidende Probleme. Der Vergleich hängt mehr davon ab, ob Sie reines TCP/Enterprise-Ingress (ngrok) oder einen schlanken, selbsthostbaren HTTP-Tunnel mit PHP-native Workflow (Expose) brauchen.


Changelog

Korrekturen und Ergänzungen am Originalentwurf, mit Quellen:

  1. Entfernung der Aussage “2-Stunden-Session-Timeout” für ngrok. Die Dokumentation zum ngrok Free Plan gibt explizit an, dass es keine Timeout für Endpunkte gibt und Tunnel unbegrenzt im Hintergrund laufen können. (Quelle: ngrok docs, Free Plan Limits)
  2. Korrektur der Aussage “zufällige URL, die sich bei jedem Neustart ändert”. ngrok weist pro Konto eine Dev-Domain zu, keine bei jeder Sitzung neu generierte; das ist seit ngrok-Domain-Änderungen um 2023 so. (Quelle: ngrok docs, Free Plan Limits)
  3. Korrektur der Darstellung der Interstitial-Seite als unvermeidliches Upgrade-Problem. Sie kann im kostenlosen Tier durch den Header ngrok-skip-browser-warning oder einen benutzerdefinierten User-Agent umgangen werden; sie betrifft keinen API- oder Webhook-Traffic. (Quelle: ngrok docs, Free Plan Limits)
  4. Aktualisierung der ngrok-Planbezeichnungen und Preise. Der veraltete “Personal”-Tarif wurde entfernt; aktuelle Stufen sind: Free, Hobbyist, Pay-as-you-go, Enterprise. (Quelle: ngrok.com/pricing)
  5. Korrektur des Composer-Installationsbefehls für Expose. Die Dokumentation empfiehlt composer global require exposedev/expose (der GitHub-Org-Name ist exposedev), zusätzlich die PHAR-Installation. (Quelle: expose.dev/docs/getting-started/installation)
  6. Hinweis, dass Expose’s PHAR “Binary” eine lokale PHP-Installation benötigt. Es ist kein vollständig eigenständiges Binary wie ngrok. (Quelle: expose.dev FAQ)
  7. Korrektur der Preisstruktur von Expose. Die aktuellen Stufen: Hobby (kostenlos, eingeschränkt), Pro (79 USD/Benutzer/Jahr), Team (229 USD/Team/Jahr, bis 10 Nutzer). (Quelle: expose.dev/pricing)
  8. Wichtiger Hinweis: Die kostenlose “Hobby”-Stufe von Expose hat echte Einschränkungen. Zufällige Tunnel-Namen, Verbindungszeitlimit, ein EU-Server. Das “alles kostenlos”-Versprechen gilt nur bei Selbsthosting. (Quelle: expose.dev/docs/getting-started/authentication)
  9. Korrektur der Laravel Valet-Integration. Valet 4+ unterstützt drei Share-Tools (ngrok, expose, cloudflared), die explizit ausgewählt werden, ngrok bleibt Standard. (Quelle: laravel.com/docs Valet; Valet 4.0 Release Notes)
  10. Ersetzung durch Laravel Herd, das eigene lokale Entwicklungsumfeld von Beyond Code, mit direkter Expose-Integration (Token-Konfiguration im Herd-UI). (Quelle: expose.dev/docs/getting-started/authentication)
  11. Neue Inhalte zu Expose 3.0, der aktuellen Hauptversion: Dashboard-Redesign, Replay mit Änderungen, webhook-gestützte Request Plugins (GitHub, Paddle), automatische Vite-Erkennung, catch-all-Befehl. (Quelle: expose.dev/docs/release-notes)
  12. Entfernung unbestätigter Behauptungen (z.B. exakte VPS-Kosten) zugunsten allgemeiner Formulierungen.
  13. Entfernung werblicher SEO-Formulierungen aus dem Originaltext.

Continue from this article into the most relevant product guides and workflows.

Related Topics

#ngrok vs expose, beyond code expose, expose vs ngrok, ngrok alternative, open source ngrok alternative, best ngrok alternative for web developers, php tunneling tool, laravel tunneling tool, expose local web server, share local sites securely, self hosted tunnel free, bypass ngrok free tier, ngrok domain limits, local http dashboard, inspect incoming http requests, replay http requests, modify http headers, web developer tunnel, php ngrok alternative, laravel ecosystem tools, open source reverse proxy, free tunnel for localhost, expose php binary, beyond code tools, share localhost to internet, secure tunnel for web developers, ngrok paid features free, expose pro tier, self host expose server, open source tunneling software, web hooks local testing, expose localhost free, expose local site, local dev environment sharing, webhook inspection tool, free ngrok premium features, managed tunnel service, custom domains local tunnel, beyond code php, laravel web development tools, web app testing tunnel, localhost sharing tool, secure localhost tunnel, expose cli, web testing proxy, local server to internet, unmetered custom domains tunnel, php reverse proxy, laravel local sharing, web traffic inspector, http request replay tool, http header modifier, alternative to ngrok for web developers

Keep building with InstaTunnel

Read the docs for implementation details or compare plans before you ship.

Share this article

More InstaTunnel Insights

Discover more tutorials, tips, and updates to help you build better with localhost tunneling.

Browse All Articles