Hacker News new | past | comments | ask | show | jobs | submit login

As is usually mentioned in reference to this, the same can be achieved on the command line with:

`ssh user@yourserver.com -R [remoteport]:localhost:[localport]`

Where 'yourserver.com' is a server you own, such that accessing 'http://yourserver.com:[remoteport]' tunnels to 'http://localhost:[localport]'.




As my use case for 7-8 years demanded reverse tunnelling daily during development, and last 2 me switching to ngrok, let me just point out that it's not "the same".

Giving you full benefit of doubt that you just haven't fully explored ngrok, instead of just listing the features here myself, I'll just urge you to check it out in more detail.

It's awesome little tool, and the author has always been enthusiastically responsive through #ngrok on freenode.


I use ngrok a fair bit, often for handling OAuth and other webhooks. One really nice feature is the ability to record, inspect, and play back incoming HTTP requests. It's not space magic or anything but it's a really handy, convenient tool.


Minor nitpick: you want to allow other clients to connect too other then yourserver, so enable GatewayPorts in sshd_config and specify * as bind address for -R.


This approach, at least for my setup, would require opening up a port in my server's firewall as well.

The other benefit is that ngrok provides a nice web interface so you can watch and inspect web requests as they go by.


Don't forget HTTPS support. Great if you're developing something like a Facebook app where you have to give them a HTTPS endpoint to hit.


ngrok's ability to replay requests is something you can't accomplish with this. (Probably one of many other features)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: