内网穿透 https://github.com/boyrobot/ngrok

inconshreveable 5e4f35d3af Merge pull request #79 from vincentbernat/fix/rcrowley-go-metrics 11 years ago
assets f136b8486e Adding word wrapping to path for web dashboard. 12 years ago
docs c345a8bb74 Type in -tlsCert example. It should be -tlscrt (without the 'e') 11 years ago
src b3d4e33790 Switch back to rcrowley/go-metrics 11 years ago
.gitignore 824a4b10ab add support for a yaml-based ngrok configuration file. add full support for running multiple configured tunnels from the configuration file. modify CLI to support ngrok commands. remove snakeoil CA from release builds of ngrok client. add support for dialing to an HTTP proxy via HTTPS. Use http_proxy environment variable when none is specified. ngrokd now honors the new protocol and proplery populates ReqId in NewTunnel messages. ngrokd TLS configuration options are now command line switches instead of environment variables. 12 years ago
.travis.yml fbcde8774b add basic travis.yml 12 years ago
CONTRIBUTORS 1088ec6c25 strip email 11 years ago
LICENSE 1f7f65edf5 add license 12 years ago
Makefile bacb4d2507 Merge branch 'master' of github.com:inconshreveable/ngrok 11 years ago
README.md d08b89020f update development documentation to reflect changes to the ngrok protocol 12 years ago

README.md

ngrok - Introspected tunnels to localhost (homepage)

"I want to securely expose a web server to the internet and capture all traffic for detailed inspection and replay"

What is ngrok?

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.

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. Some premium features are only available by creating an account on ngrok.com. If you need them, create an account on ngrok.com.

Developing on ngrok

ngrok developer's guide