ngrok Agent Changelog

ngrok Agent 3.1.0 - [2022-09-14]

ngrok Agent 3.0.7 - [2022-08-17]

ngrok Agent 3.0.6 - [2022-06-30]

ngrok Agent 3.0.5 - [2022-06-22]

ngrok Agent 3.0.4 - [2022-05-27]

ngrok Agent 3.0.3 - [2022-04-26]

ngrok Agent 3.0.2 - [2022-04-11]

ngrok Agent 3.0.1 - [2022-04-04]

ngrok Agent 3.0.0 - [2022-03-28]

For more information about upgrading from previous versions of the agent to v3.0, see our upgrade guide.

Changes in 2.3

If asked to forward to port 443, ngrok will now automatically forward HTTPS traffic instead of HTTP. This change would only affect you if you previously ran a server accepting unencrypted HTTP on port 443. To workaround this, you may specify an explicit http URL if you need the old behavior: ngrok http http://localhost:443.

If run under sudo, the ngrok agent previously consulted the sudo-ing user's home directory file when looking for its default configuration file. It now consults the home directory of the assumed user. To workaround this, you may specify an explicit configuration file location with the -config option.

Changes in 2.2

The ngrok agent API no longer accepts application/x-www-form-urlencoded request bodies. In practice, this only affects the /api/requests/http/:id endpoint because posting to the /api/tunnels endpoint with this type of request body previously caused ngrok to crash.

This change was made to help protect against maliciously crafted web pages that could cause a user to inadvertently interact with their local ngrok API.

Changes in 2.1

Behavior changes for http and tls tunnels defined in the configuration file or started via the API that do not have a subdomain or hostname property.

tunnels:
  webapp:
  proto: http
  addr: 80

Given this example tunnel configuration, behavior will change in the following ways.

Old Behavior

Starts a tunnel using the name of the tunnel as the subdomain resulting in the URL http://webapp.ngrok.io

New Behavior

Starts a tunnel with a random subdomain, for example a URL like http://d95211d2.ngrok.io

How to keep the old behavior

Add a subdomain property with the same name as the tunnel:

tunnels:
  webapp:
  proto: http
  addr: 80
  subdomain: webapp

This behavior changed in order to make it possible to launch tunnels with random domains. This was preventing the use of the configuration file and agent API to free tier users.