webhop 2.0.2
dotnet tool install --global webhop --version 2.0.2
dotnet new tool-manifest
dotnet tool install --local webhop --version 2.0.2
#tool dotnet:?package=webhop&version=2.0.2
nuke :add-package webhop --version 2.0.2
webhop
Expose any local HTTP server through your own WebHop gateway, much like ngrok http. The local server needs no WebHop code and doesn't have to be .NET. webhop opens no listening port: it only connects out to the gateway and to your local server.
You need a running gateway; see WebHop.Gateway.
Install
dotnet tool install -g webhop
Or download the standalone Native AOT binary, which runs without .NET, and unpack it somewhere on your PATH:
On macOS, a binary downloaded with a browser is quarantined; clear that with xattr -d com.apple.quarantine webhop.
Usage
webhop config add-gateway-url https://my-gateway.example.com/
webhop config add-authtoken <token>
webhop http 5000
WebHop (Ctrl+C to quit)
Session Status online
Version 2.0.0
Origin Id 5c11642ef14844fb98e6cfcb5ac6ea99
Tunnels 10/10 open
Forwarding https://my-gateway.example.com -> http://localhost:5000
Connections ttl opn p50 p90
6 0 17 ms 46 ms
HTTP Requests
-------------
01:51:47 GET /slow 200 OK 1,5 s
01:51:45 GET /missing?x=1 404 Not Found 17 ms
Commands
The commands and flags follow ngrok's.
| Command | What it does |
|---|---|
webhop http 5000 |
Forward to http://localhost:5000; also accepts localhost:5000 or a full URL such as https://localhost:7001 |
webhop config add-gateway-url <url> |
Save the gateway to connect to |
webhop config add-authtoken <token> |
Save the gateway's auth token |
webhop config check / config edit |
Show or edit the saved settings |
webhop version |
Show the version |
webhop help [command], webhop <command> --help |
Usage and all flags |
Flag for webhop http |
Meaning |
|---|---|
--url |
Gateway URL, which is also the public URL. Default: WEBHOP_URL, then the saved gateway |
--authtoken |
The gateway's auth token. Default: WEBHOP_AUTHTOKEN, then the saved auth token |
--host-header=rewrite |
Send Host: localhost:<port>, for dev servers that reject other hosts (Vite, webpack dev server) |
--log=stdout\|stderr\|<file> |
stdout/stderr print log lines instead of the live screen (also used when output is redirected); a file path keeps the screen and writes the log to the file |
--log-level=debug\|info\|warn\|error\|crit |
How much to log (default info) |
--log-format=term\|json |
Log line format |
--config |
Use another config file |
--connections |
Tunnels to keep open (WebHop-specific) |
Flags can come in any order, before or after the command, as --flag value or --flag=value.
The settings are saved in %APPDATA%\webhop\webhop.json on Windows and ~/.config/webhop/webhop.json elsewhere.
Notes
- The local server sees the public Host header and
X-Forwarded-For/Proto/Host. - Self-signed certificates are accepted for local https targets.
- If the local server isn't running, visitors get a 502 page that says so.
- From a clone of the repository, run it with
dotnet run --project WebHop.CLI -- http 5000.
More
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.