Show HN: ngrok – secure introspectable tunnels to localhost
ngrok.com
ngrok.com
If so, the very first thing on the page should say: "Inspect the traffic to your web server with our free service", and then provide a little more detail like "We provide the public website. You just run our tool to connect your development site to us and watch the traffic flow in."
- You don't need to have access to a private server to use it.
- I've taken care of setting up SSL for you. So you can run your local server with just http but still have the entire public connection portion be encrypted.
- ngrok captures all of the http traffic over the tunnel, analyzes it and displays a local web interface for you to inspect the traffic.
- ngrok allows you to pick any request that happened over the tunnel and replay it to your local server. This is immensely useful for building webhook consumers.
- ngrok automatically reconnects if your internet connection is intermittent.
- It's written in Go so I can distribute it as a binary for all major platforms with zero dependenices.
I'll work on improving the copy. Thanks for the feedback!
One path would be a list like you provide above, a sort of "your situation / your solution" approach, something like:
You ... are developing a website/service your local machine
You ... want to allow friends to test from outside your LAN
BUT:
You ... don't want to open a firewall hole to your DEV machine
You ... want secure connections, but don't want to setup a valid cert
You ... don't want to bother with your own reverse proxy
AND
You ... do want an inspectable, replayable copy of all traffic
That's where we come in!
obviously my text is clunky, but that sort of explanation would help me understand what "hassle" you are helping me avoid.
If there is a bandwidth or number of connections limit per domain/user (there should be, IMO), it should be in the front page.
There should probably be a bandwidth or connection cap, but I'm reticent to set one before I know what typical usage looks like. I would only want to set one up to prevent abuse of the service.
The documentation says I'll only need this authtoken once, and upon subsequent calls, it'll read it from ~/.ngrok. But on my machine, no ~/.ngrok file was created and I need the authtoken param every time. Bug?
It's possible that in the future there might be additional new features worth charging for. If necessary, a small cost may be added for very-high bandwidth usage of the service, but as long as I'm under my network usage quota, that shouldn't be necessary.
I like how simple your API is. The HTTP auth feature is also a great idea.
I run a distributed engineering team for a startup and this could actually be useful for when people share stuff with each other. Currently, we tend to just deploy to a "hack server", but there's often some local data & setup that is annoying to reproduce on a server, especially for an experiment. This could let people share their stuff more easily with each other.
I also like the idea of using this to share a locally-running IPython Notebook instance to share code with someone else.
You might want to consider hosting the apps on a separate domain than your own to avoid some security gotchas. github did so recently and explains the rationale at: https://github.com/blog/1452-new-github-pages-domain-github-...
Great work!
One thing I noticed, when I signed in with Github, your site didn't use my primary email address.
Are you looking for open source contributors?
P.S. I hope you're not retaining all the data that goes through your server. You don't want someone getting all snowdenny on you.
Lastly, the code is open source at github.com/inconshreveable/ngrok if you'd like to audit it.
Or is it a "y" sound like "nguyen"...?
Thanks.