Browse Source

Improve README documentation

inconshreveable 12 years ago
parent
commit
7825238a5f
1 changed files with 21 additions and 10 deletions
  1. 21 10
      README.md

+ 21 - 10
README.md

@@ -1,26 +1,37 @@
-# ngrok ([https://ngrok.com](https://ngrok.com))
+# ngrok - Introspected tunnels to localhost ([homepage](https://ngrok.com))
+### "I want to securely expose a web server to the internet and capture all traffic for detailed inspection and reploy"
 ![](https://ngrok.com/static/img/overview.png)
 
 ## What is ngrok?
-ngrok is a tool that makes it easier to develop networked services (HTTP/TCP)
-It is a man-in-the-middle proxy server that you run locally on your development box. It allows you to do the following things:
+ngrok is a reverse proxy that creates a secure tunnel between from a public endpoint to a locally running web service.
+ngrok captures and analyzes all traffic over the tunnel for later inspection and replay.
 
-- Inspect all http requests/responses sent to/from the proxied application
-- Replay any previously observed http request to the proxied application
-- Expose a local http server to the internet on a subdomain of ngrok.com
-- Expose a local tcp server to the internet on a random port on ngrok.com
+## What can I do with ngrok?
+- Expose any http service behind a NAT or firewall to the internet on a subdomain of ngrok.com
+- Expose any tcp service behind a NAT or firewall to the internet on a random port of ngrok.com
+- Inspect all http requests/resposes that are transmitted over the tunnel
+- Replay any request that was transmitted over the tunnel
+
+
+## What is ngrok useful for?
+- Temporarily sharing a website that is only running on your development machine
+- Demoing an app at a hackathon without deploying
+- Developing any services which consume webhooks (HTTP callbacks) by allowing you to replay those requests
+- Debugging and understanding any web service by inspecting the HTTP traffic
+- Running networked services on machines that are firewalled off from the internet
 
 
 ## Downloading and installing ngrok
-ngrok has _no_ runtime dependencies. Just download a single binary for your platform and run it.
+ngrok has _no_ runtime dependencies. Just download a single binary for your platform and run it. Some premium features
+are only available by creating an account on ngrok.com. If you need them, [create an account on ngrok.com](https://ngrok.com/signup).
 
 - [Linux](https://dl.ngrok.com/linux_386/ngrok.zip)
 - [Mac OSX](https://dl.ngrok.com/darwin_386/ngrok.zip)
 - [Windows](https://dl.ngrok.com/windows_386/ngrok.zip)
 
 
-## Compiling ngrok
-Binaries get placed in ./bin
+## Developing on ngrok
+### Compiling ngrok
 
     git clone git@github.com:inconshreveable/ngrok.git
     cd ngrok && make