Due to having to expose local developments (in progress) publicly to interact with other third party services or to show them to other programmers I usually use ngrok in the free tier… Which is an absolute mess because it changes the URL on each command (nevertheless it works out of the box and very fast)…
I have also tried Localtunnel which it’s great but hangs a lot. Anybody knows any self-hosted solution that giving a domain of my own can I expose via tunnels in subdomains?
You could use caddy to reverse proxy your apps. You can either get a domain or use something free like duckdns and use subdomains
i have heard good things about https://github.com/pgrok/pgrok . also they have a link to huge list of various tunnels - maybe you will find something you need there.
Could Tailscale work? You just need to host your own server using headscale if you don’t want to use their hosted solution.
I did something similar in my homelab using frp and traefik. Traefik picks up configuration in its normal way and handles all inbound traffic, doing SSL termination locally even. frpc (client) sits next to Traefik, dials out to my frps (server) machines, and passes incoming connections to Traefik via the proxy protocol. I point my DNS at the frps machines in the cloud and they are configured to let the clients connect to them and take over basically any port they want.
I think there are ways to get frp to do basically exactly what you want, but I use it for a slightly different case.
FRP is the most popular: https://github.com/fatedier/frp
Why not just let your local server through the firewall? Alternatively, I’ve used ssh -R for something like this before.
I’d quite like an answer to this too for work reasons.