Share localhost

Share localhost is the shortest path from an app on your laptop to a URL anyone can open: to test webhooks against your local code, demo work to a client, or open a site on your phone — with no deploy. The dashboard walks through it under Get started → Share Localhost, and watches for your endpoint to come online.

Put your app online

Install the agent and add your authtoken once — Quickstart has every platform — then:

$ devgate http 80 --url https://your-dev-domain.devgate-free.run

80 is the port your app listens on. --url is your dev domain: every account has one, it never changes, and endpoints on it accrue no active endpoint hours. The dashboard's Get started page shows the command with yours filled in. Without --url the endpoint gets a random address that changes on every run.

The same endpoint in the config file, started by name:

~/.devgate/devgate.yml
version: 3
agent:
  authtoken: <your-authtoken>
endpoints:
  - name: my-app
    url: https://your-dev-domain.devgate-free.run
    upstream:
      url: 80
$ devgate start my-app

Keep the terminal open: the endpoint is online for as long as the agent runs.

To open it on a phone, press Ctrl+S in that terminal: the agent shows the URL as a QR code to scan. Esc goes back to the request log. See the agent CLI for its other keys.

Secure your endpoint

A public URL is public. One flag makes the edge check every request before it reaches your machine:

  • --basic-auth "admin:a-long-password" — ask for a username and password (basic-auth, free on every plan).
  • --cidr-allow 203.0.113.7/32 — let in only your IP (restrict-ips).
  • --verify-webhook github --verify-webhook-secret … — only requests the provider signed (verify-webhook).
  • --traffic-policy-file policy.yaml — anything else, such as a rate limit.

restrict-ips, verify-webhook and rate-limit cost Traffic Policy units, which the Free plan doesn't include.

See what came in

Every request and response is in the dashboard's Traffic Inspector, and on http://127.0.0.1:4040 while the agent runs — replay one to re-send a webhook without triggering it again.