Skip to content

Commit

Permalink
Improve README documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
inconshreveable committed Jun 29, 2013
1 parent 54751ce commit 7825238
Showing 1 changed file with 21 additions and 10 deletions.
31 changes: 21 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit 7825238

Please sign in to comment.