Die Open-Source ngrok-Alternative, auf die Devs jetzt umsteigen (Zrok)

BBetter Stack
Internet TechnologySmall Business/StartupsComputing/Software

Transcript

00:00:00In einer idealen Welt wäre das Teilen von Localhosts einfach, aber irgendwie wird daraus
00:00:05ein Riesending.
00:00:06Man öffnet ngrok, stößt an Limits, bekommt eine zufällige URL, und was eigentlich 10 Sekunden
00:00:11hätte dauern sollen, macht alles kaputt.
00:00:12Oder schlimmer: Man muss etwas mit einer Person teilen, möchte es aber nicht
00:00:16öffentlich machen.
00:00:17Das hier ist zrock.
00:00:18Es ist eine Open-Source-Alternative zu ngrok mit Zero Trust auf Basis von OpenZiti, und immer
00:00:24mehr Entwickler wechseln, weil es den Teil am Tunneling löst, der wirklich nervt.
00:00:33Was ist also zrock?
00:00:34Im Grunde lässt es dich deine lokale App, Dateien oder sogar TCP- und UDP-Dienste öffentlich
00:00:40oder privat teilen, ohne Ports zu öffnen, den Router anzufassen oder eine öffentliche IP zu brauchen.
00:00:45Und alles ist Ende-zu-Ende verschlüsselt. Die Idee ist: Man gibt nur das frei, was man muss,
00:00:50ohne mehr preiszugeben, als eigentlich nötig ist.
00:00:52Es ist kostenlos, selbst hostbar und da es auf einem Zero Trust Mesh basiert, berührt dein Traffic
00:00:58nicht das öffentliche Internet, es sei denn, du willst es.
00:01:01Aber es läuft auch einfach flüssiger, was mir gefällt.
00:01:03Dinge wie benutzerdefinierte Domains, bessere Performance und ein neues UI.
00:01:07Aber das alles zählt nicht, wenn es nicht schnell ist, also zeige ich es euch.
00:01:10Wenn euch Open-Source-Tools und Coding-Tipps für euren Workflow gefallen, abonniert unbedingt
00:01:15den Better Stack Kanal.
00:01:16Wir veröffentlichen ständig neue Videos.
00:01:18Alles klar, sauberes Setup: Ich habe eine einfache Next.js-App auf localhost laufen.
00:01:23Nichts Wildes, ganz simpel, nur die Standardseite.
00:01:26Man würde also erwarten, dass das ein paar Schritte erfordert, oder?
00:01:30Ports, Konfigurationen, vielleicht etwas Setup – aber schaut euch das an.
00:01:34Zuerst stelle ich sicher, dass meine zrock-Umgebung aktiviert ist.
00:01:37Das ist die einmalige Einrichtung mit "zrock enable".
00:01:40Dann kann ich genau hier einen Befehl ausführen.
00:01:44Das ist wirklich alles.
00:01:45Keine Konfigurationsdateien, kein extra Setup, und sofort bekommt man eine öffentliche HTTPS-URL.
00:01:51Ich kann sie hier öffnen, und ja, es funktioniert einfach.
00:01:55Die App ist live im Internet.
00:01:57Keine Portweiterleitung.
00:01:58Keine Firewall-Änderungen.
00:02:00An diesem Punkt ist es öffentlich, aber genau hier können auch Probleme anfangen.
00:02:05Beenden wir das also.
00:02:06Strg+C. Machen wir jetzt die Version, die die meisten Entwickler eigentlich wollen.
00:02:10zrock share private localhost. Dieselbe App, dieselbe Maschine, aber jetzt ein ganz anderes Verhalten.
00:02:17Statt einer öffentlichen URL erhalten wir einen Token, und das ist der entscheidende Unterschied,
00:02:23denn jetzt ist der Zugang nicht einfach offen.
00:02:25Er wird erst durch die Verwendung dieses Tokens gewährt.
00:02:28Jeder, dem ich vertraue, kann "zrock access private" mit meinem Token ausführen,
00:02:34und erst dann bekommt er Zugriff.
00:02:36Keine Bots, die deinen Endpunkt scannen, kein zufälliger Traffic auf deiner App, nichts dergleichen.
00:02:42Es ist einfach kontrollierter Zugriff.
00:02:44Anstatt deine App komplett freizugeben, erlaubst du den Zugriff selektiv für wen du willst,
00:02:49und das ist der große Unterschied. Und es geht nicht nur um Apps.
00:02:53Dasselbe Prinzip funktioniert auch für Dateien und Ordner.
00:02:56Ich kann ganze Verzeichnisse als durchsuchbares Laufwerk mit dem Backend-Modus "drive" teilen.
00:03:02Es ist nicht nur Tunneling, es ist kontrolliertes Teilen.
00:03:04Das ist es, was zrock uns wirklich bietet.
00:03:06Warum ist das alles überhaupt wichtig?
00:03:08Weil die meisten Tunneling-Tools dich zu Kompromissen zwingen.
00:03:12ngrok ist ausgereift, aber der kostenlose Tarif ist knapp bemessen.
00:03:15Cloudflare-Tunnel sind klasse, aber sie erfordern Einrichtung und zusätzliche Schritte.
00:03:19Tailscale ist großartig, kann sich aber wie Overkill anfühlen, wenn man nur kurz etwas teilen will.
00:03:24Man muss sich also zwischen Speed, Privatsphäre und Kontrolle entscheiden – und das löst zrock.
00:03:29Keine Firewall-Konfiguration, brillant.
00:03:32Keine NAT-Probleme, okay, cool.
00:03:35Privates Teilen ist wirklich privat, genau das wollen wir hier.
00:03:38UDP-Unterstützung für Dinge wie Gameserver, VOIP, IoT und integrierte Dateifreigabe.
00:03:44Das ist alltägliche Entwicklerarbeit.
00:03:46Webhook-Tests, richtig?
00:03:48All diese Dinge sind wirklich gut, wofür wir zrock nutzen können.
00:03:52Schauen wir uns kurz zrock versus ngrok an.
00:03:54ngrok fühlt sich wie ein poliertes Produkt an, weil es das ehrlich gesagt auch ist.
00:03:58zrock fühlt sich wie ein Tool an, das einem wirklich gehört.
00:04:00Das ist der Hauptunterschied.
00:04:02ngrok ist proprietär, zrock ist Open Source.
00:04:05Es ist selbst hostbar.
00:04:06Wenn einem Kontrolle und Privatsphäre wichtig sind, ist das ein riesiger Punkt.
00:04:10Dann gibt es das private Teilen.
00:04:12Bei ngrok ist das eher ein Zusatz-Feature.
00:04:15Es ist nicht integriert.
00:04:16In zrock ist es Teil der Kernidee hinter allem.
00:04:19Die Protokolle spielen auch eine Rolle.
00:04:22ngrok konzentriert sich hauptsächlich auf HTTP und TCP.
00:04:26zrock unterstützt beides und zusätzlich auch UDP.
00:04:29Um fair zu sein: ngrok bietet weiterhin Request-Replay und Inspektion.
00:04:35zrock nicht.
00:04:36Und das kann durchaus wichtig sein.
00:04:37zrock ist gut.
00:04:38Es ist nicht perfekt.
00:04:39Die Leute mögen es, weil es sich einfach anfühlt.
00:04:41Privacy-First – das ist ein großes Plus.
00:04:43Und wenn man es selbst hostet, hat man die volle Kontrolle über alles.
00:04:47Es bringt immer noch Kompromisse mit sich, wie jedes Open-Source-Tool.
00:04:50Es gibt eine Lernkurve, wenn man tiefer einsteigt, besonders beim Self-Hosting.
00:04:55Es gibt keine integrierte Request-Inspektion wie bei ngrok.
00:04:58Je nach Setup bemerkt man vielleicht eine leichte Latenz.
00:05:01Aber trotz dieser Nachteile ist es für die meisten Entwickler die bessere Wahl.
00:05:05Lohnt sich zrock also?
00:05:06Nun, das ist hier die Frage.
00:05:08Wenn das Problem darin besteht, etwas schnell zu teilen: Ja, es lohnt sich definitiv.
00:05:12Vor allem, wenn wir nicht auf Kontrolle oder Privatsphäre verzichten müssen.
00:05:15zrock löst das.
00:05:16Wenn euch Open-Source-Tools und Tipps wie diese gefallen, abonniert unbedingt den Better
00:05:20Stack Kanal.
00:05:21Wir sehen uns im nächsten Video.

Key Takeaway

zrock bietet Entwicklern eine selbst hostbare Zero-Trust-Alternative zu ngrok, die durch Token-basierten privaten Zugriff und UDP-Support die Sicherheitsrisiken öffentlicher URLs eliminiert.

Highlights

zrock ist eine Open-Source-Alternative zu ngrok, die auf dem Zero Trust Mesh von OpenZiti basiert.

Der Befehl zrock share private localhost erzeugt einen Token statt einer öffentlichen URL und verhindert so Scans durch Bots.

Zusätzlich zu HTTP und TCP unterstützt zrock auch das UDP-Protokoll für Anwendungsfälle wie Gameserver oder VoIP.

Mit dem Backend-Modus drive lassen sich ganze Verzeichnisse als durchsuchbare Laufwerke über einen Tunnel teilen.

Der Datenverkehr wird standardmäßig Ende-zu-Ende verschlüsselt und berührt das öffentliche Internet nur bei expliziter Freigabe.

Die Installation erfordert keine Portweiterleitungen, Firewall-Änderungen oder eine öffentliche IP-Adresse.

Timeline

Probleme herkömmlicher Tunneling-Lösungen

  • Zufällige URLs und restriktive Limits erschweren das schnelle Teilen von Localhost-Umgebungen.
  • Öffentliche Endpunkte setzen lokale Anwendungen unnötigen Sicherheitsrisiken aus.
  • Herkömmliche Tools erzwingen oft Kompromisse zwischen Geschwindigkeit und Privatsphäre.

Die Freigabe lokaler Dienste führt häufig zu technischen Hürden oder ungewollter Sichtbarkeit im Internet. ngrok stößt im kostenlosen Tarif schnell an Grenzen, während Lösungen wie Cloudflare-Tunnel eine aufwendige Einrichtung erfordern. zrock adressiert diese Probleme durch ein Modell, das Privatsphäre standardmäßig priorisiert.

Funktionsweise und Zero Trust Architektur

  • Die Architektur basiert auf OpenZiti und ermöglicht Verbindungen ohne geöffnete Firewall-Ports.
  • Ende-zu-Ende-Verschlüsselung schützt den gesamten Traffic zwischen den Endpunkten.
  • Nutzer behalten durch Self-Hosting die vollständige Kontrolle über ihre Dateninfrastruktur.

Das Tool nutzt ein Zero Trust Mesh, wodurch Traffic nicht zwangsläufig über das öffentliche Internet geroutet wird. Dies sorgt für eine bessere Performance und höhere Sicherheit bei der Entwicklung. Im Vergleich zu proprietären Lösungen gehört dem Nutzer die Infrastruktur hier selbst.

Praktische Anwendung und öffentliches Teilen

  • Die Aktivierung der Umgebung erfolgt einmalig über den Befehl zrock enable.
  • Ein einfacher Share-Befehl generiert sofort eine funktionierende HTTPS-URL für Web-Apps.
  • Next.js-Anwendungen lassen sich ohne Konfigurationsdateien direkt im Internet bereitstellen.

Im Testlauf wird eine Standard-Next.js-Seite auf dem Localhost innerhalb weniger Sekunden live geschaltet. Es sind keinerlei manuelle Eingriffe in Router-Einstellungen oder NAT-Konfigurationen notwendig. Die App ist nach der Ausführung des Befehls sofort weltweit über eine gesicherte Adresse erreichbar.

Sicherheit durch privaten Token-Zugriff

  • Der Modus zrock share private ersetzt die öffentliche URL durch einen Zugriffstoken.
  • Externe Nutzer benötigen den Befehl zrock access private zusammen mit dem Token für den Verbindungsaufbau.
  • Dateiverzeichnisse lassen sich über den Drive-Modus kontrolliert freigeben.

Der private Modus verhindert, dass automatisierte Bots oder unbefugte Dritte den Endpunkt finden können. Der Zugriff wird selektiv gewährt, was besonders für die Zusammenarbeit in Teams entscheidend ist. Neben reinen Web-Diensten unterstützt das System auch das Teilen ganzer Ordnerstrukturen.

Vergleich mit ngrok und Systemgrenzen

  • zrock unterstützt UDP, während ngrok primär auf HTTP und TCP fokussiert ist.
  • Die fehlende Request-Inspektion und Replay-Funktion ist ein Nachteil gegenüber ngrok.
  • Self-Hosting bietet maximale Privatsphäre, erfordert aber eine steilere Lernkurve.

Während ngrok ein hochpoliertes kommerzielles Produkt mit Werkzeugen zur Paketanalyse ist, punktet zrock bei der Flexibilität der Protokolle. Für Gameserver-Entwickler oder IoT-Projekte ist der UDP-Support ein wesentlicher Vorteil. Trotz möglicher Latenzen bei bestimmten Setups überwiegt für viele Entwickler der Vorteil der vollständigen Datenkontrolle.

Community Posts

View all posts