/localtunnel

Command to create public tunnel to a local web server

Primary LanguagePython

localtunnel -- instant public tunnel for local web servers

Dependencies: Ruby (with libopenssl) and Rubygems.  A public key.
   Type "sudo apt-get install ruby ruby1.8-dev rubygems1.8 libopenssl-ruby"
   to satisfy dependencies.
   Run "ssh-keygen" if you have never made a public key.

Install: sudo gem install localtunnel 
    or "git clone http://github.com/progrium/localtunnel.git" for source.

Usage: localtunnel [options] <localport>
  -k, --key FILE    upload a public key for authentication

localtunnel is a client to a free and open source reverse tunneling service 
made specifically for web traffic. It's intended to be used to temporarily 
expose local web servers to the greater Internet for debugging, unit tests, 
demos, etc.   


This is how you make your local port 8080 public:

  $ localtunnel 8080
  Port 8080 is now publicly accessible from http://8bv2.localtunnel.com ...

Using localtunnel is comparable to using SSH reverse/remote port forwarding on 
a remote host that has GatewayPorts enabled, but without all the configuration
or the need of a host. The localtunnel command works with a server component
that is running on localtunnel.com, which is provided as a free service.

If have never run localtunnel before, you'll need to upload a public key to
authenticate. You do this once:

  $ localtunnel -k ~/.ssh/id_rsa.pub 8080

After that, you shouldn't have to use -k again.

localtunnel can be started before or after the local web server.   It tunnels
through to the url given in that status message "publicly accessible from..." 
for as long as the command is running.  The tunnel is 
closed if the command exits.