ngrok ist ein Befehlszeilentool, das unter Linux, Windows und Mac funktioniert und es ermöglicht, Websites, Webdienste und Webanwendungen in der Entwicklungsphase aus Ihrer lokalen Umgebung im Internet zu veröffentlichen und für jeden zugänglich zu machen.
<>
Mit ngrok können Sie

Dieser Artikel erklärt ausführlich die Installationsmethode, Verwendung und Sicherheitsmaßnahmen für ngrok.
Installation von ngrok
Es gibt drei Möglichkeiten, ngrok zu installieren. Allerdings funktionierte nur eine Methode in meiner Umgebung. Der letzte Befehl ist diese Methode. Auch ist die dritte Methode empfohlen, da sie am wenigsten wahrscheinlich später erwähnte Fehler erzeugt.
```bash
Installation mit npm
sudo npm install ngrok -g
Installation mit apt
sudo apt update ; sudo apt-get install ngrok-client
Direkte Installation
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip unzip ngrok-stable-linux-amd64.zip ```
Bei Installation mit npm oder apt wird der ngrok-Befehlspfad hinzugefügt, sodass Sie ihn mit dem ngrok-Befehl ausführen können.
Bei Verwendung von direkt installiertem ngrok können Sie Befehle in der Form ./ngrok ausführen, um die extrahierte ausführbare Datei zu verwenden.
Wenn Sie ngrok manuell herunterladen möchten, können Sie dies über Folgendes tun:
Das wget oben lädt die “Linux”-wget-Datei herunter. Diese Datei sollte für die meisten Linux-Maschinen funktionieren. Andere Distributionen und Betriebssysteme sind wie folgt:
<>
- Mac OS X
- Linux
- Mac (32-bit)
- Windows (32-bit)
- Linux (ARM)
- Linux (ARM64)
- Linux (32-bit)
- FreeBSD (64-Bit)
- FreeBSD (32-bit)
ngrok-Befehlsoptionen
Das Ausführen von ngrok —help ermöglicht es Ihnen, die Liste der Optionen zu überprüfen. Lassen Sie uns sehen, ob es Optionen gibt, die Sie verwenden möchten.
```bash yuis ASUS /mnt/c/_tmp/20200109023429$ ./ngrok —help NAME: ngrok - tunnel local ports to public URLs and inspect traffic
DESCRIPTION:
ngrok exposes local networked services behinds NATs and firewalls to the
public internet over a secure tunnel. Share local websites, build/test
webhook consumers and self-host personal services.
Detailed help for each command is available with ‘ngrok help
EXAMPLES: ngrok http 80 # secure public URL for port 80 web server ngrok http -subdomain=baz 8080 # port 8080 available at baz.ngrok.io ngrok http foo.dev:80 # tunnel to host:port instead of localhost ngrok http https://localhost # expose a local https server ngrok tcp 22 # tunnel arbitrary TCP traffic to port 22 ngrok tls -hostname=foo.com 443 # TLS traffic for foo.com to port 443 ngrok start foo bar baz # start tunnels from the configuration file
VERSION: 2.3.35
AUTHOR: inconshreveable - [email protected]
COMMANDS: authtoken save authtoken to configuration file credits prints author and licensing information http start an HTTP tunnel start start tunnels by name from the configuration file tcp start a TCP tunnel tls start a TLS tunnel update update ngrok to the latest version version print the version string help Shows a list of commands or help for one command ```

Authentifizierung eines Tokens mit ngrok
Die Verwendung von ngrok ohne Token bedeutet, dass einige Optionen wie Basic-Authentifizierung nicht verfügbar sind. Sie können es ohne Erhalt eines Tokens verwenden, aber es wird empfohlen, eines zu erhalten.
Sie können ein Token über Folgendes erhalten. Erstellen Sie zuerst ein Konto. Es ist kostenlos.
ngrok - secure introspectable tunnels to localhost

Überprüfen Sie als Nächstes das Token auf der folgenden Seite.
ngrok - secure introspectable tunnels to localhost
Führen Sie schließlich den folgenden Befehl aus. Ersetzen Sie [token] durch die erhaltene Token-Zeichenfolge.
``` ./ngrok authtoken [token]
e.g. ./ngrok authtoken k3h53lh6ll34k5
```
Wenn die Token-Registrierung erfolgreich abgeschlossen ist, wird Folgendes angezeigt.
``` Authtoken saved to configuration file: /home/yuis/.ngrok2/ngrok.yml ```
Verwendung von ngrok
Lassen Sie mich erklären, wie man ngrok verwendet.
Wenn Sie beispielsweise eine Website auf Port 8111, localhost:8111, ausführen und auf diese Website vom Internet aus zugreifen möchten, wäre der Befehl wie folgt.
``` ./ngrok http -auth=“user:pw” 8111 ```
Wenn Sie eine lokale Umgebungsseite wie die folgende haben,

Können Sie wie folgt vom Internet darauf zugreifen.

Die Befehlszeile zeigt statistische Informationen wie folgt an. Um dies zu beenden, geben Sie ctrl-C ein.

Häufige ngrok-Fehler
Hier ist eine Zusammenfassung häufiger Fehler, auf die Sie wahrscheinlich bei der Verwendung von ngrok stoßen werden.
You may only specify one port to tunnel to on the command line, got 2
Dieser Fehler “You may only specify one port to tunnel to on the command line, got 2” tritt anscheinend in der folgenden Situation auf.
This means you’re trying to run an ngrok2 command with the older ngrok1 client. Either use the old syntax for an ngrok1 client ngrok 80 or make sure you grab the latest ngrok from https://ngrok.com/download
Was dieser Fehler bedeutet, ist, dass Sie versuchen, einen ngrok2-Befehl mit dem alten ngrok1-Client auszuführen. Um diesen Fehler zu beheben, verwenden Sie einen Befehl mit Syntax, die mit ngrok1 kompatibel ist, oder laden Sie das neueste ngrok über den untenstehenden Link herunter.
use ./ngrok http 80
Verwenden Sie den Befehl ./ngrok http 80.
You may only specify one port to tunnel to on the command line, got 2 · Issue #304 · inconshreveable/ngrok You may only specify one port to tunnel to on the command line, got 2 - Google Search
Wenn Sie mit wget installiert haben, sollten Sie auf diesen Fehler nicht stoßen. Wenn Sie mit anderen Methoden installiert haben, versuchen Sie die zuvor erwähnte Installationsmethode.
``` You may only specify one port to tunnel to on the command line, got 2 ‘ngrokd.ngrok.com:443’: lookup ngrokd.ngrok.com: no such host ```
Failed to bind a tunnel with HTTP authentication for an unauthenticated client.
Dieser Fehler tritt auf, wenn Sie versuchen, ngrok Basic-Authentifizierung hinzuzufügen, ohne ein Token zu registrieren.
``` $ ./ngrok http -auth=“user:password” 8111 HTTP auth is only available after you sign up. Failed to bind a tunnel with HTTP authentication for an unauthenticated client. Sign up at: https://ngrok.com/signup
If you have already signed up, make sure your authtoken is installed. Your authtoken is available on your dashboard: https://dashboard.ngrok.com
ERR_NGROK_304 ```

Ähnliche Dienste wie ngrok
Es gibt ein Tool namens localtunnel, das ich mehrmals auf diesem Blog vorgestellt habe.
localtunnel/localtunnel: expose yourself
Wenn das hier vorgestellte ngrok nicht gut funktioniert, empfehle ich, localtunnel auszuprobieren.
Zusammenfassung
Ich habe ngrok vorgestellt, ein Befehlszeilentool, das unter Linux, Windows und Mac funktioniert und es ermöglicht, Websites, Webdienste und Webanwendungen in der Entwicklungsphase aus Ihrer lokalen Umgebung im Internet zu veröffentlichen und für jeden zugänglich zu machen.
Die Installationsmethode für ngrok ist sehr einfach. Die Verwendung ist auch relativ einfach, und die Kontoerstellung ist optional. Sicherheitsmaßnahmen mit Basic-Authentifizierung sind ebenfalls möglich.
ngrok ist ein nützliches Tool zum Testen von Websites in der Entwicklungsphase. Bitte verwenden Sie es in Ihrer zukünftigen Programmierung und Dienstentwicklung.