The best option is definitely just paying for a service that lets you keep a reserved address (Ngrok, Pagekite, etc.), or running a self-hosted version on your own resource (VPS, Raspberry Pi, etc.). The last time I searched around for a truly "free" and all-in-one option, I came up short (Pagekite is paid BTW, but has a free trial period).
However, if you are desperate for a truly free solution, I actually came up with a workaround that I use with Ngrok; proxy requests to the dynamic Ngrok URL through a static Google Cloud Functions URL. This works, even on GCP's perpetual "free" tier. I've written up this approach here, and you can find the code here.
The best option is definitely just paying for a service that lets you keep a reserved address (Ngrok, Pagekite, etc.), or running a self-hosted version on your own resource (VPS, Raspberry Pi, etc.). The last time I searched around for a truly "free" and all-in-one option, I came up short (Pagekite is paid BTW, but has a free trial period).
However, if you are desperate for a truly free solution, I actually came up with a workaround that I use with Ngrok; proxy requests to the dynamic Ngrok URL through a static Google Cloud Functions URL. This works, even on GCP's perpetual "free" tier. I've written up this approach here, and you can find the code here.
Nice hack! 👌