A fantastic open-source javascript alternative is localtunnel (https://github.com/localtunnel/localtunnel). I've used this more often than ngrok after ngrok became a paid service.
Ngrok has a paid tier, but the main service is still free.
yeah im in the same boat.
ngrok is open source as well: https://github.com/inconshreveable/ngrok
I've used localtunnel before but due to some misbehavior on windows (which i can't remember anymore), switched to ngrok.
Unless you setup your own ngrok server, you cannot use ngrok1, and ngrok2 is not open source