Earlier quoted context omitted.
If you don't have a static IP that's internet-accessible, and that which you can arbitrarily point your domain to, how would you go about doing this? Some, if not most, services won't allow you to redirect cold to an IP address, they want some domain of sorts. There are alternatives, but I think "setup a proper dev environment" alone misses the point of what ngrok does. The 'easiest' alternative I've tried before was…
i tend to fire up reverse port forwarding with ssh + special subdomain + ask nginx to proxy to the reverse-forwarded port on that special subdomain to resolve this, obviously you'd still need a static and public ip somewhere, but any ssh-accessible host will now do. it's a bit of setup, but works quite well once set. does _not_ provide the features ngrok does of replay, etc, but at least it's 100% your own infrastruc…
This is probably a good thing for security. But for the use case of development against third party services, it seems like an unnecessary constraint.